From 4ac49f6c54f44658beb46e362d7afedf311905f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=80=E8=90=8C=E5=B0=8F=E6=B1=90?= Date: Wed, 30 Aug 2023 18:36:54 +0800 Subject: update --- meta/whimsical/builtin.lua | 110 +++------------------------------------------ 1 file changed, 6 insertions(+), 104 deletions(-) (limited to 'meta/whimsical/builtin.lua') 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(...): ... -]] -- cgit v1.2.3