SimpleSchemaGenerator 0.12.6__tar.gz → 0.12.8__tar.gz
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.
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/.github/workflows/CICD.yml +2 -2
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/PKG-INFO +2 -5
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/pyproject.toml +19 -4
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Common/Error.py +9 -10
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Common/Location.py +9 -9
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Common/Region.py +9 -9
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/EntryPoint.py +4 -4
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Errors.py +3 -3
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Common/Cardinality.py +19 -20
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Common/Element.py +6 -5
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Common/Metadata.py +8 -8
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Common/UniqueNameTrait.py +4 -5
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Common/Visibility.py +2 -2
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Expressions/Expression.py +3 -3
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Expressions/ListExpression.py +3 -3
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Expressions/TupleExpression.py +7 -7
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Statements/ExtensionStatement.py +10 -10
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Statements/ItemStatement.py +8 -8
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Statements/RootStatement.py +4 -4
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Statements/Statement.py +1 -1
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Statements/StructureStatement.py +8 -8
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Types/Impl/CreateTypeFromPythonAnnotation.py +34 -23
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Types/Impl/TypeImpl.py +7 -8
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Types/Type.py +53 -49
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/BooleanTypeDefinition.py +4 -4
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/DateTimeTypeDefinition.py +3 -3
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/DateTypeDefinition.py +3 -3
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/DirectoryTypeDefinition.py +5 -5
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/DurationTypeDefinition.py +3 -3
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/EnumTypeDefinition.py +44 -37
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/FilenameTypeDefinition.py +7 -7
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/GuidTypeDefinition.py +3 -3
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/IntegerTypeDefinition.py +9 -9
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/NumberTypeDefinition.py +9 -9
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/StringTypeDefinition.py +10 -9
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/StructureTypeDefinition.py +10 -10
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/TimeTypeDefinition.py +3 -3
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/TupleTypeDefinition.py +11 -11
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/TypeDefinition.py +35 -34
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/UriTypeDefinition.py +14 -16
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/VariantTypeDefinition.py +30 -30
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/Elements/Common/ParseIdentifier.py +11 -12
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/Elements/Statements/ParseIncludeStatement.py +20 -20
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/Elements/Statements/ParseItemStatement.py +6 -6
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/Elements/Statements/ParseStructureStatement.py +16 -14
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/Elements/Types/ParseIdentifierType.py +11 -11
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/Elements/Types/ParseTupleType.py +6 -6
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/Elements/Types/ParseType.py +13 -12
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/Elements/Types/ParseVariantType.py +9 -11
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Parse.py +150 -149
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Visitors/ElementVisitor.py +14 -16
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/__init__.py +1 -1
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Common/Error_UnitTest.py +2 -2
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Common/Cardinality_UnitTest.py +4 -4
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Common/Metadata_UnitTest.py +2 -2
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Expressions/TupleExpression_UnitTest.py +2 -2
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Types/TypeDefinitions/EnumTypeDefinition_UnitTest.py +6 -6
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Types/TypeDefinitions/TupleTypeDefinition_UnitTest.py +1 -1
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Types/TypeDefinitions/TypeDefinition_UnitTest.py +19 -19
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Types/TypeDefinitions/VariantTypeDefinition_UnitTest.py +2 -2
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Types/Type_UnitTest.py +11 -12
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Parse/ANTLR/Grammar/Elements/Common/ParseIdentifier_UnitTest.py +3 -3
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Parse/ANTLR/Parse_UnitTest.py +8 -8
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/TestHelpers.py +9 -9
- simpleschemagenerator-0.12.8/uv.lock +650 -0
- simpleschemagenerator-0.12.6/uv.lock +0 -785
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/.copier-answers.yml +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/.github/CODEOWNERS +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/.github/ISSUE_TEMPLATE/custom.md +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/.github/actions/release_impl/action.yml +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/.github/pull_request_template.md +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/.github/release_sources.yaml +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/.github/workflows/CICD_impl.yml +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/.github/workflows/codeql.yml +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/.gitignore +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/.pre-commit-config.yaml +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/.python-version +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/CODE_OF_CONDUCT.md +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/CONTRIBUTING.md +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/DEVELOPMENT.md +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/GOVERNANCE.md +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/LICENSE +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/MAINTAINERS.md +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/README.md +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/SECURITY.md +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/minisign_key.pub +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/AutoGitSemVer.yaml +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Common/__init__.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/SampleSchemas/Cardinality.SimpleSchema +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/SampleSchemas/Empty.SimpleSchema +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/SampleSchemas/Expressions.SimpleSchema +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/SampleSchemas/Extensions.SimpleSchema +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/SampleSchemas/Import.SimpleSchema +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/SampleSchemas/Miscellaneous.SimpleSchema +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/SampleSchemas/Structures.SimpleSchema +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/SampleSchemas/Tabs.SimpleSchema +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/SampleSchemas/Tuples.SimpleSchema +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/SampleSchemas/Variants.SimpleSchema +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Common/TerminalElement.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Common/__init__.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Expressions/BooleanExpression.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Expressions/IntegerExpression.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Expressions/NoneExpression.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Expressions/NumberExpression.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Expressions/StringExpression.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Expressions/__init__.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Statements/__init__.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Types/Impl/__init__.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Types/TypeDefinitions/__init__.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/Types/__init__.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Elements/__init__.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/GeneratedCode/SimpleSchema.interp +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/GeneratedCode/SimpleSchema.tokens +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/GeneratedCode/SimpleSchemaLexer.interp +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/GeneratedCode/SimpleSchemaLexer.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/GeneratedCode/SimpleSchemaLexer.tokens +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/GeneratedCode/SimpleSchemaParser.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/GeneratedCode/SimpleSchemaVisitor.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/GeneratedCode/__init__.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/Elements/Common/__init__.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/Elements/Statements/__init__.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/Elements/Types/__init__.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/Elements/__init__.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/SimpleSchema.g4 +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/__init__.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/Grammar/antlr-4.13.1-complete.jar +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Parse/ANTLR/__init__.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Parse/__init__.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/Visitors/__init__.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Schema/__init__.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/py.typed +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Common/Location_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Common/Region_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/EntryPoint_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Errors_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Common/Element_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Common/TerminalElement_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Common/UniqueNameTrait_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Common/Visibility_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Expressions/BooleanExpression_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Expressions/Expression_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Expressions/IntegerExpression_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Expressions/ListExpression_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Expressions/NoneExpression_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Expressions/NumberExpression_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Expressions/StringExpression_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Statements/ExtensionStatement_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Statements/ItemStatement_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Statements/RootStatement_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Statements/Statement_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Statements/StructureStatement_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Types/TypeDefinitions/BooleanTypeDefinition_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Types/TypeDefinitions/DateTimeTypeDefinition_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Types/TypeDefinitions/DateTypeDefinition_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Types/TypeDefinitions/DirectoryTypeDefinition_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Types/TypeDefinitions/DurationTypeDefinition_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Types/TypeDefinitions/FilenameTypeDefinition_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Types/TypeDefinitions/GuidTypeDefinition_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Types/TypeDefinitions/IntegerTypeDefinition_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Types/TypeDefinitions/NumberTypeDefinition_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Types/TypeDefinitions/StringTypeDefinition_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Types/TypeDefinitions/StructureTypeDefinition_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Types/TypeDefinitions/TimeTypeDefinition_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Elements/Types/TypeDefinitions/UriTypeDefinition_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Parse/ANTLR/Grammar/Elements/Statements/ParseIncludeStatement_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Parse/ANTLR/Grammar/Elements/Statements/ParseItemStatement_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Parse/ANTLR/Grammar/Elements/Statements/ParseStructureStatement_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Parse/ANTLR/Grammar/Elements/Types/ParseIdentifierType_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Parse/ANTLR/Grammar/Elements/Types/ParseTupleType_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Parse/ANTLR/Grammar/Elements/Types/ParseType_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Parse/ANTLR/Grammar/Elements/Types/ParseVariantType_UnitTest.py +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Parse/ANTLR/__snapshots__/Parse_UnitTest.ambr +0 -0
- {simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/tests/Schema/Visitors/ElementVisitor_UnitTest.py +0 -0
|
@@ -26,8 +26,8 @@ jobs:
|
|
|
26
26
|
with:
|
|
27
27
|
# These values can be customized for your specific requirements.
|
|
28
28
|
operating_system_json_string: "[ 'macos-latest', 'ubuntu-latest', 'windows-latest' ]"
|
|
29
|
-
python_version_json_string: "['3.13'
|
|
30
|
-
python_package_version: "3.
|
|
29
|
+
python_version_json_string: "['3.13']"
|
|
30
|
+
python_package_version: "3.13"
|
|
31
31
|
coverage_badge_gist_id: "f15146b1b8fdc0a5d45ac0eb786a84f7"
|
|
32
32
|
coverage_badge_gist_username: "davidbrownell"
|
|
33
33
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: SimpleSchemaGenerator
|
|
3
|
-
Version: 0.12.
|
|
3
|
+
Version: 0.12.8
|
|
4
4
|
Summary: Add your description here
|
|
5
5
|
Project-URL: Homepage, https://github.com/davidbrownell/SimpleSchemaGenerator
|
|
6
6
|
Project-URL: Documentation, https://github.com/davidbrownell/SimpleSchemaGenerator
|
|
@@ -12,11 +12,8 @@ Classifier: Operating System :: MacOS
|
|
|
12
12
|
Classifier: Operating System :: Microsoft :: Windows
|
|
13
13
|
Classifier: Operating System :: POSIX :: Linux
|
|
14
14
|
Classifier: Programming Language :: Python
|
|
15
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
18
15
|
Classifier: Programming Language :: Python :: 3.13
|
|
19
|
-
Requires-Python: >=3.
|
|
16
|
+
Requires-Python: >=3.13
|
|
20
17
|
Requires-Dist: antlr-denter>=1.3.1
|
|
21
18
|
Requires-Dist: dbrownell-common>=0.14.6
|
|
22
19
|
Requires-Dist: emoji>=2.14.1
|
|
@@ -5,7 +5,7 @@ readme = "README.md"
|
|
|
5
5
|
authors = [
|
|
6
6
|
{ name = "David Brownell", email = "github@DavidBrownell.com" }
|
|
7
7
|
]
|
|
8
|
-
requires-python = ">= 3.
|
|
8
|
+
requires-python = ">= 3.13"
|
|
9
9
|
dependencies = [
|
|
10
10
|
"antlr-denter>=1.3.1",
|
|
11
11
|
"dbrownell-common>=0.14.6",
|
|
@@ -19,9 +19,6 @@ classifiers = [
|
|
|
19
19
|
"Operating System :: POSIX :: Linux",
|
|
20
20
|
"Programming Language :: Python",
|
|
21
21
|
"Programming Language :: Python :: 3.13",
|
|
22
|
-
"Programming Language :: Python :: 3.12",
|
|
23
|
-
"Programming Language :: Python :: 3.11",
|
|
24
|
-
"Programming Language :: Python :: 3.10",
|
|
25
22
|
]
|
|
26
23
|
|
|
27
24
|
[project.license]
|
|
@@ -70,17 +67,35 @@ extend-exclude = ["src/SimpleSchemaGenerator/Schema/Parse/ANTLR/GeneratedCode"]
|
|
|
70
67
|
[tool.ruff.lint]
|
|
71
68
|
exclude = ["tests/**"]
|
|
72
69
|
|
|
70
|
+
select = ["ALL"]
|
|
71
|
+
|
|
73
72
|
ignore = [
|
|
74
73
|
"ANN002", # Missing type annotation for `*args`
|
|
75
74
|
"ANN003", # Missing type annotation for `**kwargs`
|
|
76
75
|
"BLE001", # Do not catch blind exception: `Exception`
|
|
77
76
|
"COM812", # Trailing comma missing
|
|
77
|
+
"D100", # Missing docstring in public module
|
|
78
|
+
"D101", # Missing docstring in public class
|
|
79
|
+
"D102", # Missing docstring in public method
|
|
80
|
+
"D103", # Missing docstring in public function
|
|
81
|
+
"D104", # Missing docstring in public package
|
|
82
|
+
"D105", # Missing docstring in magic method
|
|
83
|
+
"D106", # Missing docstring in public nested class
|
|
84
|
+
"D107", # Missing docstring in `__init__` method
|
|
78
85
|
"D202", # No blank lines allowed after function docstring
|
|
86
|
+
"D400", # First line should end with a period
|
|
87
|
+
"D415", # First line should end with a period, question mark, or exclamation point
|
|
79
88
|
"E501", # Line too long
|
|
89
|
+
"FIX002", # Line contains TODO, consider resolving the issue
|
|
80
90
|
"I001", # Import block is un-sorted or un-formatted
|
|
81
91
|
"N802", # Function name `xxx` should be lowercase
|
|
82
92
|
"N999", # Invalid module name
|
|
83
93
|
"S101", # Use of assert detected
|
|
94
|
+
"TC006", # Add quotes to type expression in `typing.cast()`
|
|
95
|
+
"TD002", # Missing author in TODO
|
|
96
|
+
"TD003", # Missing issue link for this TODO
|
|
97
|
+
"TRY002", # Create your own exception
|
|
98
|
+
"TRY300", # Consider moving this statement to an `else` block
|
|
84
99
|
"UP032", # Use f-string instead of `format` call
|
|
85
100
|
]
|
|
86
101
|
|
|
@@ -22,7 +22,6 @@ from enum import Enum
|
|
|
22
22
|
from functools import singledispatch, singledispatchmethod
|
|
23
23
|
from io import StringIO
|
|
24
24
|
from pathlib import Path
|
|
25
|
-
from typing import Optional, Type as PythonType
|
|
26
25
|
|
|
27
26
|
from .Location import Location
|
|
28
27
|
from .Region import Region
|
|
@@ -66,10 +65,10 @@ class Error:
|
|
|
66
65
|
# ----------------------------------------------------------------------
|
|
67
66
|
@Create.register
|
|
68
67
|
@classmethod
|
|
69
|
-
def _(
|
|
68
|
+
def _( # noqa: ANN206
|
|
70
69
|
cls,
|
|
71
70
|
ex: Exception,
|
|
72
|
-
region:
|
|
71
|
+
region: Region | None = None,
|
|
73
72
|
*,
|
|
74
73
|
include_callstack: bool = True,
|
|
75
74
|
): # -> "Error":
|
|
@@ -130,7 +129,7 @@ class Error:
|
|
|
130
129
|
|
|
131
130
|
# ----------------------------------------------------------------------
|
|
132
131
|
@dataclass
|
|
133
|
-
class
|
|
132
|
+
class SimpleSchemaGeneratorError(Exception):
|
|
134
133
|
"""Exception raised by functionality in SimpleSchemaGenerator."""
|
|
135
134
|
|
|
136
135
|
# ----------------------------------------------------------------------
|
|
@@ -142,7 +141,7 @@ class SimpleSchemaGeneratorException(Exception):
|
|
|
142
141
|
self,
|
|
143
142
|
error: Error,
|
|
144
143
|
) -> None:
|
|
145
|
-
super(
|
|
144
|
+
super().__init__(str(error))
|
|
146
145
|
|
|
147
146
|
object.__setattr__(
|
|
148
147
|
self,
|
|
@@ -164,8 +163,8 @@ class SimpleSchemaGeneratorException(Exception):
|
|
|
164
163
|
# ----------------------------------------------------------------------
|
|
165
164
|
def CreateErrorType(
|
|
166
165
|
message_template: str,
|
|
167
|
-
**args:
|
|
168
|
-
) ->
|
|
166
|
+
**args: type,
|
|
167
|
+
) -> type[Error]:
|
|
169
168
|
dynamic_fields_class = make_dataclass(
|
|
170
169
|
"DynamicFields",
|
|
171
170
|
args.items(),
|
|
@@ -182,8 +181,8 @@ def CreateErrorType(
|
|
|
182
181
|
message: str = field(init=False)
|
|
183
182
|
|
|
184
183
|
# ----------------------------------------------------------------------
|
|
185
|
-
def __post_init__(self, *args, **kwargs):
|
|
186
|
-
super(
|
|
184
|
+
def __post_init__(self, *args, **kwargs) -> None:
|
|
185
|
+
super().__post_init__(*args, **kwargs)
|
|
187
186
|
|
|
188
187
|
object.__setattr__(
|
|
189
188
|
self,
|
|
@@ -202,7 +201,7 @@ def CreateErrorType(
|
|
|
202
201
|
# ----------------------------------------------------------------------
|
|
203
202
|
# ----------------------------------------------------------------------
|
|
204
203
|
@singledispatch
|
|
205
|
-
def _ArgToString(value) -> str:
|
|
204
|
+
def _ArgToString(value: object) -> str:
|
|
206
205
|
return str(value)
|
|
207
206
|
|
|
208
207
|
|
|
@@ -27,11 +27,11 @@ class Location:
|
|
|
27
27
|
column: int
|
|
28
28
|
|
|
29
29
|
# ----------------------------------------------------------------------
|
|
30
|
-
def __post_init__(self):
|
|
30
|
+
def __post_init__(self) -> None:
|
|
31
31
|
if self.line < 1:
|
|
32
|
-
raise ValueError(f"Invalid line value: {self.line}")
|
|
32
|
+
raise ValueError(f"Invalid line value: {self.line}") # noqa: EM102, TRY003
|
|
33
33
|
if self.column < 1:
|
|
34
|
-
raise ValueError(f"Invalid column value: {self.column}")
|
|
34
|
+
raise ValueError(f"Invalid column value: {self.column}") # noqa: EM102, TRY003
|
|
35
35
|
|
|
36
36
|
# ----------------------------------------------------------------------
|
|
37
37
|
def __str__(self) -> str:
|
|
@@ -54,22 +54,22 @@ class Location:
|
|
|
54
54
|
return 0
|
|
55
55
|
|
|
56
56
|
# ----------------------------------------------------------------------
|
|
57
|
-
def __eq__(self, other) -> bool:
|
|
57
|
+
def __eq__(self, other: object) -> bool:
|
|
58
58
|
return isinstance(other, Location) and self.__class__.Compare(self, other) == 0
|
|
59
59
|
|
|
60
|
-
def __ne__(self, other) -> bool:
|
|
60
|
+
def __ne__(self, other: object) -> bool:
|
|
61
61
|
return not isinstance(other, Location) or self.__class__.Compare(self, other) != 0
|
|
62
62
|
|
|
63
|
-
def __lt__(self, other) -> bool:
|
|
63
|
+
def __lt__(self, other: object) -> bool:
|
|
64
64
|
return isinstance(other, Location) and self.__class__.Compare(self, other) < 0
|
|
65
65
|
|
|
66
|
-
def __le__(self, other) -> bool:
|
|
66
|
+
def __le__(self, other: object) -> bool:
|
|
67
67
|
return isinstance(other, Location) and self.__class__.Compare(self, other) <= 0
|
|
68
68
|
|
|
69
|
-
def __gt__(self, other) -> bool:
|
|
69
|
+
def __gt__(self, other: object) -> bool:
|
|
70
70
|
return isinstance(other, Location) and self.__class__.Compare(self, other) > 0
|
|
71
71
|
|
|
72
|
-
def __ge__(self, other) -> bool:
|
|
72
|
+
def __ge__(self, other: object) -> bool:
|
|
73
73
|
return isinstance(other, Location) and self.__class__.Compare(self, other) >= 0
|
|
74
74
|
|
|
75
75
|
# ----------------------------------------------------------------------
|
|
@@ -72,8 +72,8 @@ class Region:
|
|
|
72
72
|
# ----------------------------------------------------------------------
|
|
73
73
|
@staticmethod
|
|
74
74
|
def Compare(
|
|
75
|
-
this: "Region",
|
|
76
|
-
that: "Region",
|
|
75
|
+
this: "Region",
|
|
76
|
+
that: "Region",
|
|
77
77
|
) -> int:
|
|
78
78
|
if this.filename != that.filename:
|
|
79
79
|
return -1 if this.filename < that.filename else 1
|
|
@@ -89,22 +89,22 @@ class Region:
|
|
|
89
89
|
return 0
|
|
90
90
|
|
|
91
91
|
# ----------------------------------------------------------------------
|
|
92
|
-
def __eq__(self, other) -> bool:
|
|
92
|
+
def __eq__(self, other: object) -> bool:
|
|
93
93
|
return isinstance(other, Region) and self.__class__.Compare(self, other) == 0
|
|
94
94
|
|
|
95
|
-
def __ne__(self, other) -> bool:
|
|
95
|
+
def __ne__(self, other: object) -> bool:
|
|
96
96
|
return not isinstance(other, Region) or self.__class__.Compare(self, other) != 0
|
|
97
97
|
|
|
98
|
-
def __lt__(self, other) -> bool:
|
|
98
|
+
def __lt__(self, other: object) -> bool:
|
|
99
99
|
return isinstance(other, Region) and self.__class__.Compare(self, other) < 0
|
|
100
100
|
|
|
101
|
-
def __le__(self, other) -> bool:
|
|
101
|
+
def __le__(self, other: object) -> bool:
|
|
102
102
|
return isinstance(other, Region) and self.__class__.Compare(self, other) <= 0
|
|
103
103
|
|
|
104
|
-
def __gt__(self, other) -> bool:
|
|
104
|
+
def __gt__(self, other: object) -> bool:
|
|
105
105
|
return isinstance(other, Region) and self.__class__.Compare(self, other) > 0
|
|
106
106
|
|
|
107
|
-
def __ge__(self, other) -> bool:
|
|
107
|
+
def __ge__(self, other: object) -> bool:
|
|
108
108
|
return isinstance(other, Region) and self.__class__.Compare(self, other) >= 0
|
|
109
109
|
|
|
110
110
|
# ----------------------------------------------------------------------
|
|
@@ -121,7 +121,7 @@ class Region:
|
|
|
121
121
|
if isinstance(location_or_region, Location):
|
|
122
122
|
return self.begin <= location_or_region <= self.end
|
|
123
123
|
|
|
124
|
-
|
|
124
|
+
raise AssertionError(location_or_region) # pragma: no cover
|
|
125
125
|
|
|
126
126
|
# ----------------------------------------------------------------------
|
|
127
127
|
# ----------------------------------------------------------------------
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
# | Distributed under the MIT License.
|
|
5
5
|
# |
|
|
6
6
|
# ----------------------------------------------------------------------
|
|
7
|
-
"""
|
|
7
|
+
"""Example of how to create scripts that can be invoked from the command line once the package is installed."""
|
|
8
8
|
|
|
9
9
|
import sys
|
|
10
10
|
|
|
@@ -19,8 +19,8 @@ from SimpleSchemaGenerator import __version__
|
|
|
19
19
|
class NaturalOrderGrouper(TyperGroup):
|
|
20
20
|
# pylint: disable=missing-class-docstring
|
|
21
21
|
# ----------------------------------------------------------------------
|
|
22
|
-
def list_commands(self, *args, **kwargs): #
|
|
23
|
-
return self.commands.keys()
|
|
22
|
+
def list_commands(self, *args, **kwargs) -> list[str]: # noqa: ARG002
|
|
23
|
+
return list(self.commands.keys())
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
# ----------------------------------------------------------------------
|
|
@@ -45,7 +45,7 @@ def EntryPoint(
|
|
|
45
45
|
# ----------------------------------------------------------------------
|
|
46
46
|
@app.command("Version")
|
|
47
47
|
def Version() -> None:
|
|
48
|
-
"""
|
|
48
|
+
"""Print the version of the package."""
|
|
49
49
|
|
|
50
50
|
sys.stdout.write(__version__)
|
|
51
51
|
|
{simpleschemagenerator-0.12.6 → simpleschemagenerator-0.12.8}/src/SimpleSchemaGenerator/Errors.py
RENAMED
|
@@ -20,7 +20,7 @@ from pathlib import Path
|
|
|
20
20
|
from .Common.Error import CreateErrorType, Region
|
|
21
21
|
|
|
22
22
|
# Convenience imports
|
|
23
|
-
from .Common.Error import
|
|
23
|
+
from .Common.Error import SimpleSchemaGeneratorError # noqa: F401
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
# TODO: Search for 'range' and replace with 'region'
|
|
@@ -32,8 +32,8 @@ from .Common.Error import SimpleSchemaGeneratorException # noqa: F401
|
|
|
32
32
|
# ----------------------------------------------------------------------
|
|
33
33
|
# These errors are defined as strings rather than ErrorType because they only have a beginning
|
|
34
34
|
# Location and not a start and end Location as required by the Region in ErrorType.
|
|
35
|
-
antlr_invalid_opening_token = "Triple-quote delimiters that initiate multiline strings cannot have any content on the same line as the opening token."
|
|
36
|
-
antlr_invalid_closing_token = "Triple-quote delimiters that terminate multiline strings cannot have any content on the same line as the closing token."
|
|
35
|
+
antlr_invalid_opening_token = "Triple-quote delimiters that initiate multiline strings cannot have any content on the same line as the opening token." # noqa: S105
|
|
36
|
+
antlr_invalid_closing_token = "Triple-quote delimiters that terminate multiline strings cannot have any content on the same line as the closing token." # noqa: S105
|
|
37
37
|
antlr_invalid_indentation = "Invalid multiline string indentation."
|
|
38
38
|
|
|
39
39
|
ParseStructureStatementInvalidBase = CreateErrorType("Base types must be identifiers.")
|
|
@@ -15,16 +15,15 @@
|
|
|
15
15
|
|
|
16
16
|
from dataclasses import dataclass, field, InitVar
|
|
17
17
|
from functools import cached_property
|
|
18
|
-
from typing import Any, Optional
|
|
19
18
|
|
|
20
|
-
from dbrownell_Common.InflectEx import inflect
|
|
21
|
-
from dbrownell_Common.Types import override
|
|
19
|
+
from dbrownell_Common.InflectEx import inflect
|
|
20
|
+
from dbrownell_Common.Types import override
|
|
22
21
|
|
|
23
22
|
from .Element import Element
|
|
24
|
-
from
|
|
25
|
-
from
|
|
26
|
-
from
|
|
27
|
-
from
|
|
23
|
+
from SimpleSchemaGenerator.Schema.Elements.Expressions.Expression import Expression
|
|
24
|
+
from SimpleSchemaGenerator.Schema.Elements.Expressions.IntegerExpression import IntegerExpression
|
|
25
|
+
from SimpleSchemaGenerator.Common.Error import Error
|
|
26
|
+
from SimpleSchemaGenerator import Errors
|
|
28
27
|
|
|
29
28
|
|
|
30
29
|
# ----------------------------------------------------------------------
|
|
@@ -32,17 +31,17 @@ from .... import Errors
|
|
|
32
31
|
class Cardinality(Element):
|
|
33
32
|
"""Specifies the minimum and maximum number of times an element can appear within a collection."""
|
|
34
33
|
|
|
35
|
-
min_param: InitVar[
|
|
36
|
-
max_param: InitVar[
|
|
34
|
+
min_param: InitVar[IntegerExpression | None]
|
|
35
|
+
max_param: InitVar[IntegerExpression | None]
|
|
37
36
|
|
|
38
37
|
min: IntegerExpression = field(init=False)
|
|
39
|
-
max:
|
|
38
|
+
max: IntegerExpression | None = field(init=False)
|
|
40
39
|
|
|
41
40
|
# ----------------------------------------------------------------------
|
|
42
41
|
def __post_init__(
|
|
43
42
|
self,
|
|
44
|
-
min_param:
|
|
45
|
-
max_param:
|
|
43
|
+
min_param: IntegerExpression | None,
|
|
44
|
+
max_param: IntegerExpression | None,
|
|
46
45
|
) -> None:
|
|
47
46
|
if min_param is None and max_param is None:
|
|
48
47
|
min_param = IntegerExpression(self.region, 1)
|
|
@@ -56,7 +55,7 @@ class Cardinality(Element):
|
|
|
56
55
|
assert min_param is not None
|
|
57
56
|
|
|
58
57
|
if max_param is not None and max_param.value < min_param.value:
|
|
59
|
-
raise Errors.
|
|
58
|
+
raise Errors.SimpleSchemaGeneratorError(
|
|
60
59
|
Errors.CardinalityInvalidRange.Create(
|
|
61
60
|
max_param.region,
|
|
62
61
|
min_param.value,
|
|
@@ -88,11 +87,11 @@ class Cardinality(Element):
|
|
|
88
87
|
# ----------------------------------------------------------------------
|
|
89
88
|
def Validate(
|
|
90
89
|
self,
|
|
91
|
-
expression_or_value: Expression |
|
|
90
|
+
expression_or_value: Expression | object,
|
|
92
91
|
) -> None:
|
|
93
92
|
# ----------------------------------------------------------------------
|
|
94
93
|
def Impl(
|
|
95
|
-
value:
|
|
94
|
+
value: object,
|
|
96
95
|
) -> None:
|
|
97
96
|
if value is None:
|
|
98
97
|
if self.is_optional:
|
|
@@ -128,13 +127,13 @@ class Cardinality(Element):
|
|
|
128
127
|
|
|
129
128
|
return
|
|
130
129
|
|
|
131
|
-
|
|
130
|
+
if self.is_optional:
|
|
132
131
|
# We don't have enough context to validate the cardinality, but it will be validated
|
|
133
132
|
# at a later time.
|
|
134
133
|
return
|
|
135
134
|
|
|
136
135
|
if isinstance(value, list):
|
|
137
|
-
raise
|
|
136
|
+
raise TypeError(Errors.cardinality_validate_list_not_expected)
|
|
138
137
|
|
|
139
138
|
# ----------------------------------------------------------------------
|
|
140
139
|
|
|
@@ -143,7 +142,7 @@ class Cardinality(Element):
|
|
|
143
142
|
Impl(expression_or_value.value)
|
|
144
143
|
return
|
|
145
144
|
except Exception as ex:
|
|
146
|
-
raise Errors.
|
|
145
|
+
raise Errors.SimpleSchemaGeneratorError(
|
|
147
146
|
Error.Create(
|
|
148
147
|
ex,
|
|
149
148
|
expression_or_value.region,
|
|
@@ -182,7 +181,7 @@ class Cardinality(Element):
|
|
|
182
181
|
# ----------------------------------------------------------------------
|
|
183
182
|
@override
|
|
184
183
|
def _GenerateAcceptDetails(self) -> Element._GenerateAcceptDetailsResultType:
|
|
185
|
-
yield Element._GenerateAcceptDetailsItem("min", self.min)
|
|
184
|
+
yield Element._GenerateAcceptDetailsItem("min", self.min) # noqa: SLF001
|
|
186
185
|
|
|
187
186
|
if self.max is not None:
|
|
188
|
-
yield Element._GenerateAcceptDetailsItem("max", self.max)
|
|
187
|
+
yield Element._GenerateAcceptDetailsItem("max", self.max) # noqa: SLF001
|
|
@@ -14,11 +14,12 @@
|
|
|
14
14
|
"""Contains the Element object"""
|
|
15
15
|
|
|
16
16
|
from abc import ABC
|
|
17
|
+
from collections.abc import Generator
|
|
17
18
|
from dataclasses import dataclass, field
|
|
18
|
-
from typing import
|
|
19
|
+
from typing import Union
|
|
19
20
|
from weakref import ReferenceType as WeakReferenceType
|
|
20
21
|
|
|
21
|
-
from dbrownell_Common.Types import extension
|
|
22
|
+
from dbrownell_Common.Types import extension
|
|
22
23
|
|
|
23
24
|
from SimpleSchemaGenerator.Common.Region import Region
|
|
24
25
|
from SimpleSchemaGenerator.Schema.Visitors.ElementVisitor import ElementVisitor, VisitResult
|
|
@@ -49,7 +50,7 @@ class Element(ABC):
|
|
|
49
50
|
object.__setattr__(self, "_disabled", True)
|
|
50
51
|
|
|
51
52
|
# ----------------------------------------------------------------------
|
|
52
|
-
def Accept(
|
|
53
|
+
def Accept( # noqa: C901
|
|
53
54
|
self,
|
|
54
55
|
visitor: ElementVisitor,
|
|
55
56
|
*,
|
|
@@ -144,7 +145,7 @@ class Element(ABC):
|
|
|
144
145
|
list[WeakReferenceType["Element"]],
|
|
145
146
|
]
|
|
146
147
|
|
|
147
|
-
_GenerateAcceptDetailsResultType = Generator[_GenerateAcceptDetailsItem
|
|
148
|
+
_GenerateAcceptDetailsResultType = Generator[_GenerateAcceptDetailsItem]
|
|
148
149
|
|
|
149
150
|
# ----------------------------------------------------------------------
|
|
150
151
|
@dataclass(frozen=True)
|
|
@@ -152,7 +153,7 @@ class Element(ABC):
|
|
|
152
153
|
children_name: str
|
|
153
154
|
children: list["Element"]
|
|
154
155
|
|
|
155
|
-
_GetAcceptChildrenResultType =
|
|
156
|
+
type _GetAcceptChildrenResultType = _GetAcceptChildrenResult | None
|
|
156
157
|
|
|
157
158
|
# ----------------------------------------------------------------------
|
|
158
159
|
# |
|
|
@@ -15,12 +15,12 @@
|
|
|
15
15
|
|
|
16
16
|
from dataclasses import dataclass, field, InitVar
|
|
17
17
|
|
|
18
|
-
from dbrownell_Common.Types import override
|
|
18
|
+
from dbrownell_Common.Types import override
|
|
19
19
|
|
|
20
20
|
from .Element import Element
|
|
21
21
|
from .TerminalElement import TerminalElement
|
|
22
|
-
from
|
|
23
|
-
from
|
|
22
|
+
from SimpleSchemaGenerator.Schema.Elements.Expressions.Expression import Expression
|
|
23
|
+
from SimpleSchemaGenerator import Errors
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
# ----------------------------------------------------------------------
|
|
@@ -37,8 +37,8 @@ class MetadataItem(Element):
|
|
|
37
37
|
# ----------------------------------------------------------------------
|
|
38
38
|
@override
|
|
39
39
|
def _GenerateAcceptDetails(self) -> Element._GenerateAcceptDetailsResultType:
|
|
40
|
-
yield Element._GenerateAcceptDetailsItem("name", self.name)
|
|
41
|
-
yield Element._GenerateAcceptDetailsItem("expression", self.expression)
|
|
40
|
+
yield Element._GenerateAcceptDetailsItem("name", self.name) # noqa: SLF001
|
|
41
|
+
yield Element._GenerateAcceptDetailsItem("expression", self.expression) # noqa: SLF001
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
# ----------------------------------------------------------------------
|
|
@@ -60,9 +60,9 @@ class Metadata(Element):
|
|
|
60
60
|
for item in items_param:
|
|
61
61
|
key = item.name.value
|
|
62
62
|
|
|
63
|
-
prev_value = items.get(key
|
|
63
|
+
prev_value = items.get(key)
|
|
64
64
|
if prev_value is not None:
|
|
65
|
-
raise Errors.
|
|
65
|
+
raise Errors.SimpleSchemaGeneratorError(
|
|
66
66
|
Errors.MetadataItemDuplicated.Create(
|
|
67
67
|
item.name.region,
|
|
68
68
|
key,
|
|
@@ -80,4 +80,4 @@ class Metadata(Element):
|
|
|
80
80
|
# ----------------------------------------------------------------------
|
|
81
81
|
@override
|
|
82
82
|
def _GetAcceptChildren(self) -> Element._GetAcceptChildrenResultType:
|
|
83
|
-
return Element._GetAcceptChildrenResult("items", list(self.items.values()))
|
|
83
|
+
return Element._GetAcceptChildrenResult("items", list(self.items.values())) # noqa: SLF001
|
|
@@ -14,7 +14,6 @@
|
|
|
14
14
|
"""Contains the UniqueNameTrait object."""
|
|
15
15
|
|
|
16
16
|
from dataclasses import dataclass, field
|
|
17
|
-
from typing import Union
|
|
18
17
|
|
|
19
18
|
|
|
20
19
|
# ----------------------------------------------------------------------
|
|
@@ -23,10 +22,10 @@ class UniqueNameTrait:
|
|
|
23
22
|
"""Trait for Elements that are given an unique name during parsing."""
|
|
24
23
|
|
|
25
24
|
# ----------------------------------------------------------------------
|
|
26
|
-
_unique_name:
|
|
27
|
-
None
|
|
28
|
-
str
|
|
29
|
-
|
|
25
|
+
_unique_name: (
|
|
26
|
+
None # Before NormalizeUniqueName is called
|
|
27
|
+
| str # After NormalizeUniqueName is called
|
|
28
|
+
) = field(init=False, default=None)
|
|
30
29
|
|
|
31
30
|
# ----------------------------------------------------------------------
|
|
32
31
|
@property
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
from dataclasses import dataclass
|
|
17
17
|
from enum import auto, Enum
|
|
18
18
|
|
|
19
|
-
from dbrownell_Common.Types import override
|
|
19
|
+
from dbrownell_Common.Types import override
|
|
20
20
|
|
|
21
21
|
from .TerminalElement import Element, TerminalElement
|
|
22
22
|
|
|
@@ -42,7 +42,7 @@ class VisibilityTrait(Element):
|
|
|
42
42
|
# ----------------------------------------------------------------------
|
|
43
43
|
@override
|
|
44
44
|
def _GenerateAcceptDetails(self) -> Element._GenerateAcceptDetailsResultType:
|
|
45
|
-
yield Element._GenerateAcceptDetailsItem( #
|
|
45
|
+
yield Element._GenerateAcceptDetailsItem( # noqa: SLF001
|
|
46
46
|
"visibility",
|
|
47
47
|
self.visibility,
|
|
48
48
|
)
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
from dataclasses import dataclass
|
|
17
17
|
from typing import Any, ClassVar
|
|
18
18
|
|
|
19
|
-
from
|
|
19
|
+
from SimpleSchemaGenerator.Schema.Elements.Common.Element import Element
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
# ----------------------------------------------------------------------
|
|
@@ -30,6 +30,6 @@ class Expression(Element):
|
|
|
30
30
|
value: Any
|
|
31
31
|
|
|
32
32
|
# ----------------------------------------------------------------------
|
|
33
|
-
def __post_init__(self):
|
|
33
|
+
def __post_init__(self) -> None:
|
|
34
34
|
if self.NAME == "":
|
|
35
|
-
raise Exception(f"NAME must be defined for '{self.__class__.__name__}'.")
|
|
35
|
+
raise Exception(f"NAME must be defined for '{self.__class__.__name__}'.") # noqa: EM102, TRY003
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
from dataclasses import dataclass
|
|
17
17
|
from typing import cast, ClassVar
|
|
18
18
|
|
|
19
|
-
from dbrownell_Common.Types import override
|
|
19
|
+
from dbrownell_Common.Types import override
|
|
20
20
|
|
|
21
21
|
from .Expression import Expression
|
|
22
|
-
from
|
|
22
|
+
from SimpleSchemaGenerator.Schema.Elements.Common.Element import Element
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
# ----------------------------------------------------------------------
|
|
@@ -37,6 +37,6 @@ class ListExpression(Expression):
|
|
|
37
37
|
# ----------------------------------------------------------------------
|
|
38
38
|
@override
|
|
39
39
|
def _GenerateAcceptDetails(self) -> Element._GenerateAcceptDetailsResultType:
|
|
40
|
-
yield Element._GenerateAcceptDetailsItem( #
|
|
40
|
+
yield Element._GenerateAcceptDetailsItem( # noqa: SLF001
|
|
41
41
|
"value", cast(list[Element], self.value)
|
|
42
42
|
)
|
|
@@ -16,11 +16,11 @@
|
|
|
16
16
|
from dataclasses import dataclass
|
|
17
17
|
from typing import ClassVar
|
|
18
18
|
|
|
19
|
-
from dbrownell_Common.Types import override
|
|
19
|
+
from dbrownell_Common.Types import override
|
|
20
20
|
|
|
21
21
|
from .Expression import Expression
|
|
22
|
-
from
|
|
23
|
-
from
|
|
22
|
+
from SimpleSchemaGenerator.Schema.Elements.Common.Element import Element
|
|
23
|
+
from SimpleSchemaGenerator import Errors
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
# ----------------------------------------------------------------------
|
|
@@ -34,17 +34,17 @@ class TupleExpression(Expression):
|
|
|
34
34
|
value: tuple[Expression, ...]
|
|
35
35
|
|
|
36
36
|
# ----------------------------------------------------------------------
|
|
37
|
-
def __post_init__(self):
|
|
37
|
+
def __post_init__(self) -> None:
|
|
38
38
|
if not self.value:
|
|
39
|
-
raise Errors.
|
|
39
|
+
raise Errors.SimpleSchemaGeneratorError(Errors.TupleExpressionEmpty.Create(self.region))
|
|
40
40
|
|
|
41
|
-
super(
|
|
41
|
+
super().__post_init__()
|
|
42
42
|
|
|
43
43
|
# ----------------------------------------------------------------------
|
|
44
44
|
# ----------------------------------------------------------------------
|
|
45
45
|
# ----------------------------------------------------------------------
|
|
46
46
|
@override
|
|
47
47
|
def _GenerateAcceptDetails(self) -> Element._GenerateAcceptDetailsResultType:
|
|
48
|
-
yield Element._GenerateAcceptDetailsItem( #
|
|
48
|
+
yield Element._GenerateAcceptDetailsItem( # noqa: SLF001
|
|
49
49
|
"value", list(self.value)
|
|
50
50
|
)
|