@jsonjoy.com/json-type
Version:
High-performance JSON Pointer implementation
28 lines (27 loc) • 1.83 kB
TypeScript
import { AbsType } from './AbsType';
import type { ValidatorCodegenContext } from '../../codegen/validator/ValidatorCodegenContext';
import type { ValidationPath } from '../../codegen/validator/types';
import type { JsonTextEncoderCodegenContext } from '../../codegen/json/JsonTextEncoderCodegenContext';
import type { CborEncoderCodegenContext } from '../../codegen/binary/CborEncoderCodegenContext';
import type { JsonEncoderCodegenContext } from '../../codegen/binary/JsonEncoderCodegenContext';
import type { JsExpression } from '@jsonjoy.com/util/lib/codegen/util/JsExpression';
import type { MessagePackEncoderCodegenContext } from '../../codegen/binary/MessagePackEncoderCodegenContext';
import type { TypeSystem } from '../../system/TypeSystem';
import type { json_string } from '@jsonjoy.com/util/lib/json-brand';
import type * as schema from '../../schema';
export declare class NumType extends AbsType<schema.NumberSchema> {
protected schema: schema.NumberSchema;
constructor(schema: schema.NumberSchema);
format(format: schema.NumberSchema['format']): this;
gt(gt: schema.NumberSchema['gt']): this;
gte(gte: schema.NumberSchema['gte']): this;
lt(lt: schema.NumberSchema['lt']): this;
lte(lte: schema.NumberSchema['lte']): this;
codegenValidator(ctx: ValidatorCodegenContext, path: ValidationPath, r: string): void;
codegenJsonTextEncoder(ctx: JsonTextEncoderCodegenContext, value: JsExpression): void;
private codegenBinaryEncoder;
codegenCborEncoder(ctx: CborEncoderCodegenContext, value: JsExpression): void;
codegenMessagePackEncoder(ctx: MessagePackEncoderCodegenContext, value: JsExpression): void;
codegenJsonEncoder(ctx: JsonEncoderCodegenContext, value: JsExpression): void;
toJson(value: unknown, system?: TypeSystem | undefined): json_string<number>;
}