Hyperlinkv0.8.0-beta.28

Schema

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

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

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