project-data.d.ts 664 B

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