growi-uri-injector.ts 830 B

123456789101112131415161718192021222324252627282930
  1. export type GrowiUriWithOriginalData = {
  2. growiUri: string;
  3. originalData: string;
  4. };
  5. export type TypedBlock = {
  6. type: string;
  7. };
  8. /**
  9. * Type guard for GrowiUriWithOriginalData
  10. * @param data
  11. * @returns
  12. */
  13. export const isGrowiUriWithOriginalData = (
  14. // biome-ignore lint/suspicious/noExplicitAny: ignore
  15. data: any,
  16. ): data is GrowiUriWithOriginalData => {
  17. return data.growiUri != null && data.originalData != null;
  18. };
  19. export interface GrowiUriInjector<ISDATA, IDATA, ESDATA, EDATA> {
  20. // biome-ignore lint/suspicious/noExplicitAny: ignore
  21. shouldHandleToInject(data: ISDATA & any): data is IDATA;
  22. inject(data: IDATA, growiUri: string): void;
  23. // biome-ignore lint/suspicious/noExplicitAny: ignore
  24. shouldHandleToExtract(data: ESDATA & any): data is EDATA;
  25. extract(data: EDATA): GrowiUriWithOriginalData;
  26. }