diff options
Diffstat (limited to 'meta/whimsical/builtin.lua')
-rw-r--r-- | meta/whimsical/builtin.lua | 110 |
1 files changed, 6 insertions, 104 deletions
diff --git a/meta/whimsical/builtin.lua b/meta/whimsical/builtin.lua index 6521bb4b..17905798 100644 --- a/meta/whimsical/builtin.lua +++ b/meta/whimsical/builtin.lua @@ -1,110 +1,13 @@ ---@meta _ ---[[@@@ ----@inner class -> { - self.istruly = true - self.truly = self - self.falsy = Class 'never' - self.view = self.name -} ----@inner integer -> { - self.istruly = true - self.truly = self - self.falsy = Class 'never' - self.view = tostring(self.value) -} ----@inner string -> { - self.istruly = true - self.truly = self - self.falsy = Class 'never' - self.view = cat.util.viewString(self.value, self.quotation) -} ----@inner union -> { - self.istruly = function (subs) - local istruly = subs[1].istruly - if istruly == nil then - return nil - end - if istruly == true then - for i = 2, #subs do - if subs[i].istruly ~= true then - return nil - end - end - return true - else - for i = 2, #subs do - if subs[i].istruly ~= false then - return nil - end - end - return false - end - return nil - end - self.truly = function (subs) - local union = Union() - for i = 1, #subs do - union:add(subs[i].truly) - end - if union:len() == 0 then - return Class 'never' - end - if union:len() == 1 then - return union:first() - end - return union - end - self.falsy = function (subs) - local union = Union() - for i = 1, #subs do - union:add(subs[i].falsy) - end - if union:len() == 0 then - return Class 'never' - end - if union:len() == 1 then - return union:first() - end - return union - end - self.view = function (subs) - local views = {} - for i = 1, #subs do - views[i] = subs[i].view - end - if #views == 0 then - return 'never' - end - return table.concat(views, '|') - end -} ----@class nil -> { - self.istruly = false - self.truly = Class 'never' - self.falsy = self -} ----@class never -> { - self.istruly = nil -} ----@class true -> { - self.istruly = true - self.truly = self - self.falsy = Class 'never' -} ----@class false -> { - self.istruly = false - self.truly = Class 'never' - self.falsy = self -} ----@class any: { [unknown]: any } -> { - self.istruly = nil - self.truly = Class 'truly' - self.falsy = Class 'false' | Class 'nil' -} +---@class nil +---@class never +---@class true +---@class false +---@class any: { [unknown]: any } ---@class truly: { [unknown]: any } ---@class unknown: truly | false ----@class boolean: true | false +---@class boolean ---@class number ---@class thread ---@class table: { [unknown]: any } @@ -113,4 +16,3 @@ ---@class userdata: { [unknown]: any } ---@class lightuserdata ---@class function: fun(...): ... -]] |