Ben Ramsey
19f01c7985
No longer set variant/version bits inside the time generator
2020-01-21 16:38:07 -06:00
Ben Ramsey
bf237a1962
Change UuidBuilderInterface::build() to accept bytes instead of fields
2020-01-21 15:49:18 -06:00
Ben Ramsey
13aaa217fa
Add specific validator for RFC 4122 variant UUIDs
2020-01-20 21:06:37 -06:00
Ben Ramsey
7ea7e4282e
Validate fields passed to specific UUID version classes
2020-01-20 21:05:06 -06:00
Ben Ramsey
a5c7314f8d
Fix string passed to DateTimeImmutable
2020-01-20 21:04:26 -06:00
Ben Ramsey
a8d52100de
Support microtime in returned DateTimeInterface instances
...
Fixes #90 and supersedes #93 .
2020-01-19 23:21:48 -06:00
Ben Ramsey
124e267553
Remove UnsatisfiedDependencyException
2020-01-18 18:45:00 -06:00
Ben Ramsey
3c975dd194
Add v2() convenience function for version 2 UUIDs
2020-01-18 18:45:00 -06:00
Ben Ramsey
59dc5bf06d
Move deprecated methods to DeprecatedUuidMethodsTrait
2020-01-18 14:57:05 -06:00
Ben Ramsey
9c4f45e5c1
Move deprecated interface methods to DeprecatedUuidInterface
2020-01-18 14:27:17 -06:00
Ben Ramsey
268e66aad8
Add static Uuid::uuid2() method
2020-01-18 14:14:47 -06:00
Ben Ramsey
72a2312f62
Support generation of version 2 (DCE Security) UUIDs
2020-01-18 12:14:01 -06:00
Ben Ramsey
b52fff6b52
Build number and time converters when setting calculator
2020-01-18 12:14:01 -06:00
Ben Ramsey
8202946225
Add NilUuid concrete class to represent nil UUIDs
2020-01-18 12:14:01 -06:00
Ben Ramsey
0cfd017034
Mark more methods on UuidInterface and Uuid for deprecation
2020-01-18 12:14:01 -06:00
Ben Ramsey
0b64d6d995
Optimize how OrderedTimeCodec rearranges bytes and validates instances
2020-01-18 12:14:01 -06:00
Ben Ramsey
12a2b0680d
Add individual concrete classes for each version of RFC 4122 UUID
2020-01-18 12:14:01 -06:00
Ben Ramsey
5d1f106882
Rename Validator\Validator to Validator\GenericValidator
2020-01-18 12:14:00 -06:00
Ben Ramsey
2ad77d9ca7
Remove CalculatorInterface as a Uuid constructor parameter
2020-01-18 12:14:00 -06:00
Ben Ramsey
52f764c284
Change first constructor param in Uuid to Rfc4122\FieldsInterface
2020-01-18 12:14:00 -06:00
Ben Ramsey
360261d617
Deprecate all the fields methods on UuidInterface and Uuid
2020-01-18 12:14:00 -06:00
Ben Ramsey
10624f64a1
Change return type of Uuid::getFields() to FieldsInterface
2020-01-18 12:14:00 -06:00
Ben Ramsey
c11c023796
Address static analysis issues and add additional tests
2020-01-18 12:13:59 -06:00
Ben Ramsey
37f72746a7
Remove checks that are no longer necessary
2020-01-18 12:13:59 -06:00
Ben Ramsey
c80ad2606f
Deprecate degraded UUIDs; they are no longer necessary
2020-01-18 12:13:59 -06:00
Ben Ramsey
d543895369
Return string integers instead of int integers
2020-01-18 12:13:58 -06:00
Ben Ramsey
4125885862
Add getTime() to TimeProviderInterface and mark currentTime() deprecated
2020-01-18 12:13:58 -06:00
Ben Ramsey
1e26916bf6
Add getTimestamp() and getClockSeq() to FieldsInterface
2020-01-18 12:13:58 -06:00
Ben Ramsey
d665ec8e88
Provide a fallback time converter in case of integers too big
2020-01-18 12:13:58 -06:00
Ben Ramsey
63942c393d
Remove Gmp converters; the generic converters are preferred
2020-01-18 12:13:58 -06:00
Ben Ramsey
3546a86f7d
Deprecate BigNumberConverter and BigNumberTimeConverter
2020-01-18 12:13:58 -06:00
Ben Ramsey
9b2c93c5b5
Add generic converters for numbers and time
2020-01-18 12:13:58 -06:00
Ben Ramsey
cd03f39e9c
Depend on brick/math for arbitrary-precision math
2020-01-18 12:13:58 -06:00
Ben Ramsey
07fc6b8f6f
Add Hexadecimal, IntegerValue, and Time types
2020-01-18 12:13:57 -06:00
Massimiliano Arione
776e472808
add typehints and return types
2020-01-18 12:13:57 -06:00
Ben Ramsey
668b6ab9a2
Use the codec to encode to binary when using Uuid::getBytes()
2020-01-18 12:13:57 -06:00
Ben Ramsey
4d1db4d090
Clean up class naming conventions
2020-01-18 12:13:57 -06:00
Ben Ramsey
ebaa04a6b2
Improve coverage and unit tests for fields, GUIDs, and nonstandard UUIDs
2020-01-18 12:13:57 -06:00
Ben Ramsey
70eace9086
Introduce separate classes to handle nonstandard UUIDs
2020-01-18 12:13:57 -06:00
Ben Ramsey
d6ed9b3832
Introduce separate class support for GUIDs
2020-01-18 12:13:57 -06:00
Ben Ramsey
d4dd45e908
Apply fields functionality to Uuid class
2020-01-18 12:13:57 -06:00
Ben Ramsey
24311f2925
Introduce FieldsInterface and base classes for fields support
2020-01-18 12:13:56 -06:00
Ben Ramsey
ef999c2b2c
Update coding style to include PSR-12, among other options
...
This also includes heavy use of slevomat/coding-standard to apply
various checks to the code, based on maintainer (me) preference.
2020-01-18 12:13:56 -06:00
Massimiliano Arione
0e7cdfe620
add typehints and return types
2020-01-18 12:13:56 -06:00
Ben Ramsey
3e81dad348
Fix static analysis issues with tests
2020-01-18 12:13:56 -06:00
Ben Ramsey
8e79ff851a
Address Psalm errors
2020-01-18 12:13:56 -06:00
Ben Ramsey
c0a2ef7d15
Use correct phpcs configuration when running from Travis CI
2020-01-18 12:13:56 -06:00
Ben Ramsey
ffc400e009
Change UuidInterface::getInteger() to always return a string value
2020-01-18 12:13:56 -06:00
Ben Ramsey
b7f9dc5010
Check for RFC 4122, version 1 UUIDs with OrderedTimeCodec
2020-01-18 12:13:56 -06:00
Barney Laurance
bdc9170edc
Run Psalm on src as well as Static Analysis Fixture ( #282 )
...
* Run Psalm on src as well as Static Analysis Fixture
Psalm baselining feature is used to prevent immediate build failures -
psalm will just cause failures for errors caused by future changes to
the code.
See https://psalm.dev/docs/running_psalm/dealing_with_code_issues/#using-a-baseline-file
* Fix MixedArgument issues in OrderedTimeCodec
Potentially unpack should be documented as returning string[] instead of
array to make this unecassary.
* Fix Psalm PossiblyNullPropertyAssignmentValue issues
* Add psalm-immutable annotation to Uuid class
* Fix Psalm MixedArgument issues
* Fix MissingImmutableAnnotation psalm issue
* Fix Psalm MixedAssignment issue
* Fix Psalm InvalidReturnStatement / InvalidReturnType issue
* Add ImpureMethodCall issues to baseline.
Fixing these in one place just moves them somewhere else.
* Exclude psalm-baseline.xml from exported git archives
2020-01-18 12:13:56 -06:00