mirror of
https://github.com/ash-project/ash.git
synced 2024-09-20 05:23:03 +12:00
improvement: filter min_length strings in generators
This commit is contained in:
parent
70b6a52b08
commit
ad2392be99
1 changed files with 13 additions and 4 deletions
|
@ -46,10 +46,19 @@ defmodule Ash.Type.String do
|
|||
|
||||
@impl true
|
||||
def generator(constraints) do
|
||||
StreamData.string(
|
||||
:printable,
|
||||
Keyword.take(constraints, [:max_length, :min_length])
|
||||
)
|
||||
base_generator =
|
||||
StreamData.string(
|
||||
:printable,
|
||||
Keyword.take(constraints, [:max_length, :min_length])
|
||||
)
|
||||
|
||||
if constraints[:trim?] && constraints[:min_length] do
|
||||
StreamData.filter(base_generator, fn value ->
|
||||
value |> String.trim() |> String.length() |> Kernel.>(constraints[:min_length])
|
||||
end)
|
||||
else
|
||||
base_generator
|
||||
end
|
||||
end
|
||||
|
||||
def apply_constraints(nil, _), do: :ok
|
||||
|
|
Loading…
Reference in a new issue