diff --git a/modules/random-list/random-list.nu b/modules/random-list/random-list.nu index 3884986a3..e706d6cbc 100644 --- a/modules/random-list/random-list.nu +++ b/modules/random-list/random-list.nu @@ -1,14 +1,15 @@ +use std/random + def throw-error [ error: string msg: string span: record ] { error make { - msg: $"(ansi red_bold)($error)(ansi reset)" + msg: $error label: { text: $msg - start: $span.start - end: $span.end + span: $span } } } @@ -21,11 +22,11 @@ export def "random-list bool" [ if $bias < 0 or $bias > 1 { throw-error "value_error" "must be between 0 and 1" (metadata $bias | get span) } - if $list_length < 0 { - throw-error "value_error" "must be greater than 0" (metadata $list_length | get span) + if $list_length < 0 { + throw-error "value_error" "must not be negative" (metadata $list_length | get span) } - 1..$list_length | each {|it| + 0..<$list_length | each {|it| random bool --bias $bias } } @@ -35,14 +36,14 @@ export def "random-list chars" [ list_length: int, # A length of the list --length (-l): int = 5 # A length of the string ] { - if $list_length < 0 { - throw-error "value_error" "must be greater than 0" (metadata $list_length | get span) + if $list_length < 0 { + throw-error "value_error" "must not be negative" (metadata $list_length | get span) } - if $length < 0 { - throw-error "value_error" "must be greater than 0" (metadata $length | get span) + if $length < 0 { + throw-error "value_error" "must not be negative" (metadata $length | get span) } - 1..$list_length | each {|it| + 0..<$list_length | each {|it| random chars --length $length } } @@ -52,11 +53,11 @@ export def "random-list float" [ list_length: int, # A length of the list --range (-r): range # A range of the value ] { - if $list_length < 0 { - throw-error "value_error" "must be greater than 0" (metadata $list_length | get span) + if $list_length < 0 { + throw-error "value_error" "must not be negative" (metadata $list_length | get span) } - 1..$list_length | each {|it| + 0..<$list_length | each {|it| random float $range } } @@ -67,17 +68,17 @@ export def "random-list dice" [ --roll-count (-r): int = 6, # A roll count --side-count (-s): int = 6 # A side count ] { - if $list_length < 0 { - throw-error "value_error" "must be greater than 0" (metadata $list_length | get span) + if $list_length < 0 { + throw-error "value_error" "must not be negative" (metadata $list_length | get span) } - if $roll_count < 0 { - throw-error "value_error" "must be greater than 0" (metadata $roll_count | get span) + if $roll_count < 1 { + throw-error "value_error" "must be at least 1" (metadata $roll_count | get span) } - if $side_count < 0 { - throw-error "value_error" "must be greater than 0" (metadata $side_count | get span) + if $side_count < 2 { + throw-error "value_error" "must be at least 2" (metadata $side_count | get span) } - 1..$list_length | each {|it| + 0..<$list_length | each {|it| random dice --dice $roll_count --sides $side_count } } @@ -87,11 +88,11 @@ export def "random-list int" [ list_length: int # A length of the list --range (-r): range # A range of the value ] { - if $list_length < 0 { - throw-error "value_error" "must be greater than 0" (metadata $list_length | get span) + if $list_length < 0 { + throw-error "value_error" "must not be negative" (metadata $list_length | get span) } - 1..$list_length | each {|it| + 0..<$list_length | each {|it| random int $range } } @@ -100,11 +101,11 @@ export def "random-list int" [ export def "random-list uuid" [ list_length: int # A length of the list ] { - if $list_length < 0 { - throw-error "value_error" "must be greater than 0" (metadata $list_length | get span) + if $list_length < 0 { + throw-error "value_error" "must not be negative" (metadata $list_length | get span) } - 1..$list_length | each {|it| + 0..<$list_length | each {|it| random uuid } }