adapter.js 980 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. const mime = require('mime-types')
  2. const querystring = require('node:querystring')
  3. exports.isFolder = (item) => {
  4. return item['.tag'] === 'folder'
  5. }
  6. exports.getItemSize = (item) => {
  7. return item.size
  8. }
  9. exports.getItemIcon = (item) => {
  10. return item['.tag']
  11. }
  12. exports.getItemSubList = (item) => {
  13. return item.entries
  14. }
  15. exports.getItemName = (item) => {
  16. return item.name || ''
  17. }
  18. exports.getMimeType = (item) => {
  19. return mime.lookup(exports.getItemName(item)) || null
  20. }
  21. exports.getItemId = (item) => {
  22. return item.id
  23. }
  24. exports.getItemRequestPath = (item) => {
  25. return encodeURIComponent(item.path_lower)
  26. }
  27. exports.getItemModifiedDate = (item) => {
  28. return item.server_modified
  29. }
  30. exports.getItemThumbnailUrl = (item) => {
  31. return `/dropbox/thumbnail/${exports.getItemRequestPath(item)}`
  32. }
  33. exports.getNextPagePath = (data) => {
  34. if (!data.has_more) {
  35. return null
  36. }
  37. const query = { cursor: data.cursor }
  38. return `?${querystring.stringify(query)}`
  39. }