mirror of
https://github.com/harttle/liquidjs.git
synced 2026-09-16 12:50:38 -07:00
fix: reading .first, .last of Array, closes #175
This commit is contained in:
+14
-2
@@ -123,11 +123,23 @@ function readProperty (obj: Scope, key: string) {
|
||||
if (obj.hasOwnProperty(key)) return obj[key]
|
||||
return obj.liquidMethodMissing(key)
|
||||
}
|
||||
return key === 'size' ? readSize(obj) : obj[key]
|
||||
if (key === 'size') return readSize(obj)
|
||||
if (key === 'first') return readFirst(obj)
|
||||
if (key === 'last') return readLast(obj)
|
||||
return obj[key]
|
||||
}
|
||||
|
||||
function readFirst (obj: Scope) {
|
||||
if (_.isArray(obj)) return obj[0]
|
||||
return obj['first']
|
||||
}
|
||||
|
||||
function readLast (obj: Scope) {
|
||||
if (_.isArray(obj)) return obj[obj.length - 1]
|
||||
return obj['last']
|
||||
}
|
||||
|
||||
function readSize (obj: Scope) {
|
||||
if (!_.isNil(obj['size'])) return obj['size']
|
||||
if (_.isArray(obj) || _.isString(obj)) return obj.length
|
||||
return obj['size']
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user