functions.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. export const API_PREFIX = '/api'
  2. export const API_ROUTES = {
  3. ping: () => `${API_PREFIX}/ping`,
  4. listScenes: () => `${API_PREFIX}/listScenes`,
  5. listSceneQualities: sceneName => `${API_PREFIX}/listSceneQualities?${new URLSearchParams({ sceneName })}`,
  6. getImage: (sceneName, imageQuality, nearestQuality = false) => `${API_PREFIX}/getImage?${new URLSearchParams({ sceneName, imageQuality, nearestQuality })}`,
  7. getImageExtracts: (sceneName, imageQuality, horizontalExtractCount, verticalExtractCount, nearestQuality = false) =>
  8. `${API_PREFIX}/getImageExtracts?${new URLSearchParams({
  9. sceneName,
  10. imageQuality,
  11. horizontalExtractCount,
  12. verticalExtractCount,
  13. nearestQuality
  14. })}`
  15. }
  16. export const delay = ms => new Promise(res => setTimeout(res, ms))
  17. export const buildURI = (ssl, host, port, route = '') => `${ssl ? 'https' : 'http'}://${host}:${port}${route}`
  18. export const buildWsURI = (ssl, host, port, uuid = '') => `${ssl ? 'wss' : 'ws'}://${host}:${port}?uuid=${uuid}`
  19. export const sortIntArray = intArray => intArray ? intArray.sort((a, b) => a - b) : null
  20. export const findNearestUpper = (value, arrInt) => {
  21. const arr = sortIntArray(arrInt)
  22. const index = arr.findIndex(x => value === x)
  23. if (index >= 0 && index <= arr.length - 1)
  24. return index === arr.length - 1
  25. ? arr[index]
  26. : arr[index + 1]
  27. }
  28. export const findNearestLower = (value, arrInt) => {
  29. const arr = sortIntArray(arrInt)
  30. const index = arr.findIndex(x => value === x)
  31. if (index >= 0 && index <= arr.length - 1)
  32. return index === 0
  33. ? arr[index]
  34. : arr[index - 1]
  35. }