1- import * as _ from 'ramda' ;
1+ import { isEmpty , isNil , view , set , type } from 'ramda' ;
22import { RouteOptions } from './types' ;
33
44const isPluginActive = ( request ) : boolean => {
@@ -10,14 +10,14 @@ const isPluginActive = (request): boolean => {
1010const isResponseAbsent = ( request ) : boolean => {
1111 const response = request . response ;
1212 return (
13- response . statusCode !== 200 || _ . isEmpty ( response . source ) || _ . isNil ( response . source )
13+ response . statusCode !== 200 || isEmpty ( response . source ) || isNil ( response . source )
1414 ) ;
1515} ;
1616
1717const getRouteOptions = ( request , getSignedUrl ) : RouteOptions => {
1818 const options = request . route . settings . plugins . signedUrl ;
1919 const source = options . pathToSource
20- ? _ . view ( options . pathToSource , request . response . source )
20+ ? view ( options . pathToSource , request . response . source )
2121 : request . response . source ;
2222 return {
2323 ...options ,
@@ -28,18 +28,18 @@ const getRouteOptions = (request, getSignedUrl): RouteOptions => {
2828
2929const updateSignedUrl = async ( options : RouteOptions ) => {
3030 const { source, lenses, getSignedUrl } = options ;
31- const toUpdateLinks : string [ ] = lenses . map ( ( lens ) => _ . view ( lens , source ) ) ;
31+ const toUpdateLinks : string [ ] = lenses . map ( ( lens ) => view ( lens , source ) ) ;
3232 const promises = toUpdateLinks . map ( async ( link : string ) => await getSignedUrl ( link ) ) ;
3333 const updatedLinks = await Promise . all ( promises ) ;
3434 const updatedSource = updatedLinks . reduce ( ( source , link , index ) => {
35- return _ . set ( lenses [ index ] , link , source ) ;
35+ return view ( lenses [ index ] , source ) ? set ( lenses [ index ] , link , source ) : source ;
3636 } , source ) ;
3737 return updatedSource as object ;
3838} ;
3939
4040const processSource = async ( options : RouteOptions ) => {
4141 // single object
42- if ( _ . type ( options . source ) !== 'Array' ) {
42+ if ( type ( options . source ) !== 'Array' ) {
4343 return updateSignedUrl ( options ) ;
4444 }
4545
@@ -64,7 +64,7 @@ const signUrl = (getSignedUrl) => async (request, h) => {
6464 const routeOptions = getRouteOptions ( request , getSignedUrl ) ;
6565 const updated = await processSource ( routeOptions ) ;
6666 const updatedSource = routeOptions . pathToSource
67- ? _ . set ( routeOptions . pathToSource , updated , request . response . source )
67+ ? set ( routeOptions . pathToSource , updated , request . response . source )
6868 : updated ;
6969
7070 request . response . source = updatedSource ;
0 commit comments