| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- import {Service} from '@e22m4u/js-service';
- import {ProjectDataOptions} from './project-data.js';
- import {ProjectionSchema} from './projection-schema.js';
- import {ProjectionSchemaDefinition} from './projection-schema-definition.js';
- /**
- * Data projector.
- */
- export class DataProjector extends Service {
- /**
- * Define schema.
- *
- * @param schemaDef
- */
- defineSchema(schemaDef: ProjectionSchemaDefinition): this;
- /**
- * Project.
- *
- * @param data
- * @param schema
- * @param options
- */
- project<T>(
- data: T,
- schema: ProjectionSchema,
- options?: ProjectDataOptions,
- ): T;
- /**
- * Project input.
- *
- * @param data
- * @param schema
- * @param options
- */
- projectInput<T>(
- data: T,
- schema: ProjectionSchema,
- options?: Omit<ProjectDataOptions, 'scope'>,
- ): T;
- /**
- * Project output.
- *
- * @param data
- * @param schema
- * @param options
- */
- projectOutput<T>(
- data: T,
- schema: ProjectionSchema,
- options?: Omit<ProjectDataOptions, 'scope'>,
- ): T;
- }
|