@@ -146,7 +146,7 @@ export const PREFIX_ARRAY: FunctionOps = {
146
146
INCLUDES : ( arg1 , arg2 ) => {
147
147
const item = arg1 ( ) ;
148
148
const arr = evalArray ( arg2 ( ) ) ;
149
- return arr . includes ( item ) ;
149
+ return arr ? .includes ( item ) || false ;
150
150
} ,
151
151
AVERAGE : ( arg ) => {
152
152
const arr = evalArray ( arg ( ) ) ;
@@ -177,7 +177,7 @@ export const PREFIX_ARRAY: FunctionOps = {
177
177
return arr ;
178
178
} ,
179
179
INDEX : ( arg1 , arg2 ) => iterable ( arg2 ( ) ) [ num ( arg1 ( ) ) ] ,
180
- LENGTH : ( arg ) => iterable ( arg ( ) ) . length ,
180
+ LENGTH : ( arg ) => iterable ( arg ( ) ) ? .length || 0 ,
181
181
JOIN : ( arg1 , arg2 ) => evalArray ( arg2 ( ) ) . join ( string ( arg1 ( ) ) ) ,
182
182
SPLIT : ( arg1 , arg2 ) => string ( arg2 ( ) ) . split ( string ( arg1 ( ) ) ) ,
183
183
CHAR_ARRAY : ( arg ) => {
@@ -191,36 +191,36 @@ export const PREFIX_ARRAY: FunctionOps = {
191
191
MAP : ( arg1 , arg2 ) => {
192
192
const func = arg1 ( ) ;
193
193
const arr = evalArray ( arg2 ( ) ) ;
194
- return arr . map ( ( val ) => {
194
+ return arr ? .map ( ( val ) => {
195
195
if ( typeof func === "function" ) {
196
196
return ( ) => func ( val ) ;
197
197
}
198
198
return call ( string ( func ) ) ( ( ) => val ) ;
199
- } ) ;
199
+ } ) || [ ] ;
200
200
} ,
201
201
MAP_ITEM : ( arg1 , arg2 ) => {
202
202
const item = string ( arg1 ( ) ) ;
203
203
const arr = evalArray ( arg2 ( ) ) ;
204
- return arr . map ( ( val : any ) => val [ item ] ) ;
204
+ return arr ? .map ( ( val : any ) => val [ item ] ) || [ ] ;
205
205
} ,
206
206
EVERY : ( arg1 , arg2 ) => {
207
207
const varg1 = arg1 ( ) ;
208
208
const arr = evalArray ( arg2 ( ) ) ;
209
- return arr . every ( ( item ) => item === varg1 ) ;
209
+ return arr ? .every ( ( item ) => item === varg1 ) || false ;
210
210
} ,
211
211
EVERY_IS : ( arg1 , arg2 ) => {
212
212
const func = arg1 ( ) ;
213
213
const arr = evalArray ( arg2 ( ) ) ;
214
- return arr . every ( ( item ) => {
214
+ return arr ? .every ( ( item ) => {
215
215
const args : ExpressionArray < ExpressionThunk > = [ ( ) => item ] ;
216
216
return call ( string ( func ) ) ( ...args ) ;
217
- } ) ;
217
+ } ) || false ;
218
218
} ,
219
219
EVERY_INFIX : ( arg1 , arg2 , arg3 ) => {
220
220
const func = arg1 ( ) ;
221
221
const value = arg2 ( ) ;
222
222
const arr = evalArray ( arg3 ( ) ) ;
223
- return arr . every ( ( item ) => {
223
+ return arr ? .every ( ( item ) => {
224
224
const args : ExpressionArray < ExpressionThunk > = [
225
225
( ) => value ,
226
226
( ) => item ,
@@ -229,19 +229,19 @@ export const PREFIX_ARRAY: FunctionOps = {
229
229
return func ( ...args ) ;
230
230
}
231
231
return call ( string ( func ) ) ( ...args ) ;
232
- } ) ;
232
+ } ) || false ;
233
233
} ,
234
234
REDUCE : ( arg1 , arg2 , arg3 ) => {
235
235
const func = arg1 ( ) ;
236
236
const start = arg2 ( ) ;
237
237
const arr = evalArray ( arg3 ( ) ) ;
238
- return arr . reduce ( ( prev , curr ) => {
238
+ return arr ? .reduce ( ( prev , curr ) => {
239
239
const args : ExpressionArray < ExpressionThunk > = [ ( ) => prev , ( ) => curr ] ;
240
240
if ( typeof func === "function" ) {
241
241
return func ( ...args ) ;
242
242
}
243
243
return call ( string ( func ) ) ( ...args ) ;
244
- } , start ) ;
244
+ } , start ) || start ;
245
245
} ,
246
246
RANGE : ( arg1 , arg2 ) => {
247
247
const start = num ( arg1 ( ) ) ;
@@ -289,7 +289,7 @@ export const PREFIX_OBJECT: FunctionOps = {
289
289
const key = string ( arg1 ( ) ) ;
290
290
const inputObj = obj ( arg2 ( ) ) ;
291
291
292
- return inputObj [ key ] ;
292
+ return inputObj ?. [ key ] ;
293
293
} ,
294
294
PUT : ( arg1 , arg2 , arg3 ) => {
295
295
const key = string ( arg1 ( ) ) ;
@@ -312,12 +312,11 @@ export const PREFIX_OBJECT: FunctionOps = {
312
312
} ,
313
313
KEYS : ( arg1 ) => {
314
314
const inputObj = obj ( arg1 ( ) ) ;
315
- return Object . keys ( inputObj ) . sort ( ) ;
315
+ return Object . keys ( inputObj || { } ) ;
316
316
} ,
317
317
VALUES : ( arg1 ) => {
318
318
const inputObj = obj ( arg1 ( ) ) ;
319
- return Object . keys ( inputObj )
320
- . sort ( )
319
+ return Object . keys ( inputObj || { } )
321
320
. map ( ( key ) => inputObj [ key ] ) ;
322
321
} ,
323
322
} ;
0 commit comments