@rbxts/abbreviate 3.0.3 → 3.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,40 +1,39 @@
1
1
  {
2
- "name": "@rbxts/abbreviate",
3
- "version": "3.0.3",
4
- "description": "A lightweight number abbreviator",
5
- "main": "src/init.lua",
6
- "types": "src/index.d.ts",
7
- "scripts": {
8
- "test": "echo \"Error: no test specified\" && exit 1"
9
- },
10
- "repository": {
11
- "type": "git",
12
- "url": "https://github.com/OverHash/Roblox-TS-Libraries/tree/master/abbreviate"
13
- },
14
- "keywords": [
15
- "abbreviate",
16
- "roblox",
17
- "roblox-ts",
18
- "roblox-typescript",
19
- "number"
20
- ],
21
- "author": "OverHash",
22
- "license": "mpl-2.0",
23
- "bugs": {
24
- "url": "https://github.com/OverHash/Roblox-TS-Libraries/issues"
25
- },
26
- "homepage": "https://github.com/OverHash/Roblox-TS-Libraries/blob/master/abbreviate/README.md",
27
- "publishConfig": {
28
- "access": "public"
29
- },
30
- "files": [
31
- "src/init.lua",
32
- "src/index.d.ts",
33
-
34
- "src/commify.lua",
35
- "src/numbersToSortedString.lua",
36
- "src/numberToString.lua",
37
- "src/setSetting.lua",
38
- "src/stringToNumber.lua"
39
- ]
2
+ "name": "@rbxts/abbreviate",
3
+ "version": "3.0.4",
4
+ "description": "A lightweight number abbreviator",
5
+ "main": "src/init.lua",
6
+ "types": "src/index.d.ts",
7
+ "scripts": {
8
+ "test": "echo \"Error: no test specified\" && exit 1"
9
+ },
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "https://github.com/OverHash/Roblox-TS-Libraries/tree/master/abbreviate"
13
+ },
14
+ "keywords": [
15
+ "abbreviate",
16
+ "roblox",
17
+ "roblox-ts",
18
+ "roblox-typescript",
19
+ "number"
20
+ ],
21
+ "author": "OverHash",
22
+ "license": "mpl-2.0",
23
+ "bugs": {
24
+ "url": "https://github.com/OverHash/Roblox-TS-Libraries/issues"
25
+ },
26
+ "homepage": "https://github.com/OverHash/Roblox-TS-Libraries/blob/master/abbreviate/README.md",
27
+ "publishConfig": {
28
+ "access": "public"
29
+ },
30
+ "files": [
31
+ "src/init.lua",
32
+ "src/index.d.ts",
33
+ "src/commify.lua",
34
+ "src/numbersToSortedString.lua",
35
+ "src/numberToString.lua",
36
+ "src/setSetting.lua",
37
+ "src/stringToNumber.lua"
38
+ ]
40
39
  }
package/src/commify.lua CHANGED
@@ -1,4 +1,4 @@
1
- function commify(self, number)
1
+ local function commify(self, number)
2
2
  assert(type(number) == 'number', 'Attempt to commify a non-number value')
3
3
 
4
4
  local formatted = tostring(number)
@@ -1,10 +1,10 @@
1
1
  local function round(number, decimalPlaces, roundDown)
2
- number = number * 10^decimalPlaces
2
+ number = number * 10 ^ decimalPlaces
3
3
  if roundDown then
4
- return math.floor(number) / 10^decimalPlaces
4
+ return math.floor(number) / 10 ^ decimalPlaces
5
5
  else
6
- number = tonumber(tostring(number))
7
- -- cast to string and back to number to prevent floating point errors
6
+ number = tonumber(string.format("%.14g", number))
7
+ -- cast to string and back to number to give some epsilon for floating point numbers
8
8
  --[[ e.g.:
9
9
  local number = 1005 / 10^3 * 10^2 + 0.5 -- 101
10
10
  print(number, math.floor(number))
@@ -15,11 +15,11 @@ local function round(number, decimalPlaces, roundDown)
15
15
  print(number, math.floor(number))
16
16
  > 101 101
17
17
  ]]
18
- return math.floor(number + 0.5) / 10^decimalPlaces
18
+ return math.floor(number + 0.5) / 10 ^ decimalPlaces
19
19
  end
20
20
  end
21
21
 
22
- function numberToString(self, number, roundDown)
22
+ local function numberToString(self, number, roundDown)
23
23
  if type(number) ~= "number" then
24
24
  error('numberToString invalid parameter #1, expected number, got "nil"', 2)
25
25
  end
@@ -31,9 +31,9 @@ function numberToString(self, number, roundDown)
31
31
  if number < 1000 and number > -1000 then
32
32
  -- special case: we must manually abbreviate numbers between -1000 and 1000
33
33
  if not self._stripTrailingZeroes then
34
- return ("%."..self._decimalPlaces.."f"):format(number)
34
+ return ("%." .. self._decimalPlaces .. "f"):format(number)
35
35
  else
36
- number = round(number, self._decimalPlaces)
36
+ number = round(number, self._decimalPlaces, roundDown)
37
37
  return tostring(number)
38
38
  end
39
39
  end
@@ -54,7 +54,7 @@ function numberToString(self, number, roundDown)
54
54
  end
55
55
 
56
56
  if not self._stripTrailingZeroes then
57
- number = ("%."..self._decimalPlaces.."f"):format(number)
57
+ number = ("%." .. self._decimalPlaces .. "f"):format(number)
58
58
  end
59
59
 
60
60
  number = number .. unit
@@ -46,7 +46,7 @@ local function round(number, decimalPlaces, roundDown)
46
46
  end
47
47
  end
48
48
 
49
- function numbersToSortedString(self, numbers)
49
+ local function numbersToSortedString(self, numbers)
50
50
  if not (numbers and type(numbers) == 'table') then
51
51
  error('numbersToSortedString had invalid parameters.\nP1 - numbers: Array<number>', 2)
52
52
  end
@@ -1,4 +1,4 @@
1
- function setSetting(self, settingName, settingValue)
1
+ local function setSetting(self, settingName, settingValue)
2
2
  if not (settingName and settingValue ~= nil and type(settingName) == 'string') then
3
3
  error('setSetting had invalid parameters.\nP1 - settingName: string\nP2 - settingValue: unknown', 2)
4
4
  end
@@ -1,4 +1,4 @@
1
- function stringToNumber(self, str)
1
+ local function stringToNumber(self, str)
2
2
  if not (str and type(str) == 'string') then
3
3
  error('stringToNumber had invalid parameters.\nP1 - string: string', 2)
4
4
  end