8
8
use CalebDW \Laraflake \Mixins \RuleMixin ;
9
9
use CalebDW \Laraflake \Mixins \StrMixin ;
10
10
use Composer \InstalledVersions ;
11
+ use Godruoyi \Snowflake \FileLockResolver ;
11
12
use Godruoyi \Snowflake \LaravelSequenceResolver ;
13
+ use Godruoyi \Snowflake \PredisSequenceResolver ;
12
14
use Godruoyi \Snowflake \RandomSequenceResolver ;
15
+ use Godruoyi \Snowflake \RedisSequenceResolver ;
13
16
use Godruoyi \Snowflake \SequenceResolver ;
14
17
use Godruoyi \Snowflake \Snowflake ;
18
+ use Godruoyi \Snowflake \SwooleSequenceResolver ;
15
19
use Illuminate \Contracts \Cache \Repository ;
16
20
use Illuminate \Database \Schema \Blueprint ;
17
21
use Illuminate \Foundation \Console \AboutCommand ;
@@ -38,7 +42,8 @@ public function boot(): void
38
42
$ this ->registerMixins ();
39
43
40
44
AboutCommand::add ('Laraflake ' , fn () => [
41
- 'Version ' => InstalledVersions::getPrettyVersion ('calebdw/laraflake ' ),
45
+ 'Sequence Resolver ' => $ this ->getPrettyResolver (),
46
+ 'Version ' => InstalledVersions::getPrettyVersion ('calebdw/laraflake ' ),
42
47
]);
43
48
}
44
49
@@ -78,4 +83,21 @@ protected function registerSequenceResolver(): void
78
83
return new LaravelSequenceResolver ($ repository );
79
84
});
80
85
}
86
+
87
+ /** @codeCoverageIgnore */
88
+ protected function getPrettyResolver (): string
89
+ {
90
+ /** @var SequenceResolver $resolver */
91
+ $ resolver = $ this ->app ->make (SequenceResolver::class);
92
+
93
+ return match ($ resolver ::class) {
94
+ LaravelSequenceResolver::class => 'Laravel Cache ' ,
95
+ RandomSequenceResolver::class => 'Random (unsafe) ' ,
96
+ SwooleSequenceResolver::class => 'Swoole ' ,
97
+ RedisSequenceResolver::class => 'Redis ' ,
98
+ FileLockResolver::class => 'File ' ,
99
+ PredisSequenceResolver::class => 'Predis ' ,
100
+ default => $ resolver ::class,
101
+ };
102
+ }
81
103
}
0 commit comments