UNPKG

@appsemble/lang-sdk

Version:

Language SDK for Appsemble

57 lines (56 loc) 1.85 kB
import { type CustomFormat, type Options, type Schema, Validator, type ValidatorResult } from 'jsonschema'; import { type JsonObject } from 'type-fest'; import { type BlockDefinition } from './index.js'; interface ValidatorFactoryOptions { schemas: Record<string, Schema>; customFormats?: Record<string, CustomFormat>; } export declare class BaseValidatorFactory { static readonly defaultOptions: Options; static readonly defaultCustomFormats: { int32: () => boolean; int64: () => boolean; float: () => boolean; double: () => boolean; byte: () => boolean; binary: () => boolean; password: () => boolean; }; private schemas; private customFormats; constructor({ customFormats, schemas }: ValidatorFactoryOptions); build(): Validator; } export declare class BlockExampleValidator { private validator; constructor(); validate(example: BlockDefinition): ValidatorResult; } interface BlockParamInstanceValidatorOptions { listeners?: string[]; emitters?: string[]; actions?: string[]; } export declare class BlockParamInstanceValidator { private validator; private emitterNames; private listenerNames; constructor({ actions, emitters, listeners, }?: BlockParamInstanceValidatorOptions); validateParametersInstance(instance: JsonObject, schema: Schema): [ValidatorResult, Set<string>]; } export declare class BlockParamSchemaValidator { private validator; constructor(); validateParamSchema(paramSchema: Schema): ValidatorResult; } export declare class AppValidator { private validator; constructor(); validateApp(app: unknown): ValidatorResult; } export declare class RemapperValidator { private validator; constructor(); validateRemapper(remapper: unknown): ValidatorResult; } export {};