* v2: take only 'bitsMachine' least significant bits from generated machine IDs so it doesn't corrupt the other ID parts (#72)
Co-authored-by: ok32 <e.starikoff@gmail.com>
Co-authored-by: Yoshiyuki Mineo <Yoshiyuki.Mineo@jp.sony.com>
* Refactor Sonyflake Compose method to return errors for invalid parameters and update related tests. Consolidate error handling for start time, sequence, and machine ID validations. Remove unused variable in tests for clarity.
---------
Co-authored-by: ok32 <artuh.gubanova@gmail.com>
Co-authored-by: ok32 <e.starikoff@gmail.com>
* Add v2
* Introduce staticcheck
* Introduce golangci-lint
* Add error checks
* Add error checks
* Lint v2 code
* Improve CI trigger
* Use io.ReadAll
* Use int64
* Remove NewSonyflake
* Fix errors
* v2: Change MachineID, sequence, and AmazonEC2MachineID to int; update all usage and tests for type consistency
* docs: update Settings struct in README to use int for MachineID and CheckMachineID (v2)
* docs(v2): clarify Settings, StartTime, MachineID, and CheckMachineID comments and update README links and explanations
* docs(v2/mock): improve comments and docstrings for mock implementations
* docs(types): unify and clarify package and type docstrings for types.go in v1 and v2
* test(v2): refactor and modernize tests, improve error assertions, and update mocks for v2
* test(v2): normalize whitespace in pseudoSleep calls for consistency
* feat(v2): add configurable TimeUnit and refactor time handling for So… (#67)
* feat(v2): add configurable TimeUnit and refactor time handling for Sonyflake v2
* test(v2): add ToTime tests, clarify TimeUnit behavior, and update docs for v2
* gofmt