Hyperlinkv0.8.0-beta.28

Schema

Schema.makeIsLessThanOrEqualTofunctioneffect/Schema.ts:7214
<T>(options: {
  readonly order: Order.Order<T>
  readonly annotate?:
    | ((exclusiveMaximum: T) => Annotations.Filter)
    | undefined
  readonly formatter?: Formatter<T> | undefined
}): (maximum: T, annotations?: Annotations.Filter) => SchemaAST.Filter<T>

Creates a less-than-or-equal-to (<=) check for any ordered type from an Order.Order instance.

Order checks
Source effect/Schema.ts:721426 lines
export function makeIsLessThanOrEqualTo<T>(options: {
  readonly order: Order.Order<T>
  readonly annotate?: ((exclusiveMaximum: T) => Annotations.Filter) | undefined
  readonly formatter?: Formatter<T> | undefined
}) {
  const lte = Order.isLessThanOrEqualTo(options.order)
  const formatter = options.formatter ?? format
  return (maximum: T, annotations?: Annotations.Filter) => {
    return makeFilter<T>(
      (input) => lte(input, maximum),
      {
        expected: `a value less than or equal to ${formatter(maximum)}`,
        arbitrary: {
          constraint: {
            ordered: {
              order: options.order,
              maximum
            }
          }
        },
        ...options.annotate?.(maximum),
        ...annotations
      }
    )
  }
}
Referenced by 4 symbols