AutoEquatable and AutoHashable by Sourcery
I’m really interested in Sourcery, so I installed it in my one of repositories. In my case, I generated AutoEquatable
and AutoHashable
at first because I felt these implementations contain really a lot of boilerplate codes.
Here is an actual PR in EsaKit.
If I confirm to AutoEquatable
or AutoHashable
or both, Sourcery
creates a needed function automatically like this.
-
AutoEquatable
-
AutoHashable
If I add a new property or a new API, it prevents a human error! Though it looks trivial, Sourcery
uses a safe Hashable
as I mentioned in Safe Hashable in Swift. Isn’t it cool?
Note to self:
I created a simple script for Sourcery
, and then I run Sourcery
command in this script. I had a Sourcery.swift
file to define Auto***
commands like this.
If I move Sourcery.swift
to /EsaKit/Sourcery.swift
, Sourcery
didn’t create any codes:( I didn’t know it has a such a specification until I have met this problem.
So I had to put in under the /EsaKit/Models
like this /EsaKit/Models/Sourcery.swift
because all structs confirmed to Auto***
is in Models
.
Please be careful about Auto***
files directory.
However, I totally recommend it. Sourcery
saved a lot of repetitive works:)