mirror of
https://github.com/harttle/liquidjs.git
synced 2026-09-15 04:10:40 -07:00
fix: for tag not respecting Drop#valueOf(), fixes #515
This commit is contained in:
@@ -1,8 +1,4 @@
|
||||
export abstract class Drop {
|
||||
public valueOf (): any {
|
||||
return undefined
|
||||
}
|
||||
|
||||
public liquidMethodMissing (key: string | number): Promise<string | undefined> | string | undefined {
|
||||
return undefined
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { isNil, isString, isObject, isArray, isIterable } from './underscore'
|
||||
import { isNil, isString, isObject, isArray, isIterable, toValue } from './underscore'
|
||||
|
||||
export function toEnumerable (val: any) {
|
||||
val = toValue(val)
|
||||
if (isArray(val)) return val
|
||||
if (isString(val) && val.length > 0) return [val]
|
||||
if (isIterable(val)) return Array.from(val)
|
||||
|
||||
@@ -39,7 +39,7 @@ export function stringify (value: any): string {
|
||||
}
|
||||
|
||||
export function toValue (value: any): any {
|
||||
return value instanceof Drop ? value.valueOf() : value
|
||||
return (value instanceof Drop && isFunction(value.valueOf)) ? value.valueOf() : value
|
||||
}
|
||||
|
||||
export function isNumber (value: any): value is number {
|
||||
|
||||
Reference in New Issue
Block a user