react-native-cloud-storage 1.2.2 → 1.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/README.md +66 -10
  2. package/ios/CloudStorage.swift +30 -28
  3. package/lib/commonjs/RNCloudStorage.js.map +1 -1
  4. package/lib/commonjs/createRNCloudStorage.js.map +1 -1
  5. package/lib/commonjs/google-drive/client.js +169 -0
  6. package/lib/commonjs/google-drive/client.js.map +1 -0
  7. package/lib/commonjs/google-drive/index.js +53 -50
  8. package/lib/commonjs/google-drive/index.js.map +1 -1
  9. package/lib/commonjs/google-drive/types.js +15 -0
  10. package/lib/commonjs/google-drive/types.js.map +1 -1
  11. package/lib/module/RNCloudStorage.js +4 -4
  12. package/lib/module/RNCloudStorage.js.map +1 -1
  13. package/lib/module/createRNCloudStorage.js +2 -2
  14. package/lib/module/createRNCloudStorage.js.map +1 -1
  15. package/lib/module/google-drive/client.js +161 -0
  16. package/lib/module/google-drive/client.js.map +1 -0
  17. package/lib/module/google-drive/index.js +46 -44
  18. package/lib/module/google-drive/index.js.map +1 -1
  19. package/lib/module/google-drive/types.js +9 -1
  20. package/lib/module/google-drive/types.js.map +1 -1
  21. package/lib/typescript/RNCloudStorage.d.ts +2 -2
  22. package/lib/typescript/RNCloudStorage.d.ts.map +1 -1
  23. package/lib/typescript/google-drive/client.d.ts +33 -0
  24. package/lib/typescript/google-drive/client.d.ts.map +1 -0
  25. package/lib/typescript/google-drive/index.d.ts +6 -4
  26. package/lib/typescript/google-drive/index.d.ts.map +1 -1
  27. package/lib/typescript/google-drive/types.d.ts +10 -3
  28. package/lib/typescript/google-drive/types.d.ts.map +1 -1
  29. package/package.json +1 -4
  30. package/src/RNCloudStorage.ts +5 -5
  31. package/src/createRNCloudStorage.ts +2 -2
  32. package/src/google-drive/client.ts +177 -0
  33. package/src/google-drive/index.ts +71 -69
  34. package/src/google-drive/types.ts +12 -4
@@ -1 +1 @@
1
- {"version":3,"names":["GDrive","HttpError","MimeTypes","CloudStorageErrorCode","CloudStorageError","DeviceEventEmitter","GoogleDriveApiClient","drive","throwOnFilesWithSameName","constructor","filesWithSameNameSubscribers","fetchTimeout","Proxy","get","target","prop","allowedFunctions","includes","toString","accessToken","GOOGLE_DRIVE_ACCESS_TOKEN_MISSING","emit","available","length","subscribeToFilesWithSameName","subscriber","push","remove","filter","s","isCloudAvailable","_GoogleDriveApiClient","getRootDirectory","scope","resolvePathToDirectories","path","startsWith","slice","endsWith","directories","split","actualFilename","pop","filename","findParentDirectoryId","files","directoryTree","possibleTopDirectories","f","mimeType","FOLDER","name","topDirectoryId","id","possibleTopDirectory","find","parents","DIRECTORY_NOT_FOUND","currentDirectoryId","i","currentDirectory","nextDirectory","getRootDirectoryId","listInternalFiles","file","list","spaces","fields","checkIfMultipleFilesWithSameName","parentDirectoryId","possibleFiles","f2","map","join","MULTIPLE_FILES_SAME_NAME","forEach","fileIds","getFileId","throwIfDirectory","arguments","undefined","rootDirectoryId","FILE_NOT_FOUND","PATH_IS_DIRECTORY","e","_e$json","_e$json$error","json","error","status","AUTHENTICATION_FAILED","UNKNOWN","fileExists","code","appendToFile","data","fileId","prevContent","getText","uploader","newMultipartUploader","setData","TEXT","setIdOfFileToUpdate","setRequestBody","execute","createFile","overwrite","FILE_ALREADY_EXISTS","listFiles","allFiles","Array","from","Set","createDirectory","newMetadataOnlyUploader","readFile","content","downloadFile","_path","_scope","deleteFile","delete","statFile","size","birthtimeMs","Date","createdTime","getTime","mtimeMs","modifiedTime","isDirectory","isFile"],"sourceRoot":"../../../src","sources":["google-drive/index.ts"],"mappings":"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"}
1
+ {"version":3,"names":["CloudStorageErrorCode","CloudStorageError","MimeTypes","DeviceEventEmitter","GoogleDriveApiClient","GoogleDriveHttpError","GoogleDrive","drive","throwOnFilesWithSameName","constructor","filesWithSameNameSubscribers","Proxy","get","target","prop","allowedFunctions","includes","toString","accessToken","length","GOOGLE_DRIVE_ACCESS_TOKEN_MISSING","emit","available","subscribeToFilesWithSameName","subscriber","push","remove","filter","s","isCloudAvailable","getRootDirectory","scope","resolvePathToDirectories","path","startsWith","slice","endsWith","directories","split","actualFilename","pop","filename","findParentDirectoryId","files","directoryTree","possibleTopDirectories","f","mimeType","FOLDER","name","topDirectoryId","id","possibleTopDirectory","find","parents","DIRECTORY_NOT_FOUND","currentDirectoryId","i","currentDirectory","nextDirectory","getRootDirectoryId","listFiles","file","checkIfMultipleFilesWithSameName","parentDirectoryId","possibleFiles","f2","map","join","MULTIPLE_FILES_SAME_NAME","forEach","fileIds","getFileId","throwIfDirectory","arguments","undefined","rootDirectoryId","FILE_NOT_FOUND","PATH_IS_DIRECTORY","e","_e$json","_e$json$error","json","error","status","AUTHENTICATION_FAILED","UNKNOWN","fileExists","code","appendToFile","data","fileId","prevContent","getFileText","updateFile","body","TEXT","createFile","overwrite","FILE_ALREADY_EXISTS","allFiles","Array","from","Set","createDirectory","readFile","content","downloadFile","_path","_scope","deleteFile","statFile","getFile","size","birthtimeMs","Date","createdTime","getTime","mtimeMs","modifiedTime","isDirectory","isFile"],"sourceRoot":"../../../src","sources":["google-drive/index.ts"],"mappings":"AACA,SACEA,qBAAqB,QAGhB,iBAAiB;AACxB,OAAOC,iBAAiB,MAAM,4BAA4B;AAC1D,SAASC,SAAS,QAAyD,SAAS;AACpF,SAASC,kBAAkB,QAAQ,cAAc;AACjD,OAAOC,oBAAoB,IAAIC,oBAAoB,QAAQ,UAAU;;AAErE;AACA;AACA;AACA;AACA,eAAe,MAAMC,WAAW,CAAiC;EAC/D,OAAeC,KAAK,GAAyB,IAAIH,oBAAoB,EAAE;EACvE,OAAcI,wBAAwB,GAAG,KAAK;EAG9CC,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACC,4BAA4B,GAAG,EAAE;IACtC,OAAO,IAAIC,KAAK,CAAC,IAAI,EAAE;MACrB;MACAC,GAAGA,CAACC,MAAmB,EAAEC,IAAuB,EAAE;QAChD,MAAMC,gBAAgB,GAAG,CAAC,kBAAkB,EAAE,8BAA8B,CAAC;QAC7E,IAAI,OAAOF,MAAM,CAACC,IAAI,CAAC,KAAK,UAAU,IAAI,CAACC,gBAAgB,CAACC,QAAQ,CAACF,IAAI,CAACG,QAAQ,EAAE,CAAC,EAAE;UACrF,IAAI,CAACX,WAAW,CAACC,KAAK,CAACW,WAAW,CAACC,MAAM,EAAE;YACzC,MAAM,IAAIlB,iBAAiB,CACxB,8DAA6Da,IAAI,CAACG,QAAQ,EAAG,EAAC,EAC/EjB,qBAAqB,CAACoB,iCAAiC,CACxD;UACH;QACF;QAEA,OAAOP,MAAM,CAACC,IAAI,CAAC;MACrB;IACF,CAAC,CAAC;EACJ;;EAEA;EACA,WAAkBI,WAAWA,CAACA,WAA0B,EAAE;IACxDZ,WAAW,CAACC,KAAK,CAACW,WAAW,GAAGA,WAAW,IAAI,EAAE;;IAEjD;IACAf,kBAAkB,CAACkB,IAAI,CAAC,2CAA2C,EAAE;MACnEC,SAAS,EAAE,CAAC,EAACJ,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEC,MAAM;IAClC,CAAC,CAAC;EACJ;EAEA,WAAkBD,WAAWA,CAAA,EAAkB;IAC7C,OAAOZ,WAAW,CAACC,KAAK,CAACW,WAAW,CAACC,MAAM,GAAGb,WAAW,CAACC,KAAK,CAACW,WAAW,GAAG,IAAI;EACpF;EAEOK,4BAA4BA,CAACC,UAA4E,EAE9G;IACA,IAAI,CAACd,4BAA4B,CAACe,IAAI,CAACD,UAAU,CAAC;IAElD,OAAO;MACLE,MAAM,EAAEA,CAAA,KAAM;QACZ,IAAI,CAAChB,4BAA4B,GAAG,IAAI,CAACA,4BAA4B,CAACiB,MAAM,CAAEC,CAAC,IAAKA,CAAC,KAAKJ,UAAU,CAAC;MACvG;IACF,CAAC;EACH;EAEOK,gBAAgB,GAA2B,MAAAA,CAAA,KAAY,CAAC,CAACvB,WAAW,CAACC,KAAK,CAACW,WAAW,CAACC,MAAM;EAE5FW,gBAAgBA,CAACC,KAAqC,EAAwB;IACpF,QAAQA,KAAK;MACX,KAAK,WAAW;QACd,OAAO,OAAO;MAChB,KAAK,UAAU;QACb,OAAO,eAAe;IAAC;EAE7B;EAEQC,wBAAwBA,CAACC,IAAY,EAA+C;IAC1F,IAAIA,IAAI,CAACC,UAAU,CAAC,GAAG,CAAC,EAAED,IAAI,GAAGA,IAAI,CAACE,KAAK,CAAC,CAAC,CAAC;IAC9C,IAAIF,IAAI,CAACG,QAAQ,CAAC,GAAG,CAAC,EAAEH,IAAI,GAAGA,IAAI,CAACE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,MAAME,WAAW,GAAGJ,IAAI,CAACK,KAAK,CAAC,GAAG,CAAC;IACnC,MAAMC,cAAc,GAAGF,WAAW,CAACG,GAAG,EAAE,IAAI,EAAE;IAC9C,OAAO;MAAEH,WAAW;MAAEI,QAAQ,EAAEF;IAAe,CAAC;EAClD;EAEQG,qBAAqBA,CAACC,KAAwB,EAAEC,aAAuB,EAAiB;IAC9F,MAAMC,sBAAsB,GAAGF,KAAK,CACjChB,MAAM,CAAEmB,CAAC,IAAKA,CAAC,CAACC,QAAQ,KAAK7C,SAAS,CAAC8C,MAAM,CAAC,CAC9CrB,MAAM,CAAEmB,CAAC,IAAKA,CAAC,CAACG,IAAI,KAAKL,aAAa,CAAC,CAAC,CAAC,CAAC;IAE7C,IAAIM,cAAkC;IACtC,IAAIL,sBAAsB,CAAC1B,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI,CAAC,KAChD,IAAI0B,sBAAsB,CAAC1B,MAAM,KAAK,CAAC,EAAE;MAC5C+B,cAAc,GAAGL,sBAAsB,CAAC,CAAC,CAAC,CAAEM,EAAE;IAChD,CAAC,MAAM;MACL;AACN;AACA;MACM,KAAK,MAAMC,oBAAoB,IAAIP,sBAAsB,EAAE;QACzD,IAAI,CAACF,KAAK,CAACU,IAAI,CAAEP,CAAC,IAAKA,CAAC,CAACK,EAAE,KAAKC,oBAAoB,CAAEE,OAAO,CAAE,CAAC,CAAC,IAAIR,CAAC,CAACC,QAAQ,KAAK7C,SAAS,CAAC8C,MAAM,CAAC,EAAE;UACrGE,cAAc,GAAGE,oBAAoB,CAAED,EAAE;UACzC;QACF;MACF;IACF;IAEA,IAAI,CAACD,cAAc,EAAE;MACnB,MAAM,IAAIjD,iBAAiB,CACxB,0CAAyC2C,aAAa,CAAC,CAAC,CAAE,EAAC,EAC5D5C,qBAAqB,CAACuD,mBAAmB,CAC1C;IACH;;IAEA;IACA,IAAIC,kBAAkB,GAAGN,cAAc;IACvC,KAAK,IAAIO,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGb,aAAa,CAACzB,MAAM,EAAEsC,CAAC,EAAE,EAAE;MAC7C,MAAMC,gBAAgB,GAAGf,KAAK,CAACU,IAAI,CAAEP,CAAC,IAAKA,CAAC,CAACK,EAAE,KAAKK,kBAAkB,CAAC;MACvE,IAAI,CAACE,gBAAgB,EACnB,MAAM,IAAIzD,iBAAiB,CACxB,oCAAmCuD,kBAAmB,EAAC,EACxDxD,qBAAqB,CAACuD,mBAAmB,CAC1C;MACH,MAAMI,aAAa,GAAGhB,KAAK,CAACU,IAAI,CAAEP,CAAC,IAAKA,CAAC,CAACG,IAAI,KAAKL,aAAa,CAACa,CAAC,CAAC,IAAIX,CAAC,CAACQ,OAAO,CAAE,CAAC,CAAC,KAAKE,kBAAkB,CAAC;MAC5G,IAAI,CAACG,aAAa,EAChB,MAAM,IAAI1D,iBAAiB,CACxB,sCAAqC2C,aAAa,CAACa,CAAC,CAAE,EAAC,EACxDzD,qBAAqB,CAACuD,mBAAmB,CAC1C;MACHC,kBAAkB,GAAGG,aAAa,CAACR,EAAE;IACvC;IAEA,OAAOK,kBAAkB;EAC3B;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAcI,kBAAkBA,CAAC7B,KAAqC,EAA0B;IAC9F,MAAMY,KAAK,GAAG,MAAMrC,WAAW,CAACC,KAAK,CAACsD,SAAS,CAAC,IAAI,CAAC/B,gBAAgB,CAACC,KAAK,CAAC,CAAC;IAC7E,KAAK,MAAM+B,IAAI,IAAInB,KAAK,EAAE;MACxB,IAAI,CAACA,KAAK,CAACU,IAAI,CAAEP,CAAC,IAAKA,CAAC,CAACK,EAAE,KAAKW,IAAI,CAACR,OAAO,CAAE,CAAC,CAAC,CAAC,EAAE,OAAOQ,IAAI,CAACR,OAAO,CAAE,CAAC,CAAC,IAAI,IAAI;IACpF;IAEA,OAAO,IAAI;EACb;EAEQS,gCAAgCA,CACtC9B,IAAY,EACZU,KAAwB,EACxBF,QAAgB,EAChBuB,iBAAgC,EAChC;IACA,IAAIC,aAAgC;IACpC,IAAID,iBAAiB,EAAE;MACrBC,aAAa,GAAGtB,KAAK,CAAChB,MAAM,CAAEmB,CAAC,IAAKA,CAAC,CAACG,IAAI,KAAKR,QAAQ,IAAIK,CAAC,CAACQ,OAAO,CAAE,CAAC,CAAC,KAAKU,iBAAiB,CAAC;IACjG,CAAC,MAAM;MACLC,aAAa,GAAGtB,KAAK,CAAChB,MAAM,CAAEmB,CAAC,IAAKA,CAAC,CAACG,IAAI,KAAKR,QAAQ,IAAI,CAACE,KAAK,CAACU,IAAI,CAAEa,EAAE,IAAKA,EAAE,CAACf,EAAE,KAAKL,CAAC,CAACQ,OAAO,CAAE,CAAC,CAAC,CAAC,CAAC;IAC1G;IAEA,IAAIW,aAAa,CAAC9C,MAAM,IAAI,CAAC,EAAE;IAE/B,IAAIb,WAAW,CAACE,wBAAwB,EAAE;MACxC,MAAM,IAAIP,iBAAiB,CACxB,mDAAkDgC,IAAK,KAAIgC,aAAa,CAACE,GAAG,CAAErB,CAAC,IAAKA,CAAC,CAACK,EAAE,CAAC,CAACiB,IAAI,CAAC,IAAI,CAAE,EAAC,EACvGpE,qBAAqB,CAACqE,wBAAwB,CAC/C;IACH,CAAC,MAAM;MACL,IAAI,CAAC3D,4BAA4B,CAAC4D,OAAO,CAAE1C,CAAC,IAAKA,CAAC,CAAC;QAAEK,IAAI;QAAEsC,OAAO,EAAEN,aAAa,CAACE,GAAG,CAAErB,CAAC,IAAKA,CAAC,CAACK,EAAE;MAAE,CAAC,CAAC,CAAC;IACxG;EACF;EAEA,MAAcqB,SAASA,CACrBvC,IAAY,EACZF,KAAqC,EAEpB;IAAA,IADjB0C,gBAAgB,GAAAC,SAAA,CAAAvD,MAAA,QAAAuD,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,IAAI;IAEvB,IAAI;MACF,MAAM/B,KAAK,GAAG,MAAMrC,WAAW,CAACC,KAAK,CAACsD,SAAS,CAAC,IAAI,CAAC/B,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAE7E,IAAIE,IAAI,KAAK,EAAE,IAAIA,IAAI,KAAK,GAAG,EAAE;QAC/B,MAAM2C,eAAe,GAAG,MAAM,IAAI,CAAChB,kBAAkB,CAAC7B,KAAK,CAAC;QAC5D,IAAI,CAAC6C,eAAe,EAClB,MAAM,IAAI3E,iBAAiB,CACxB,2BAA0B8B,KAAM,YAAW,EAC5C/B,qBAAqB,CAACuD,mBAAmB,CAC1C;QACH,OAAOqB,eAAe;MACxB;MAEA,MAAM;QAAEvC,WAAW;QAAEI;MAAS,CAAC,GAAG,IAAI,CAACT,wBAAwB,CAACC,IAAI,CAAC;MACrE,MAAM+B,iBAAiB,GAAG,IAAI,CAACtB,qBAAqB,CAACC,KAAK,EAAEN,WAAW,CAAC;MACxE,IAAIyB,IAAiC;MACrC,IAAIE,iBAAiB,KAAK,IAAI,EAAE;QAC9B,IAAI,CAACD,gCAAgC,CAAC9B,IAAI,EAAEU,KAAK,EAAEF,QAAQ,EAAE,IAAI,CAAC;QAClE;AACR;QACQqB,IAAI,GAAGnB,KAAK,CAACU,IAAI,CAAEP,CAAC,IAAKA,CAAC,CAACG,IAAI,KAAKR,QAAQ,IAAI,CAACE,KAAK,CAACU,IAAI,CAAEa,EAAE,IAAKA,EAAE,CAACf,EAAE,KAAKL,CAAC,CAACQ,OAAO,CAAE,CAAC,CAAC,CAAC,CAAC;MAC/F,CAAC,MAAM;QACL,IAAI,CAACS,gCAAgC,CAAC9B,IAAI,EAAEU,KAAK,EAAEF,QAAQ,EAAEuB,iBAAiB,CAAC;QAC/EF,IAAI,GAAGnB,KAAK,CAACU,IAAI,CAAEP,CAAC,IAAKA,CAAC,CAACG,IAAI,KAAKR,QAAQ,IAAIK,CAAC,CAACQ,OAAO,CAAE,CAAC,CAAC,KAAKU,iBAAiB,CAAC;MACtF;MACA,IAAI,CAACF,IAAI,EAAE,MAAM,IAAI7D,iBAAiB,CAAE,gBAAe,EAAED,qBAAqB,CAAC6E,cAAc,CAAC;MAC9F,IAAIf,IAAI,CAACf,QAAQ,KAAK7C,SAAS,CAAC8C,MAAM,IAAIyB,gBAAgB,EAAE;QAC1D,MAAM,IAAIxE,iBAAiB,CAAE,QAAOgC,IAAK,iBAAgB,EAAEjC,qBAAqB,CAAC8E,iBAAiB,CAAC;MACrG;MACA,OAAOhB,IAAI,CAACX,EAAE;IAChB,CAAC,CAAC,OAAO4B,CAAU,EAAE;MAAA,IAAAC,OAAA,EAAAC,aAAA;MACnB,IAAIF,CAAC,YAAY1E,oBAAoB,IAAI,EAAA2E,OAAA,GAAAD,CAAC,CAACG,IAAI,cAAAF,OAAA,wBAAAC,aAAA,GAAND,OAAA,CAAQG,KAAK,cAAAF,aAAA,uBAAbA,aAAA,CAAeG,MAAM,MAAK,iBAAiB,EAAE;QACpF,MAAM,IAAInF,iBAAiB,CACxB,0CAAyC,EAC1CD,qBAAqB,CAACqF,qBAAqB,EAC3CN,CAAC,CAACG,IAAI,CACP;MACH,CAAC,MAAM;QACL,IAAIH,CAAC,YAAY9E,iBAAiB,EAAE,MAAM8E,CAAC;QAC3C,MAAM,IAAI9E,iBAAiB,CAAE,kCAAiCgC,IAAK,EAAC,EAAEjC,qBAAqB,CAACsF,OAAO,EAAEP,CAAC,CAAC;MACzG;IACF;EACF;EAEA,MAAMQ,UAAUA,CAACtD,IAAY,EAAEF,KAAqC,EAAoB;IACtF,IAAI;MACF,MAAM,IAAI,CAACyC,SAAS,CAACvC,IAAI,EAAEF,KAAK,EAAE,KAAK,CAAC;MACxC,OAAO,IAAI;IACb,CAAC,CAAC,OAAOgD,CAAM,EAAE;MACf,IAAIA,CAAC,YAAY9E,iBAAiB,IAAI8E,CAAC,CAACS,IAAI,KAAKxF,qBAAqB,CAAC6E,cAAc,EAAE,OAAO,KAAK,CAAC,KAC/F,MAAME,CAAC;IACd;EACF;EAEA,MAAMU,YAAYA,CAACxD,IAAY,EAAEyD,IAAY,EAAE3D,KAAqC,EAAiB;IACnG,IAAI4D,MAA0B;IAC9B,IAAIC,WAAW,GAAG,EAAE;IACpB,IAAI;MACFD,MAAM,GAAG,MAAM,IAAI,CAACnB,SAAS,CAACvC,IAAI,EAAEF,KAAK,CAAC;MAC1C6D,WAAW,GAAG,MAAMtF,WAAW,CAACC,KAAK,CAACsF,WAAW,CAACF,MAAM,CAAC;IAC3D,CAAC,CAAC,OAAOZ,CAAM,EAAE;MACf,IAAIA,CAAC,YAAY9E,iBAAiB,IAAI8E,CAAC,CAACS,IAAI,KAAKxF,qBAAqB,CAAC6E,cAAc,EAAE;QACrF;MAAA,CACD,MAAM;QACL,MAAME,CAAC;MACT;IACF;IAEA,IAAIY,MAAM,EAAE;MACV,MAAMrF,WAAW,CAACC,KAAK,CAACuF,UAAU,CAACH,MAAM,EAAE;QACzCI,IAAI,EAAEH,WAAW,GAAGF,IAAI;QACxB3C,QAAQ,EAAE7C,SAAS,CAAC8F;MACtB,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,MAAMrD,KAAK,GAAG,MAAMrC,WAAW,CAACC,KAAK,CAACsD,SAAS,CAAC,IAAI,CAAC/B,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAC7E,MAAM;QAAEM,WAAW;QAAEI;MAAS,CAAC,GAAG,IAAI,CAACT,wBAAwB,CAACC,IAAI,CAAC;MACrE,MAAM+B,iBAAiB,GAAG,IAAI,CAACtB,qBAAqB,CAACC,KAAK,EAAEN,WAAW,CAAC;MACxE,MAAM/B,WAAW,CAACC,KAAK,CAAC0F,UAAU,CAChC;QACEhD,IAAI,EAAER,QAAQ;QACda,OAAO,EAAEU,iBAAiB,GACtB,CAACA,iBAAiB,CAAC,GACnBjC,KAAK,KAAK,UAAU,GACpB,CAAC,IAAI,CAACD,gBAAgB,CAACC,KAAK,CAAC,CAAC,GAC9B4C;MACN,CAAC,EACD;QACEoB,IAAI,EAAEL,IAAI;QACV3C,QAAQ,EAAE7C,SAAS,CAAC8F;MACtB,CAAC,CACF;IACH;EACF;EAEA,MAAMC,UAAUA,CACdhE,IAAY,EACZyD,IAAY,EACZ3D,KAAqC,EACrCmE,SAAkB,EACH;IACf,IAAIP,MAA0B;IAC9B,IAAIO,SAAS,EAAE;MACb,IAAI;QACFP,MAAM,GAAG,MAAM,IAAI,CAACnB,SAAS,CAACvC,IAAI,EAAEF,KAAK,CAAC;MAC5C,CAAC,CAAC,OAAOgD,CAAM,EAAE;QACf,IAAIA,CAAC,YAAY9E,iBAAiB,IAAI8E,CAAC,CAACS,IAAI,KAAKxF,qBAAqB,CAAC6E,cAAc,EAAE;UACrF;QAAA,CACD,MAAM;UACL,MAAME,CAAC;QACT;MACF;IACF,CAAC,MAAM;MACL,IAAI;QACF,MAAM,IAAI,CAACP,SAAS,CAACvC,IAAI,EAAEF,KAAK,CAAC;QACjC,MAAM,IAAI9B,iBAAiB,CAAE,QAAOgC,IAAK,iBAAgB,EAAEjC,qBAAqB,CAACmG,mBAAmB,CAAC;MACvG,CAAC,CAAC,OAAOpB,CAAM,EAAE;QACf,IAAIA,CAAC,YAAY9E,iBAAiB,IAAI8E,CAAC,CAACS,IAAI,KAAKxF,qBAAqB,CAAC6E,cAAc,EAAE;UACrF;QAAA,CACD,MAAM;UACL,MAAME,CAAC;QACT;MACF;IACF;IAEA,IAAIY,MAAM,EAAE;MACV,MAAMrF,WAAW,CAACC,KAAK,CAACuF,UAAU,CAACH,MAAM,EAAE;QACzCI,IAAI,EAAEL,IAAI;QACV3C,QAAQ,EAAE7C,SAAS,CAAC8F;MACtB,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,MAAMrD,KAAK,GAAG,MAAMrC,WAAW,CAACC,KAAK,CAACsD,SAAS,CAAC,IAAI,CAAC/B,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAC7E,MAAM;QAAEM,WAAW;QAAEI;MAAS,CAAC,GAAG,IAAI,CAACT,wBAAwB,CAACC,IAAI,CAAC;MACrE,MAAM+B,iBAAiB,GAAG,IAAI,CAACtB,qBAAqB,CAACC,KAAK,EAAEN,WAAW,CAAC;MACxE,MAAM/B,WAAW,CAACC,KAAK,CAAC0F,UAAU,CAChC;QACEhD,IAAI,EAAER,QAAQ;QACda,OAAO,EAAEU,iBAAiB,GACtB,CAACA,iBAAiB,CAAC,GACnBjC,KAAK,KAAK,UAAU,GACpB,CAAC,IAAI,CAACD,gBAAgB,CAACC,KAAK,CAAC,CAAC,GAC9B4C;MACN,CAAC,EACD;QACEoB,IAAI,EAAEL,IAAI;QACV3C,QAAQ,EAAE7C,SAAS,CAAC8F;MACtB,CAAC,CACF;IACH;EACF;EAEA,MAAMnC,SAASA,CAAC5B,IAAY,EAAEF,KAAqC,EAAqB;IACtF,MAAMqE,QAAQ,GAAG,MAAM9F,WAAW,CAACC,KAAK,CAACsD,SAAS,CAAC,IAAI,CAAC/B,gBAAgB,CAACC,KAAK,CAAC,CAAC;IAChF,IAAIE,IAAI,KAAK,EAAE,EAAE;MACf,MAAM0D,MAAM,GAAG,MAAM,IAAI,CAACnB,SAAS,CAACvC,IAAI,EAAEF,KAAK,EAAE,KAAK,CAAC;MACvD,MAAMY,KAAK,GAAGyD,QAAQ,CAACzE,MAAM,CAAEmB,CAAC,IAAK,CAACA,CAAC,CAACQ,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,KAAKqC,MAAM,CAAC;MAErE,OAAOU,KAAK,CAACC,IAAI,CAAC,IAAIC,GAAG,CAAC5D,KAAK,CAACwB,GAAG,CAAErB,CAAC,IAAKA,CAAC,CAACG,IAAI,CAAC,CAAC,CAAC;IACtD,CAAC,MAAM;MACL,MAAM2B,eAAe,GAAG,MAAM,IAAI,CAAChB,kBAAkB,CAAC7B,KAAK,CAAC;MAC5D,OAAOsE,KAAK,CAACC,IAAI,CAAC,IAAIC,GAAG,CAACH,QAAQ,CAACzE,MAAM,CAAEmB,CAAC,IAAK,CAACA,CAAC,CAACQ,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,KAAKsB,eAAe,CAAC,CAACT,GAAG,CAAErB,CAAC,IAAKA,CAAC,CAACG,IAAI,CAAC,CAAC,CAAC;IACjH;EACF;EAEA,MAAMuD,eAAeA,CAACvE,IAAY,EAAEF,KAAqC,EAAiB;IACxF,IAAI;MACF,MAAM,IAAI,CAACyC,SAAS,CAACvC,IAAI,EAAEF,KAAK,CAAC;MACjC,MAAM,IAAI9B,iBAAiB,CAAE,QAAOgC,IAAK,iBAAgB,EAAEjC,qBAAqB,CAACmG,mBAAmB,CAAC;IACvG,CAAC,CAAC,OAAOpB,CAAM,EAAE;MACf,IAAIA,CAAC,YAAY9E,iBAAiB,IAAI8E,CAAC,CAACS,IAAI,KAAKxF,qBAAqB,CAAC6E,cAAc,EAAE;QACrF;MAAA,CACD,MAAM,IAAIE,CAAC,YAAY9E,iBAAiB,IAAI8E,CAAC,CAACS,IAAI,KAAKxF,qBAAqB,CAAC8E,iBAAiB,EAAE;QAC/F,MAAM,IAAI7E,iBAAiB,CAAE,aAAYgC,IAAK,iBAAgB,EAAEjC,qBAAqB,CAACmG,mBAAmB,CAAC;MAC5G,CAAC,MAAM;QACL,MAAMpB,CAAC;MACT;IACF;IAEA,MAAMpC,KAAK,GAAG,MAAMrC,WAAW,CAACC,KAAK,CAACsD,SAAS,CAAC,IAAI,CAAC/B,gBAAgB,CAACC,KAAK,CAAC,CAAC;IAC7E,MAAM;MAAEM,WAAW;MAAEI;IAAS,CAAC,GAAG,IAAI,CAACT,wBAAwB,CAACC,IAAI,CAAC;IACrE,MAAM+B,iBAAiB,GAAG,IAAI,CAACtB,qBAAqB,CAACC,KAAK,EAAEN,WAAW,CAAC;IAExE,MAAM/B,WAAW,CAACC,KAAK,CAACiG,eAAe,CAAC;MACtCvD,IAAI,EAAER,QAAQ;MACda,OAAO,EAAEU,iBAAiB,GACtB,CAACA,iBAAiB,CAAC,GACnBjC,KAAK,KAAK,UAAU,GACpB,CAAC,IAAI,CAACD,gBAAgB,CAACC,KAAK,CAAC,CAAC,GAC9B4C;IACN,CAAC,CAAC;EACJ;EAEA,MAAM8B,QAAQA,CAACxE,IAAY,EAAEF,KAAqC,EAAmB;IACnF,MAAM4D,MAAM,GAAG,MAAM,IAAI,CAACnB,SAAS,CAACvC,IAAI,EAAEF,KAAK,CAAC;IAChD,MAAM2E,OAAO,GAAG,MAAMpG,WAAW,CAACC,KAAK,CAACsF,WAAW,CAACF,MAAM,CAAC;IAC3D,OAAOe,OAAO;EAChB;EAEA,MAAMC,YAAYA,CAACC,KAAa,EAAEC,MAAsC,EAAiB;IACvF;IACA;EACF;EAEA,MAAMC,UAAUA,CAAC7E,IAAY,EAAEF,KAAqC,EAAiB;IACnF,MAAM4D,MAAM,GAAG,MAAM,IAAI,CAACnB,SAAS,CAACvC,IAAI,EAAEF,KAAK,CAAC;IAChD,MAAMzB,WAAW,CAACC,KAAK,CAACuG,UAAU,CAACnB,MAAM,CAAC;EAC5C;EAEA,MAAMoB,QAAQA,CAAC9E,IAAY,EAAEF,KAAqC,EAA8C;IAC9G,MAAM4D,MAAM,GAAG,MAAM,IAAI,CAACnB,SAAS,CAACvC,IAAI,EAAEF,KAAK,EAAE,KAAK,CAAC;IACvD,MAAM+B,IAAI,GAAG,MAAMxD,WAAW,CAACC,KAAK,CAACyG,OAAO,CAACrB,MAAM,CAAE;IAErD,OAAO;MACLsB,IAAI,EAAEnD,IAAI,CAACmD,IAAI,IAAI,CAAC;MACpBC,WAAW,EAAE,IAAIC,IAAI,CAACrD,IAAI,CAACsD,WAAW,CAAE,CAACC,OAAO,EAAE;MAClDC,OAAO,EAAE,IAAIH,IAAI,CAACrD,IAAI,CAACyD,YAAY,CAAE,CAACF,OAAO,EAAE;MAC/CG,WAAW,EAAE1D,IAAI,CAACf,QAAQ,KAAK7C,SAAS,CAAC8C,MAAM;MAC/CyE,MAAM,EAAE3D,IAAI,CAACf,QAAQ,KAAK7C,SAAS,CAAC8C;IACtC,CAAC;EACH;AACF"}
@@ -1,2 +1,10 @@
1
-
1
+ export let MimeTypes = /*#__PURE__*/function (MimeTypes) {
2
+ MimeTypes["BINARY"] = "application/octet-stream";
3
+ MimeTypes["CSV"] = "text/csv";
4
+ MimeTypes["FOLDER"] = "application/vnd.google-apps.folder";
5
+ MimeTypes["JSON"] = "application/json";
6
+ MimeTypes["PDF"] = "application/pdf";
7
+ MimeTypes["TEXT"] = "text/plain";
8
+ return MimeTypes;
9
+ }({});
2
10
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["google-drive/types.ts"],"mappings":""}
1
+ {"version":3,"names":["MimeTypes"],"sourceRoot":"../../../src","sources":["google-drive/types.ts"],"mappings":"AAEA,WAAYA,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA"}
@@ -2,8 +2,8 @@ import { CloudStorageScope, type CloudStorageFileStat } from './types/main';
2
2
  declare const RNCloudStorage: {
3
3
  getDefaultScope: () => CloudStorageScope;
4
4
  setDefaultScope: (scope: CloudStorageScope) => CloudStorageScope;
5
- getGoogleDriveAccessToken: () => string | undefined;
6
- setGoogleDriveAccessToken: (accessToken: string) => string;
5
+ getGoogleDriveAccessToken: () => string | null;
6
+ setGoogleDriveAccessToken: (accessToken: string | null) => string | null;
7
7
  setThrowOnFilesWithSameName: (enable: boolean) => boolean;
8
8
  subscribeToFilesWithSameName: (subscriber: ({ path, fileIds }: {
9
9
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"RNCloudStorage.d.ts","sourceRoot":"","sources":["../../src/RNCloudStorage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAM5E,QAAA,MAAM,cAAc;;6BAEO,iBAAiB;;6CAED,MAAM;0CACT,OAAO;;;;;;;IAS7C;;;;OAIG;4BACyB,QAAQ,OAAO,CAAC;IAI5C;;;;;;OAMG;uBACgB,MAAM,QAAQ,MAAM,UAAU,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAIlF;;;;;OAKG;mBACY,MAAM,UAAU,iBAAiB,KAAG,QAAQ,OAAO,CAAC;IAInE;;;;;;OAMG;sBACe,MAAM,QAAQ,MAAM,UAAU,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAIjF;;;;;OAKG;kBACW,MAAM,UAAU,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAI/D;;;;;OAKG;oBACa,MAAM,UAAU,iBAAiB,KAAG,QAAQ,MAAM,EAAE,CAAC;IAIrE;;;;;OAKG;qBACc,MAAM,UAAU,iBAAiB,KAAG,QAAQ,MAAM,CAAC;IAIpE;;;;;OAKG;yBACkB,MAAM,UAAU,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAItE;;;;;OAKG;mBACY,MAAM,UAAU,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAIhE;;;;;OAKG;iBACgB,MAAM,UAAU,iBAAiB,KAAG,QAAQ,oBAAoB,CAAC;CAWrF,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"RNCloudStorage.d.ts","sourceRoot":"","sources":["../../src/RNCloudStorage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAM5E,QAAA,MAAM,cAAc;;6BAEO,iBAAiB;;6CAED,MAAM,GAAG,IAAI;0CAChB,OAAO;;;;;;;IAS7C;;;;OAIG;4BACyB,QAAQ,OAAO,CAAC;IAI5C;;;;;;OAMG;uBACgB,MAAM,QAAQ,MAAM,UAAU,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAIlF;;;;;OAKG;mBACY,MAAM,UAAU,iBAAiB,KAAG,QAAQ,OAAO,CAAC;IAInE;;;;;;OAMG;sBACe,MAAM,QAAQ,MAAM,UAAU,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAIjF;;;;;OAKG;kBACW,MAAM,UAAU,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAI/D;;;;;OAKG;oBACa,MAAM,UAAU,iBAAiB,KAAG,QAAQ,MAAM,EAAE,CAAC;IAIrE;;;;;OAKG;qBACc,MAAM,UAAU,iBAAiB,KAAG,QAAQ,MAAM,CAAC;IAIpE;;;;;OAKG;yBACkB,MAAM,UAAU,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAItE;;;;;OAKG;mBACY,MAAM,UAAU,iBAAiB,KAAG,QAAQ,IAAI,CAAC;IAIhE;;;;;OAKG;iBACgB,MAAM,UAAU,iBAAiB,KAAG,QAAQ,oBAAoB,CAAC;CAWrF,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { type GoogleDriveFile, type GoogleDriveFileSpace } from './types';
2
+ export declare class GoogleDriveHttpError extends Error {
3
+ status: number;
4
+ json: any;
5
+ constructor(message: string, status: number, json: any);
6
+ }
7
+ export default class GoogleDriveApiClient {
8
+ accessToken: string;
9
+ constructor(accessToken?: string);
10
+ private buildQueryString;
11
+ private request;
12
+ private buildMultiPartBody;
13
+ listFiles(space: GoogleDriveFileSpace): Promise<GoogleDriveFile[]>;
14
+ getFile(fileId: string): Promise<GoogleDriveFile>;
15
+ getFileText(fileId: string): Promise<string>;
16
+ deleteFile(fileId: string): Promise<void>;
17
+ createFile(metadata: {
18
+ name: string;
19
+ parents?: string[];
20
+ }, media: {
21
+ mimeType: string;
22
+ body: string;
23
+ }): Promise<void>;
24
+ createDirectory(metadata: {
25
+ name: string;
26
+ parents?: string[];
27
+ }): Promise<void>;
28
+ updateFile(fileId: string, media: {
29
+ mimeType: string;
30
+ body: string;
31
+ }): Promise<void>;
32
+ }
33
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/google-drive/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAG1B,MAAM,SAAS,CAAC;AAMjB,qBAAa,oBAAqB,SAAQ,KAAK;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,GAAG,CAAC;gBAEL,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;CAKvD;AAID,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAChC,WAAW,EAAE,MAAM,CAAC;gBAEf,WAAW,GAAE,MAAW;IAIpC,OAAO,CAAC,gBAAgB;YAeV,OAAO;IAkCrB,OAAO,CAAC,kBAAkB;IAab,SAAS,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAoBlE,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IASjD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAO5C,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzC,UAAU,CACrB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,EAC9C,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GACxC,OAAO,CAAC,IAAI,CAAC;IAeH,eAAe,CAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9E,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAYlG"}
@@ -1,6 +1,9 @@
1
1
  import type NativeRNCloudStorage from '../types/native';
2
2
  import { type NativeRNCloudCloudStorageFileStat, type NativeRNCloudCloudStorageScope } from '../types/native';
3
- export default class GoogleDriveApiClient implements NativeRNCloudStorage {
3
+ /**
4
+ * A proxy class that wraps the Google Drive API client implementation to match the native iOS interface.
5
+ */
6
+ export default class GoogleDrive implements NativeRNCloudStorage {
4
7
  private static drive;
5
8
  static throwOnFilesWithSameName: boolean;
6
9
  filesWithSameNameSubscribers: (({ path, fileIds }: {
@@ -8,8 +11,8 @@ export default class GoogleDriveApiClient implements NativeRNCloudStorage {
8
11
  fileIds: string[];
9
12
  }) => void)[];
10
13
  constructor();
11
- static set accessToken(accessToken: string | undefined);
12
- static get accessToken(): string | undefined;
14
+ static set accessToken(accessToken: string | null);
15
+ static get accessToken(): string | null;
13
16
  subscribeToFilesWithSameName(subscriber: ({ path, fileIds }: {
14
17
  path: string;
15
18
  fileIds: string[];
@@ -26,7 +29,6 @@ export default class GoogleDriveApiClient implements NativeRNCloudStorage {
26
29
  * @returns A promise that resolves to the ID of the root directory or null if it could not be found.
27
30
  */
28
31
  private getRootDirectoryId;
29
- private listInternalFiles;
30
32
  private checkIfMultipleFilesWithSameName;
31
33
  private getFileId;
32
34
  fileExists(path: string, scope: NativeRNCloudCloudStorageScope): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/google-drive/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,oBAAoB,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAEL,KAAK,iCAAiC,EACtC,KAAK,8BAA8B,EACpC,MAAM,iBAAiB,CAAC;AAKzB,MAAM,CAAC,OAAO,OAAO,oBAAqB,YAAW,oBAAoB;IACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAwB;IAC5C,OAAc,wBAAwB,UAAS;IACxC,4BAA4B,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,CAAC,EAAE,CAAC;;IAwB1G,WAAkB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAO5D;IAED,WAAkB,WAAW,IAAI,MAAM,GAAG,SAAS,CAElD;IAEM,4BAA4B,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,GAAG;QACjH,MAAM,EAAE,MAAM,IAAI,CAAC;KACpB;IAUM,gBAAgB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAA0D;IAEzG,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,wBAAwB;IAQhC,OAAO,CAAC,qBAAqB;IAiD7B;;;;OAIG;YACW,kBAAkB;YASlB,iBAAiB;IAS/B,OAAO,CAAC,gCAAgC;YAyB1B,SAAS;IAiDjB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,OAAO,CAAC;IAUjF,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC9F,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,8BAA8B,EACrC,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC;IA2CV,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAajF,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BnF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,MAAM,CAAC;IAM9E,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlF,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9E,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,iCAAiC,CAAC;CAgBhH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/google-drive/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,oBAAoB,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAEL,KAAK,iCAAiC,EACtC,KAAK,8BAA8B,EACpC,MAAM,iBAAiB,CAAC;AAOzB;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,WAAY,YAAW,oBAAoB;IAC9D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAoD;IACxE,OAAc,wBAAwB,UAAS;IACxC,4BAA4B,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,CAAC,EAAE,CAAC;;IAuB1G,WAAkB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,EAOvD;IAED,WAAkB,WAAW,IAAI,MAAM,GAAG,IAAI,CAE7C;IAEM,4BAA4B,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,GAAG;QACjH,MAAM,EAAE,MAAM,IAAI,CAAC;KACpB;IAUM,gBAAgB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAsD;IAErG,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,wBAAwB;IAQhC,OAAO,CAAC,qBAAqB;IAiD7B;;;;OAIG;YACW,kBAAkB;IAShC,OAAO,CAAC,gCAAgC;YAyB1B,SAAS;IAiDjB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,OAAO,CAAC;IAUjF,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC9F,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,8BAA8B,EACrC,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC;IAmDV,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAajF,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BnF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,MAAM,CAAC;IAM9E,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlF,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9E,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,iCAAiC,CAAC;CAYhH"}
@@ -1,12 +1,19 @@
1
+ export type GoogleDriveFileSpace = 'appDataFolder' | 'drive';
2
+ export declare enum MimeTypes {
3
+ BINARY = "application/octet-stream",
4
+ CSV = "text/csv",
5
+ FOLDER = "application/vnd.google-apps.folder",
6
+ JSON = "application/json",
7
+ PDF = "application/pdf",
8
+ TEXT = "text/plain"
9
+ }
1
10
  export interface GoogleDriveFile {
2
11
  id: string;
3
12
  kind: 'drive#file';
4
13
  mimeType: string;
5
14
  name: string;
6
15
  parents: string[];
7
- spaces: ('appDataFolder' | 'drive')[];
8
- }
9
- export interface GoogleDriveDetailedFile extends GoogleDriveFile {
16
+ spaces: GoogleDriveFileSpace[];
10
17
  createdTime: string;
11
18
  modifiedTime: string;
12
19
  size?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/google-drive/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,CAAC,eAAe,GAAG,OAAO,CAAC,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uCAAuC;IACtD,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,yBAAyB,CAAC,EAAE,WAAW,CAAC;IAExC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,CAAC;IAEX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,gCAAgC;IAC/C,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,IAAI,EAAE,gBAAgB,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,yCAAyC;IACxD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,sCAAsC;IACrD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yBAAyB,CAAC,EAAE,WAAW,CAAC;IACxC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,qCAAqC;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,yCAAyC;IACxD,UAAU,EAAE,OAAO,GAAG,WAAW,GAAG,WAAW,CAAC;IAChD,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yBAAyB,CAAC,EAAE,WAAW,CAAC;IACxC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/google-drive/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG,eAAe,GAAG,OAAO,CAAC;AAE7D,oBAAY,SAAS;IACnB,MAAM,6BAA6B;IACnC,GAAG,aAAa;IAChB,MAAM,uCAAuC;IAC7C,IAAI,qBAAqB;IACzB,GAAG,oBAAoB;IACvB,IAAI,eAAe;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uCAAuC;IACtD,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,yBAAyB,CAAC,EAAE,WAAW,CAAC;IAExC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,CAAC;IAEX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,gCAAgC;IAC/C,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,IAAI,EAAE,gBAAgB,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,yCAAyC;IACxD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,sCAAsC;IACrD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yBAAyB,CAAC,EAAE,WAAW,CAAC;IACxC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,qCAAqC;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,yCAAyC;IACxD,UAAU,EAAE,OAAO,GAAG,WAAW,GAAG,WAAW,CAAC;IAChD,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yBAAyB,CAAC,EAAE,WAAW,CAAC;IACxC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-cloud-storage",
3
- "version": "1.2.2",
3
+ "version": "1.2.4",
4
4
  "description": "Save to & read from iCloud and Google Drive using React Native",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -183,8 +183,5 @@
183
183
  }
184
184
  ]
185
185
  ]
186
- },
187
- "dependencies": {
188
- "react-native-google-drive-api-wrapper-js": "^1.2.3"
189
186
  }
190
187
  }
@@ -1,6 +1,6 @@
1
1
  import { Platform } from 'react-native';
2
2
  import createRNCloudStorage from './createRNCloudStorage';
3
- import GoogleDriveApiClient from './google-drive';
3
+ import GoogleDrive from './google-drive';
4
4
  import { CloudStorageScope, type CloudStorageFileStat } from './types/main';
5
5
  import { verifyLeadingSlash } from './utils/helpers';
6
6
 
@@ -10,15 +10,15 @@ let defaultScope = CloudStorageScope.AppData;
10
10
  const RNCloudStorage = {
11
11
  getDefaultScope: () => defaultScope,
12
12
  setDefaultScope: (scope: CloudStorageScope) => (defaultScope = scope),
13
- getGoogleDriveAccessToken: () => GoogleDriveApiClient.accessToken,
14
- setGoogleDriveAccessToken: (accessToken: string) => (GoogleDriveApiClient.accessToken = accessToken),
15
- setThrowOnFilesWithSameName: (enable: boolean) => (GoogleDriveApiClient.throwOnFilesWithSameName = enable),
13
+ getGoogleDriveAccessToken: () => GoogleDrive.accessToken,
14
+ setGoogleDriveAccessToken: (accessToken: string | null) => (GoogleDrive.accessToken = accessToken),
15
+ setThrowOnFilesWithSameName: (enable: boolean) => (GoogleDrive.throwOnFilesWithSameName = enable),
16
16
  /* eslint-disable @typescript-eslint/no-unused-vars */
17
17
  subscribeToFilesWithSameName:
18
18
  Platform.OS === 'ios'
19
19
  ? // @ts-expect-error - subscriber is undefined; just a mock
20
20
  (subscriber: ({ path, fileIds }: { path: string; fileIds: string[] }) => void) => ({ remove: () => {} })
21
- : (nativeInstance as GoogleDriveApiClient).subscribeToFilesWithSameName.bind(nativeInstance),
21
+ : (nativeInstance as GoogleDrive).subscribeToFilesWithSameName.bind(nativeInstance),
22
22
  /* eslint-enable @typescript-eslint/no-unused-vars */
23
23
 
24
24
  /**
@@ -1,6 +1,6 @@
1
1
  import { NativeModules, Platform } from 'react-native';
2
2
  import type NativeRNCloudStorage from './types/native';
3
- import GoogleDriveApiClient from './google-drive';
3
+ import GoogleDrive from './google-drive';
4
4
  import { CloudStorageErrorCode } from './types/native';
5
5
  import CloudStorageError from './utils/CloudStorageError';
6
6
 
@@ -49,5 +49,5 @@ export default function createRNCloudStorage(): NativeRNCloudStorage {
49
49
  );
50
50
  }
51
51
 
52
- return new GoogleDriveApiClient();
52
+ return new GoogleDrive();
53
53
  }
@@ -0,0 +1,177 @@
1
+ import {
2
+ MimeTypes,
3
+ type GoogleDriveFile,
4
+ type GoogleDriveFileSpace,
5
+ type GoogleDriveListOperationQueryParameters,
6
+ type GoogleDriveListOperationResponse,
7
+ } from './types';
8
+
9
+ const BASE_URL = 'https://www.googleapis.com/drive/v3';
10
+ const BASE_UPLOAD_URL = 'https://www.googleapis.com/upload/drive/v3';
11
+ const MULTIPART_BOUNDARY = 'foo_bar_baz';
12
+
13
+ export class GoogleDriveHttpError extends Error {
14
+ public status: number;
15
+ public json: any;
16
+
17
+ constructor(message: string, status: number, json: any) {
18
+ super(message);
19
+ this.status = status;
20
+ this.json = json;
21
+ }
22
+ }
23
+
24
+ // TODO: fetch timeout
25
+ // TODO: properly handle errors
26
+ export default class GoogleDriveApiClient {
27
+ public accessToken: string;
28
+
29
+ constructor(accessToken: string = '') {
30
+ this.accessToken = accessToken;
31
+ }
32
+
33
+ private buildQueryString(query: object): string {
34
+ let res = Object.entries(query)
35
+ .filter(([, value]) => value !== undefined)
36
+ .map(([key, value]) => {
37
+ if (typeof value === 'boolean') return `${encodeURIComponent(key)}=${value ? 'true' : 'false'}`;
38
+ return `${encodeURIComponent(key)}=${encodeURIComponent(value!)}`;
39
+ })
40
+ .join('&');
41
+
42
+ if (res) {
43
+ res = `?${res}`;
44
+ }
45
+ return res;
46
+ }
47
+
48
+ private async request<T extends Record<string, any> | string | void = void>(
49
+ operation: `/${string}`,
50
+ { queryParameters, baseUrl, ...options }: RequestInit & { queryParameters?: object; baseUrl?: string } = {}
51
+ ): Promise<T> {
52
+ let path = `${baseUrl ?? BASE_URL}${operation}`;
53
+ if (queryParameters) {
54
+ path += this.buildQueryString(queryParameters);
55
+ }
56
+ const response = await fetch(path, {
57
+ ...options,
58
+ headers: {
59
+ ...options.headers,
60
+ Authorization: `Bearer ${this.accessToken}`,
61
+ },
62
+ });
63
+
64
+ if (!response.ok) {
65
+ let errorMessage: string;
66
+ let json: any = null;
67
+ try {
68
+ json = await response.json();
69
+ errorMessage = json.error?.message ?? `Request failed with status ${response.status}`;
70
+ } catch (e) {
71
+ errorMessage = `Request failed with status ${response.status}`;
72
+ }
73
+ throw new GoogleDriveHttpError(errorMessage, response.status, json);
74
+ }
75
+
76
+ if (options?.headers && 'Accept' in options.headers && options.headers.Accept !== 'application/json') {
77
+ return response.text() as unknown as Promise<T>;
78
+ }
79
+ return response.json();
80
+ }
81
+
82
+ private buildMultiPartBody(metadata: object, media: { mimeType: string; body: string }): string {
83
+ const body: string[] = [];
84
+ body.push(`--${MULTIPART_BOUNDARY}\r\n`);
85
+ body.push(`Content-Type: ${MimeTypes.JSON}; charset=UTF-8\r\n\r\n`);
86
+ body.push(`${JSON.stringify(metadata)}\r\n`);
87
+ body.push(`--${MULTIPART_BOUNDARY}\r\n`);
88
+ body.push(`Content-Type: ${media.mimeType}\r\n\r\n`);
89
+ body.push(`${media.body}\r\n`);
90
+ body.push(`--${MULTIPART_BOUNDARY}--`);
91
+
92
+ return body.join('');
93
+ }
94
+
95
+ public async listFiles(space: GoogleDriveFileSpace): Promise<GoogleDriveFile[]> {
96
+ const files: GoogleDriveFile[] = [];
97
+ let pageToken: string | undefined;
98
+ const fields = ['id', 'kind', 'mimeType', 'name', 'parents', 'spaces', 'size', 'createdTime', 'modifiedTime'];
99
+ do {
100
+ const queryParameters: GoogleDriveListOperationQueryParameters = {
101
+ fields: `files(${fields.join(',')}),nextPageToken`,
102
+ spaces: space,
103
+ };
104
+ const response = await this.request<GoogleDriveListOperationResponse>(`/files`, {
105
+ queryParameters,
106
+ });
107
+
108
+ files.push(...response.files);
109
+ pageToken = response.nextPageToken ?? undefined;
110
+ } while (pageToken);
111
+
112
+ return files;
113
+ }
114
+
115
+ public async getFile(fileId: string): Promise<GoogleDriveFile> {
116
+ const queryParameters: GoogleDriveListOperationQueryParameters = {
117
+ fields: ['id', 'kind', 'mimeType', 'name', 'parents', 'spaces', 'size', 'createdTime', 'modifiedTime'].join(','),
118
+ };
119
+ return this.request<GoogleDriveFile>(`/files/${fileId}`, {
120
+ queryParameters,
121
+ });
122
+ }
123
+
124
+ public async getFileText(fileId: string): Promise<string> {
125
+ return this.request<string>(`/files/${fileId}`, {
126
+ queryParameters: { alt: 'media' },
127
+ headers: { Accept: 'text/plain' },
128
+ });
129
+ }
130
+
131
+ public async deleteFile(fileId: string): Promise<void> {
132
+ return this.request(`/files/${fileId}`, {
133
+ method: 'DELETE',
134
+ });
135
+ }
136
+
137
+ public async createFile(
138
+ metadata: { name: string; parents?: string[] },
139
+ media: { mimeType: string; body: string }
140
+ ): Promise<void> {
141
+ const multipartRequestBody = this.buildMultiPartBody(metadata, media);
142
+
143
+ await this.request(`/files`, {
144
+ queryParameters: { uploadType: 'multipart' },
145
+ method: 'POST',
146
+ headers: {
147
+ 'Content-Type': `multipart/related; boundary=${MULTIPART_BOUNDARY}`,
148
+ 'Content-Length': multipartRequestBody.length.toString(),
149
+ },
150
+ body: multipartRequestBody,
151
+ baseUrl: BASE_UPLOAD_URL,
152
+ });
153
+ }
154
+
155
+ public async createDirectory(metadata: { name: string; parents?: string[] }): Promise<void> {
156
+ await this.request(`/files`, {
157
+ method: 'POST',
158
+ headers: {
159
+ 'Content-Type': `application/json`,
160
+ },
161
+ body: JSON.stringify({ ...metadata, mimeType: MimeTypes.FOLDER }),
162
+ });
163
+ }
164
+
165
+ public async updateFile(fileId: string, media: { mimeType: string; body: string }): Promise<void> {
166
+ await this.request(`/files/${fileId}`, {
167
+ queryParameters: { uploadType: 'media' },
168
+ method: 'PATCH',
169
+ headers: {
170
+ 'Content-Type': media.mimeType,
171
+ 'Content-Length': media.body.length.toString(),
172
+ },
173
+ body: media.body,
174
+ baseUrl: BASE_UPLOAD_URL,
175
+ });
176
+ }
177
+ }