Skip to content

Commit 75ee724

Browse files
committed
minor bug fixes, to remove undefined lenses
1 parent 9c100a0 commit 75ee724

File tree

2 files changed

+15
-15
lines changed

2 files changed

+15
-15
lines changed

src/lib/plugin.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as _ from 'ramda';
1+
import { isEmpty, isNil, view, set, type } from 'ramda';
22
import { RouteOptions } from './types';
33

44
const isPluginActive = (request): boolean => {
@@ -10,14 +10,14 @@ const isPluginActive = (request): boolean => {
1010
const 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

1717
const 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

2929
const 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

4040
const 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;

src/lib/types.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
export interface RouteOptions {
2-
// lenses for properties to update
3-
lenses: any[];
4-
// path from which source to extract
5-
pathToSource: any;
6-
// source object can also be array
7-
source: object | any[];
8-
// function to generate signed urls
9-
getSignedUrl(key: string): Promise<string>;
2+
// lenses for properties to update
3+
lenses: any[];
4+
// path from which source to extract
5+
pathToSource: any;
6+
// source object can also be array
7+
source: object | any[];
8+
// function to generate signed urls
9+
getSignedUrl(key: string): Promise<string>;
1010
}

0 commit comments

Comments
 (0)