| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- import {Service, ServiceContainer} from '@e22m4u/js-service';
- import {DataSchema, DataSchemaObject} from './data-schema.js';
- import {DataSchemaDefinition} from './data-schema-definition.js';
- /**
- * Data parsing option.
- */
- export type DataParsingOptions = {
- sourcePath?: string;
- shallowMode?: boolean;
- noDefaultValues?: boolean;
- noParsingErrors?: boolean;
- keepUnknownProperties?: boolean;
- };
- /**
- * Data parsing function.
- */
- export type DataParsingFunction = (
- value: unknown,
- schema: DataSchemaObject,
- options: DataParsingOptions | undefined,
- container: ServiceContainer,
- ) => unknown;
- /**
- * Data parser.
- */
- export declare class DataParser extends Service {
- /**
- * Get parsers.
- */
- getParsers(): DataParsingFunction[];
- /**
- * Set parsers.
- *
- * @param list
- */
- setParsers(list: DataParsingFunction[]): this;
- /**
- * Define schema.
- *
- * @param schemaDef
- */
- defineSchema(schemaDef: DataSchemaDefinition): this;
- /**
- * Has schema.
- *
- * @param schemaName
- */
- hasSchema(schemaName: string): boolean;
- /**
- * Get schema.
- *
- * @param schemaName
- */
- getSchema(schemaName: string): DataSchema;
- /**
- * Parse.
- *
- * @param value
- * @param schema
- * @param options
- */
- parse<T = any>(
- value: unknown,
- schema: DataSchema,
- options?: DataParsingOptions,
- ): T;
- }
|