project-data.d.ts 572 B

12345678910111213141516171819202122232425262728293031
  1. import {ProjectionSchema} from './projection-schema.js';
  2. /**
  3. * Projection schema name resolver.
  4. */
  5. export type ProjectionSchemaNameResolver = (
  6. schemaName: string,
  7. ) => ProjectionSchema;
  8. /**
  9. * Project data options.
  10. */
  11. export type ProjectDataOptions = {
  12. strict?: boolean;
  13. scope?: string;
  14. nameResolver?: ProjectionSchemaNameResolver;
  15. factoryArgs?: unknown[];
  16. };
  17. /**
  18. * Project data.
  19. *
  20. * @param data
  21. * @param schema
  22. * @param options
  23. */
  24. export declare function projectData<T>(
  25. data: T,
  26. schema: ProjectionSchema,
  27. options?: ProjectDataOptions,
  28. ): T;