8000 Tags · m31coding/M31.FluentAPI · GitHub
[go: up one dir, main page]

Skip to content

Tags: m31coding/M31.FluentAPI

Tags

v1.11.0

Toggle v1.11.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: documentation comments (#42)

* test: CommentedClass

* feat: get comments from symbol info

* wip: comments

* wip: comments

* feat: comment equality and hash methods

* Test: DocumentationComments (wip)

* test: DocumentationComments

* test: Comments.Parse and Comment.GetLine

* feat: comment transformer (wip)

* test: CommentsTransformer

* refactor: add FluentCommentsParser class

* feat(CommentsGenerator): HandleMethodSymbolInfo

* test(CommentedMethodClass): wip

* feat: CommentedMethodSignature

* feat: inheritdoc

* test: CommentedPropertiesClass

* test: CommentedDefaultNullablyPropertyClass (wip)

* test: CommentedPropertiesClassAdvanced (wip)

* test: CommentedPropertiesClassAdvanced

* refactor: remove FluentMethod property

* test: CommentedCompoundClass

* feat: FluentApiCommentsProvider (wip)

* feat: FluentApiCommentsProvider (wip)

* fix: warning

* fix(CommentsGenerator): distinct single method names

* test: CommentedLambdaCollectionClass

* fix: CommentedCompoundClass test

* fix: remove todo

* feat: FluentApiCommentsProvider (wip)

* test: improve CommentedCompoundClass test

* feat: MethodsToCommentsTemplate

* chore: minor improvements

* feat: FluentApiCommentsProvider (wip)

* test: FluentApiCommentsProviderTests

* test: FluentApiComments LambdaCollectionClass

* fix: CommentsProvider for compounds

* test: RedundantCommentCompoundClass

* refactor: renaming

* chore: use cancellation token

* fix: use NotSupportedException

* feat(Example): MyPerson (wip)

* refactor: namespaces

* fix: unit test

* chore: format code

* refactor: format code

* fix: unit test

* test: VoidMethodClass

* fix: remove MyPerson test class

* test: IncompletelyCommentedPropertyClass

* feat(ExampleProject): DocumentedStudent

* docs: Documentation comments readme section (wip)

* fix: four slashes instead of three

* test: DocumentedStudentClass

* docs: readme

* test: WronglyCommentCompoundClass (wip)

* fix: WronglyCommentedClass and WronglyCommentedClass2 tests

* fix(SymbolInfoCreator): use regex

* fix: readme

* chore: bump package version

* feat(ExampleProject): DocumentedStudent

* fix(BuilderStepMethods): make constructor internal

v1.10.0

Toggle v1.10.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: Suppress collection methods (#41)

* fix(ExampleProject): suppress function not used warning

* feat: suppress withItem and withZeroItems method generation

* test: CollectionMemberClassWithSuppression

* chore: increase nuget versions to 1.10.0

* docs(readme): update

* docs(readme): fix typo

v1.9.1

Toggle v1.9.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Remove M31.FluentApi.Attributes using from generated code file (#38)

* fix: don't add M31.FluentApi.Attributes using to generated code file

* fix: unit tests

* chore: bump nuget versions

v1.9.0

Toggle v1.9.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: Inheritance (#32)

* Inheritance implementation for Fluent API

* refactor(ClassInfoFactory): minor changes

* test: InheritedClass

* fix(ClassInfoFactory): compare to SpecialType in GetMembers

* test: InheritedClassProtectedMembers and InheritedClassProtectedSetters

* docs: mention inheritance in features

* fix: inheritance tests

* test: inherited record

* improve(ExampleProject): add ExchangeStudent example

* test: add failing test CanExecuteInheritedClassPrivateSetters

* fix: make test InheritedClassPrivateSetters work

* fix: InnerBodyForMethodGenerator

* refactor(ClassInfoFactory): use List instead of HashSet

* fix: commit generated file

* chore: bump nuget version

---------

Co-authored-by: Oleh Formaniuk <oformaniuk@microsoft.com>
Co-authored-by: Kevin Schaal <kevin.schaal@m31coding.com>

v1.8.0

Toggle v1.8.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: Constructor selection (#30)

* feat: use constructor with least amount of parameters

* refactor: rename test

* test: GenericClassPrivateConstructor

* fix(ConstructorGenerator): add BindingFlags.NonPublic

* feat: report diagnostics for missing or ambiguous constructor

* chore: adjust analyzer release tracking

* fix(Analyzers): remove MissingConstructor diagnosis

* test: CanDetectAmbiguousConstructors

* chore: increase nuget versions to 1.8

* chore(ConstructorGenerator): add doc comment

* fix(ClassInfoFactory): comment

* refactor(ClassInfoFactory): improve variable name

v1.7.0

Toggle v1.7.0's commit message
8000

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: Lambda methods by default (#24)

* feat: fluent lambda per default

* feat: lambda parameters for compounds

* fix: lambda method parameter names

* feat(LambdaByDefault): LambdaBuilderInfo for the FluentCollectionAttributeInfo

* fix(FluentApiInfoCreator): remove assumptions from TryGetLambdaBuilderInfoOfCollectionType

* feat: WithItem method with lambda parameter

* test(FluentLambdaCollectionClass): add expected result

* test: CanExecuteFluentLambdaCollectionClass

* feat: WithItems method with lambda parameters

* improve(Readme): feature list and acknowledgements

* chore: make FluentLambda obsolete

* fix(Readme)

* chore: replace FluentLambda with FluentMember in exmaples and tests

* chore(Storybook): NestedFluentApis example instead of FluentLambdaExample

* fix(ArrayCreator): remove semicolon in CreateCollectionFromEnumerable

* fix(ArrayCreator): add using only when needed

* test: FluentLambdaCollectionClass2

* test: FluentLambdaManyCollectionsClass and FluentLambdaManyPrivateCollectionsClass

* improve: property order in FluentLambdaManyPrivateCollectionsClass and FluentLambdaManyCollectionsClass

* fix: execution tests

* improve(CodeGenerationExecutionTests): blocks between different subtests

* test: add failing test TryBreakFluentApiClass3

* refactor(CollectionMethodCreator): cleanup

* fix: make TryBreakFluentApiClass3 test work

* chore: adjust storybook and readme

* chore: increase package version to 1.7.0

* fix: minor change

v1.6.0

Toggle v1.6.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: FluentSkippable (#19)

* feat(FluentSkippable): FluentSkippable attribute

* feat(FluentSkippable): make SkippableMemberClass test work

* refactor(BuilderStepMethodCreator): create static methods from BuilderStepMethods

* refactor(BuilderStepMethodCreator): cleanup

* feat(FluentSkippable): make SkippableFirstMemberClass test work

* test: SkippableSeveralMembersClass

* fix(SkippableSeveralMembersClass): remove blank line

* feat(FluentSkippable): last step cannot be skipped diagnostic

* test: add failing test SkippableLoopClass

* Test(SkippableLoopClass): add expected code

* test(SkippableLoopClass): add desired CreatedStudent.g.cs

* feat(FluentSkippable): BuilderStepsGenerator new version

* feat(FluentSkippable): loop handling classes

* feat(FluentSkippable): make SkippableLoopClass test work

* fix: remove obsolete EmptyInterfaceBuilderMethod class

* refactor: rename BuilderStepsGeneration folder and namespace

* fix: rename file

* test: CanExecuteSkippableLoopClass

* fix: rename FirstStepBuilderMethod and SingleStepBuilderMethod classes

* test: TarjansSccAlgorithmTests

* test: ContinueWithInForkClass

* test: SkippableFirstTwoMembersClass

* test: SkippableTwoLoopsClass

* test: SkippableForkMembersClass

* fix: address resharper warnings

* feat(FluentSkippable): adjust examples and storybook

* docs(Readme): add FluentSkippable

* chore: increase nuget versions to 1.6.0

v1.5.0

Toggle v1.5.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: Support partial classes (#18)

* improve(SourceGenerator): comments

* feat: support partial classes

* test: PartialClass

* refactor(TestClassCodeGenerator): improve naming

* improve(FluentLambdaTestClass): Address class in separate file

* fix(M31.FluentApi.Tests.csproj): remove item group

* fix(FluentLambdaClassInDifferentNamespace): move Address to separate file

* fix(FluentLambdaNullablePropertyClass): move Address into separate file

* fix(FluentLambdaSingleStepClass): move address to separate file

* fix: address Resharper warnings

* test(FluentApiAnalyzer): structs, records, and record structs

* test: DuplicateMethodPartialClass

* chore: increase nuget version to 1.5.0

* fix: minor improvements

* improve(ListAndDictionary): NotSupportedException instead of NotImplementedException

* refactor: minor change

v1.4.0

Toggle v1.4.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: FluentLambda and InitialStep (#17)

* fix(Readme): add media from githubusercontent

* feat: add FluentLambdaAttribute

* test: add test class FluentLambdaClass

* feat: explicit interface implementations for the generated builder

* refactor(MethodSignature): rename isStandAlone to isSignatureForInterface

* fix(MethodSignature): no default parameter values for explicit interface implementations

* test: rerun tests and write results with explicit interface implementations

* refactor(MethodSignature): don't erase values in copy constructor

* test: EmptyClass

* feat: implement InitialStep method and test with OneMemberClass, TwoMemberClass and ThreeMemberClass

* fix(TestDataProvider): remove single test filter method

* fix: GenericClassWithConstraints test

* test: rerun tests and write generated code as expected code

* fix: names of test classes

* fix(Readme): typo

* feat(DuplicateMethodsChecker): check for reserved method names

* chore: add M31FA021 (reserved method name) to shipped analyzer releases

* test: ThreePrivateMembersClass

* test: add more code generation execution tests

* test: add CanExecutePrivateConstructorClass

* feat(FluentLambda): make FluentLambdaClass test work

* feat(FluentLambda): FluentLambdaMemberWithoutFluentApi diagnostic

* test: CanDetectFluentLambdaMemberWithoutFluentApiClass

* test: CanExecuteFluentLambdaClass

* test: FluentLambdaSingleStepClass and CanExecuteFluentLambdaSingleStepClass

* test: FluentLambdaNullablePropertyClass

* test: add failing test FluentLambdaRecursiveClass

* test(FluentLambdaRecursiveClass): add name property

* refactor(BuilderClassFields): single GetNewFieldName method

* refactor(BuilderClassFields): rename to ReservedVariableNames

* feat: make test FluentLambdaRecursiveClass work

* test: CanExecuteFluentLambdaRecursiveClass

* test: add failing test TryBreakFluentApiClass1

* fix: make test TryBreakFluentApiClass1 work

* test: TryBreakFluentApiClass2

* test(FluentLambdaRecursiveClass): add name property

* fix: don't use builder type prefix for info fields in the constructor

* test: rerun tests and write results as expected results

* test: FluentLambdaClassInDifferentNamespace

* fix: address resharper warnings

* fix: address more resharper warnings

* fix: failing tests due to resharper annotations

* fix: remove obsolete comment

* chore: optimize description and package tags

* improve(ExampleProject): add person examples to Program.cs

* fix: nullable private method property

* improve(ExampleProject): add HashCode class

* improve(ExampleProject): add DockerFile example

* fix(ExampleProject): rename file

* docs(Readme): add FluentLambda

* fix: InitialStep for empty class

* fix: remove obsolete NoMember class

* improve: add city to FluentLambda tests

* fix(TestDataProvider): remove NoMemberClass

* fix(CodeGenerationTests): adjust for new Address model

* improve(FluentLambda): also generate normal member builder method

* fix(FluentLambdaClassInDifferentNamespace): take normal builder method into account

* improve(Storybook): add FluentLambda

* docs(Readme): minor changes

* improve(Storybook): revise texts

* chore: increase nuget versions to 1.4.0

v1.3.0

Toggle v1.3.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: FluentResult (#13)

* fix(Readme): typo

* fix(Readme): typos in code example

* feat(FluentReturn): add FluentReturnAttribute

* feat(FluentReturn): bookkeep return type and respectReturnType values

* refactor(InnerBodyCreation): rename classes

* refactor(InnerBodyGeneration): rename methods

* refactor(InnerBodyGeneration): rename method

* test: add FluentReturnSingleStepClass

* feat(TestDataProvider): add filter method for running a single test

* feat(Generics): make FluentReturnSingleStepClass test work

* refactor(BuilderStepMethod): add CreateMethod and CreateInterfaceMethod methods

* fix(InnerBodyForMethodGenerator): use parameter returnType

* test: FluentReturnSingleStepPrivateMethodsClass

* feat(FluentReturn): adjust BuildReflectionCodeWithRefAndOutParameters method

* test: FluentReturn method with ref parameter

* fix(InnerBodyForMethodGenerator): suppress nullability for methods that return a result

* test: FluentReturnMultiStepClass and FluentReturnMultiStepPrivateMethodsClass

* feat(CodeGenerationTests): write generated code only if it changed

* fix(FluentReturnMultiStepClass): remove unused using

* test: CanExecuteFluentReturnSingleStepPrivateMethodsClass and CanExecuteFluentReturnMultiStepPrivateMethodsClass

* feat: detect conflicting control attributes FluentBreak and FluentReturn

* docs(Readme): fix typo

* test: ContinueWithOfOverloadedMethodClass

* feat(Storybook): add FluentReturn example

* docs(Readme): add FluentReturn description and example

* chore: increase nuget versions to 1.3.0

* chore(Nuget): add readme
0