file.ts 902 B

12345678910111213141516171819202122232425262728293031323334
  1. import BaseNormalizer from '~/services/serializer/normalizer/baseNormalizer'
  2. import {DataPersisterArgs} from '~/types/interfaces'
  3. import { QUERY_TYPE } from '~/types/enums'
  4. /**
  5. * @category Services/serializer/normalizer
  6. * @class Default
  7. * Classe assurant la normalization par défaut
  8. */
  9. class File extends BaseNormalizer {
  10. static support (type: QUERY_TYPE): boolean {
  11. return type === QUERY_TYPE.FILE
  12. }
  13. /**
  14. * On transforme les data en FormData et on les renvois
  15. * @param {DataPersisterArgs} args
  16. * @return {any} réponse
  17. */
  18. public static normalize (args: DataPersisterArgs): any {
  19. if (!args.data) {
  20. throw new Error('*args* has no data attribute')
  21. }
  22. const fileData = new FormData();
  23. for(const key in args.data){
  24. fileData.set(key, args.data[key])
  25. }
  26. fileData.set('file', args.file as string)
  27. return fileData
  28. }
  29. }
  30. export default File