Mercurial > prosody-hg
comparison util/format.lua @ 12781:22066b02887f
util.startup: Provide a common Lua 5.3+ math.type() for Lua 5.2
Code deduplication
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Wed, 19 Oct 2022 16:25:05 +0200 |
| parents | 5eaf77114fdb |
| children | d10957394a3c |
comparison
equal
deleted
inserted
replaced
| 12780:2c0c1b18a02b | 12781:22066b02887f |
|---|---|
| 9 local unpack = table.unpack; | 9 local unpack = table.unpack; |
| 10 local pack = table.pack; | 10 local pack = table.pack; |
| 11 local valid_utf8 = require "util.encodings".utf8.valid; | 11 local valid_utf8 = require "util.encodings".utf8.valid; |
| 12 local type = type; | 12 local type = type; |
| 13 local dump = require "util.serialization".new("debug"); | 13 local dump = require "util.serialization".new("debug"); |
| 14 local num_type = math.type or function (n) | 14 local num_type = math.type; |
| 15 return n % 1 == 0 and n <= 9007199254740992 and n >= -9007199254740992 and "integer" or "float"; | |
| 16 end | |
| 17 | 15 |
| 18 -- In Lua 5.3+ these formats throw an error if given a float | 16 -- In Lua 5.3+ these formats throw an error if given a float |
| 19 local expects_integer = { c = true, d = true, i = true, o = true, u = true, X = true, x = true, }; | 17 local expects_integer = { c = true, d = true, i = true, o = true, u = true, X = true, x = true, }; |
| 20 -- In Lua 5.2 these throw an error given a negative number | 18 -- In Lua 5.2 these throw an error given a negative number |
| 21 local expects_positive = { o = true; u = true; x = true; X = true }; | 19 local expects_positive = { o = true; u = true; x = true; X = true }; |
