Ben Ramsey
d2edbc9240
Force Travis CI to wait longer before timing out the build
2020-02-14 15:34:13 -06:00
Ben Ramsey
78984c54e9
Exclude phpstan-bootstrap.php from PHPstan analysis
2020-02-08 13:32:23 -06:00
Ben Ramsey
79da637dc0
Make sure the cache directory exists on Travis CI
2020-02-08 13:20:27 -06:00
Ben Ramsey
fb4f54fb84
Address static analysis issues
2020-02-08 13:14:17 -06:00
Ben Ramsey
f965293da9
Specify cache locations for build tools
2020-02-08 13:13:47 -06:00
Ben Ramsey
0bff9e8660
Add NameGeneratorInterface and generators for v3 and v5 UUIDs
2020-02-08 13:12:20 -06:00
Ben Ramsey
e5357f2c8a
Add missing native type hints to test method
2020-02-03 16:07:38 -06:00
Ben Ramsey
2e420f94c4
Revert "Suppress MissingNativeTypeHint error from slevomat/coding-standard"
...
This reverts commit e269c16cd4 .
This issue is fixed in slevomat/coding-standard 6.1.4. See thread at
https://github.com/slevomat/coding-standard/issues/883
2020-02-03 16:01:43 -06:00
Marco Pivetta
c7f71244f3
Imported pecl/uuid constants
2020-02-03 13:15:35 -06:00
Marco Pivetta
dee551deb1
Removed use function imports for mocked/stubbed functions, disabling phpcs import rule
...
While the rule is now disabled, it still is very much valuable to import most pure functions from the core
PHP scope, allowing us some marginal gains on anything that can be inlined by the engine (now or in future).
The rule does not allow selective exclusions, so we will need to keep it off for now.
2020-02-03 13:15:35 -06:00
Marco Pivetta
a252f29847
Import used functions and constants via use statement to disallow ambiguity for compiler/static-analysis
...
As documented in https://wiki.php.net/rfc/use_global_elements , the engine (by default) does a local namespace
lookup, then falls back to global namespace when first calling a global function referenced in namespaced code,
unless that function is referenced via fully qualified name (FQN).
By using the FQN, the actual symbol can be looked up at compile-time, both by the PHP engine and by static analysis
tooling, allowing for compiler (in particular) optimizations to replace known hot-path functions with specialized opcodes.
Sadly, no actual benchmark at hand: the improvements can be minimal or massive, depending on where this library is
used (tight loops being most relevant).
2020-02-03 13:15:35 -06:00
Marco Pivetta
598b47d07f
Refining type of producing a string that can be declared as non-empty-string
2020-02-03 11:05:36 -06:00
Ben Ramsey
2108274b4a
Fix UuidFactory::fromDateTime() bug on 32-bit systems
2020-02-03 09:41:23 -06:00
Ben Ramsey
5fa4eb4f17
Add fromDateTime() to create version 1 UUIDs from DateTime instances
...
Fixes #28
2020-02-03 00:48:41 -06:00
Ben Ramsey
e269c16cd4
Suppress MissingNativeTypeHint error from slevomat/coding-standard
2020-02-02 18:38:03 -06:00
Ben Ramsey
6d5f8663ef
Fix issue with non-zero exit code for phpenv
2020-01-29 13:34:01 -06:00
Ben Ramsey
931dd51d61
Fix typo in Travis CI script
2020-01-29 13:23:45 -06:00
Ben Ramsey
46ef3acb52
Fix script for Travis CI
2020-01-29 13:22:08 -06:00
Ben Ramsey
52cbbe34be
Disable Xdebug in push builds to speed them up
2020-01-29 13:16:20 -06:00
Ben Ramsey
8dc64d99ff
Cache Composer packages on Travis and use the cache from Docker
2020-01-29 11:55:29 -06:00
Ben Ramsey
73f60945bc
Add refreshenv command to Windows instructions
...
[ci skip]
2020-01-22 18:19:27 -06:00
Ben Ramsey
39fb5166ed
Add Vagrantfiles for various environments to aid in testing
2020-01-22 17:41:29 -06:00
Ben Ramsey
7591ab461f
Update description
2020-01-22 00:51:15 -06:00
Ben Ramsey
9988854cf1
Fix bug causing test to fail on 32-bit systems
4.0.0-alpha1
2020-01-22 00:41:45 -06:00
Ben Ramsey
b141479d21
Prepare for 4.0.0-alpha1 release
2020-01-22 00:18:41 -06:00
Ben Ramsey
bc3a876568
Set dev-master branch alias to 4.x-dev
2020-01-22 00:07:32 -06:00
Ben Ramsey
94700421e1
Micro-optimize
2020-01-22 00:05:29 -06:00
Ben Ramsey
931c1a6b52
Work exclusively with bytes instead of a hexadecimal string
2020-01-21 23:29:13 -06:00
Ben Ramsey
80a7be00b3
Return Hexadecimal type from TimeConverterInterface::calculateTime()
2020-01-21 23:28:10 -06:00
Ben Ramsey
4963f2320a
Optimize codec algorithms
2020-01-21 22:17:32 -06:00
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
5d7c0f2210
Move files to clean up project root directory
2020-01-19 23:48:55 -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
959dc2a9b0
Refactor tests for GenericValidator
2020-01-18 12:14:01 -06:00
Ben Ramsey
d21a3e3875
Add tests to ensure static methods return specific UUID types
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