1- import { always , applySpec , cond , equals , ifElse , is , isNil , multiply , path , pathSatisfies , pipe , prop , propSatisfies , T } from 'ramda'
1+ import {
2+ always ,
3+ applySpec ,
4+ cond ,
5+ equals ,
6+ ifElse ,
7+ is ,
8+ isNil ,
9+ multiply ,
10+ path ,
11+ pathSatisfies ,
12+ pipe ,
13+ prop ,
14+ propSatisfies ,
15+ T ,
16+ } from 'ramda'
217
318import { Invoice , InvoiceStatus , InvoiceUnit } from '../@types/invoice'
419import { User } from '../@types/user'
@@ -144,21 +159,9 @@ export const fromZebedeeInvoice = applySpec<Invoice>({
144159 description : prop ( 'description' ) ,
145160 unit : prop ( 'unit' ) ,
146161 status : prop ( 'status' ) ,
147- expiresAt : ifElse (
148- propSatisfies ( is ( String ) , 'expiresAt' ) ,
149- pipe ( prop ( 'expiresAt' ) , toDate ) ,
150- always ( null ) ,
151- ) ,
152- confirmedAt : ifElse (
153- propSatisfies ( is ( String ) , 'confirmedAt' ) ,
154- pipe ( prop ( 'confirmedAt' ) , toDate ) ,
155- always ( null ) ,
156- ) ,
157- createdAt : ifElse (
158- propSatisfies ( is ( String ) , 'createdAt' ) ,
159- pipe ( prop ( 'createdAt' ) , toDate ) ,
160- always ( null ) ,
161- ) ,
162+ expiresAt : ifElse ( propSatisfies ( is ( String ) , 'expiresAt' ) , pipe ( prop ( 'expiresAt' ) , toDate ) , always ( null ) ) ,
163+ confirmedAt : ifElse ( propSatisfies ( is ( String ) , 'confirmedAt' ) , pipe ( prop ( 'confirmedAt' ) , toDate ) , always ( null ) ) ,
164+ createdAt : ifElse ( propSatisfies ( is ( String ) , 'createdAt' ) , pipe ( prop ( 'createdAt' ) , toDate ) , always ( null ) ) ,
162165 rawResponse : toJSON ,
163166} )
164167
@@ -184,21 +187,13 @@ export const fromNodelessInvoice = applySpec<Invoice>({
184187 expiresAt : ifElse (
185188 propSatisfies ( is ( String ) , 'expiresAt' ) ,
186189 pipe ( prop ( 'expiresAt' ) , toDate ) ,
187- ifElse (
188- propSatisfies ( is ( String ) , 'createdAt' ) ,
189- pipe ( prop ( 'createdAt' ) , toDate , addTime ( 15 * 60000 ) ) ,
190- always ( null ) ,
191- ) ,
190+ ifElse ( propSatisfies ( is ( String ) , 'createdAt' ) , pipe ( prop ( 'createdAt' ) , toDate , addTime ( 15 * 60000 ) ) , always ( null ) ) ,
192191 ) ,
193192 confirmedAt : cond ( [
194193 [ propSatisfies ( is ( String ) , 'paidAt' ) , pipe ( prop ( 'paidAt' ) , toDate ) ] ,
195194 [ T , always ( null ) ] ,
196195 ] ) ,
197- createdAt : ifElse (
198- propSatisfies ( is ( String ) , 'createdAt' ) ,
199- pipe ( prop ( 'createdAt' ) , toDate ) ,
200- always ( null ) ,
201- ) ,
196+ createdAt : ifElse ( propSatisfies ( is ( String ) , 'createdAt' ) , pipe ( prop ( 'createdAt' ) , toDate ) , always ( null ) ) ,
202197 // rawResponse: toJSON,
203198} )
204199
@@ -208,14 +203,10 @@ export const fromOpenNodeInvoice = applySpec<Invoice>({
208203 bolt11 : ifElse (
209204 pathSatisfies ( is ( String ) , [ 'lightning_invoice' , 'payreq' ] ) ,
210205 path ( [ 'lightning_invoice' , 'payreq' ] ) ,
211- path ( [ 'lightning' , 'payreq' ] )
206+ path ( [ 'lightning' , 'payreq' ] ) ,
212207 ) ,
213208 amountRequested : pipe (
214- ifElse (
215- propSatisfies ( is ( Number ) , 'amount' ) ,
216- prop ( 'amount' ) ,
217- prop ( 'price' ) ,
218- ) as ( ) => number ,
209+ ifElse ( propSatisfies ( is ( Number ) , 'amount' ) , prop ( 'amount' ) , prop ( 'price' ) ) as ( ) => number ,
219210 toBigInt ,
220211 ) ,
221212 description : prop ( 'description' ) ,
@@ -234,7 +225,10 @@ export const fromOpenNodeInvoice = applySpec<Invoice>({
234225 expiresAt : pipe (
235226 cond ( [
236227 [ pathSatisfies ( is ( String ) , [ 'lightning' , 'expires_at' ] ) , path ( [ 'lightning' , 'expires_at' ] ) ] ,
237- [ pathSatisfies ( is ( Number ) , [ 'lightning_invoice' , 'expires_at' ] ) , pipe ( path ( [ 'lightning_invoice' , 'expires_at' ] ) , multiply ( 1000 ) ) ] ,
228+ [
229+ pathSatisfies ( is ( Number ) , [ 'lightning_invoice' , 'expires_at' ] ) ,
230+ pipe ( path ( [ 'lightning_invoice' , 'expires_at' ] ) , multiply ( 1000 ) ) ,
231+ ] ,
238232 ] ) ,
239233 toDate ,
240234 ) ,
@@ -243,11 +237,7 @@ export const fromOpenNodeInvoice = applySpec<Invoice>({
243237 [ T , always ( null ) ] ,
244238 ] ) ,
245239 createdAt : pipe (
246- ifElse (
247- propSatisfies ( is ( Number ) , 'created_at' ) ,
248- pipe ( prop ( 'created_at' ) , multiply ( 1000 ) ) ,
249- prop ( 'created_at' ) ,
250- ) ,
240+ ifElse ( propSatisfies ( is ( Number ) , 'created_at' ) , pipe ( prop ( 'created_at' ) , multiply ( 1000 ) ) , prop ( 'created_at' ) ) ,
251241 toDate ,
252242 ) ,
253243 rawResponse : toJSON ,
0 commit comments