Ben Ramsey
55d8833b06
feat: support version 8, custom UUIDs
2022-11-05 17:57:29 -05:00
Ben Ramsey
a180174b0e
fix: update validation to support versions 6 & 7
2022-09-15 22:14:34 -05:00
Ben Ramsey
685c2f3f23
feat: support max UUIDs
2022-09-14 20:44:24 -05:00
Ben Ramsey
aa1e488afa
feat: support version 7 (Unix Epoch time) UUIDs
2022-09-13 22:13:33 -05:00
Ben Ramsey
078feed166
chore: update nomenclature
2022-09-12 20:56:42 -05:00
Ben Ramsey
b78bcda2d1
feat: move UuidV6 to the Rfc4122 namespace
2022-09-12 19:41:46 -05:00
Ben Ramsey
f1891183f9
Upgrade PHPStan
2022-08-05 14:46:56 -05:00
Simon Podlipsky
9a8ea11ad3
fix: adapt tests to reflect GH-7758 ( #435 )
2022-08-05 11:31:53 -05:00
Ben Ramsey
c005f69d6e
chore: update package files
2021-08-06 14:05:57 -05:00
Bilge
7947413a76
Use assertSame instead of assertEquals.
2020-08-23 13:53:19 +01:00
Marco Pivetta
569e93ac4e
Re-implemented Uuid::fromString() so it produces a LazyUuidFromString when possible
...
This should speed up `Uuid::fromString()` massively, leading to much shallower execution
paths when `toString()` and similar simplistic API is required.
2020-07-09 13:57:30 +02:00
Ben Ramsey
22ee596348
Make serialize(UuidInterface) more compact
...
Resolves #318
2020-07-08 15:27:19 -05:00
Ben Ramsey
706bac009f
Fix PHPStan errors
2020-03-16 10:44:20 -05:00
Ben Ramsey
1f1329433f
Add getDateTime() to UuidV2
2020-03-02 22:56:56 -06:00
Ben Ramsey
19a91b7522
Add missing convenience methods for UuidV2
2020-02-29 11:29:12 -06:00
Ben Ramsey
0bd312f944
Improve test coverage
2020-02-26 20:17:49 -06:00
Ben Ramsey
cc2bf6f8ef
Support version 6 UUIDs
...
See the following:
* https://github.com/uuid6/uuid6-ietf-draft
* http://gh.peabody.io/uuidv6/
2020-02-22 22:41:15 -06:00
Ben Ramsey
7af4814017
Round microseconds to six digits when getting DateTime from v1 UUIDs
2020-02-21 01:17:05 -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
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
72a2312f62
Support generation of version 2 (DCE Security) UUIDs
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
10624f64a1
Change return type of Uuid::getFields() to FieldsInterface
2020-01-18 12:14:00 -06:00
Ben Ramsey
1e26916bf6
Add getTimestamp() and getClockSeq() to FieldsInterface
2020-01-18 12:13:58 -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
24311f2925
Introduce FieldsInterface and base classes for fields support
2020-01-18 12:13:56 -06:00