Pop.Box/util.moon

31 lines
864 B
Plaintext
Raw Permalink Normal View History

2016-06-21 05:52:44 +00:00
--- Utility functions, intended for internal use only.
--- @module util
--- @copyright Paul Liverman III (2015-2016)
--- @license The MIT License (MIT)
--- @function inheritsFromElement
2016-08-21 07:49:16 +00:00
--- @tparam table object MoonScript object to be checked for inheritence from
--- the "element" element.
--- @treturn boolean Is the table an object inherting from "element"?
--- @raise Can error if the table has a similar structure to a MoonScript object
--- without being the same structure.
--- @see Element
2016-06-21 05:52:44 +00:00
inheritsFromElement = (object) ->
if object and type(object) == "table" and object.__class
2016-06-21 05:52:44 +00:00
cls = object.__class
if cls.__name == "element"
return true
while cls.__parent
cls = cls.__parent
if cls.__name == "element"
return true
return false
return {
:inheritsFromElement
}