@wise-old-man/utils 1.0.26 → 2.0.0-beta.1

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.
@@ -1,66 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.parsePeriodExpression = exports.isValidPeriod = exports.findPeriod = exports.PERIODS = exports.PeriodProps = exports.Period = void 0;
5
- var CUSTOM_PERIOD_REGEX = /(\d+y)?(\d+m)?(\d+w)?(\d+d)?(\d+h)?/;
6
- var Period;
7
- (function (Period) {
8
- Period["FIVE_MIN"] = "five_min";
9
- Period["DAY"] = "day";
10
- Period["WEEK"] = "week";
11
- Period["MONTH"] = "month";
12
- Period["YEAR"] = "year";
13
- })(Period || (Period = {}));
14
- exports.Period = Period;
15
- var PeriodProps = (_a = {},
16
- _a[Period.FIVE_MIN] = { name: '5 Min', milliseconds: 300000 },
17
- _a[Period.DAY] = { name: 'Day', milliseconds: 86400000 },
18
- _a[Period.WEEK] = { name: 'Week', milliseconds: 604800000 },
19
- _a[Period.MONTH] = { name: 'Month', milliseconds: 2678400000 },
20
- _a[Period.YEAR] = { name: 'Year', milliseconds: 31556926000 },
21
- _a);
22
- exports.PeriodProps = PeriodProps;
23
- var PERIODS = Object.values(Period);
24
- exports.PERIODS = PERIODS;
25
- function findPeriod(periodName) {
26
- for (var _i = 0, _a = Object.entries(PeriodProps); _i < _a.length; _i++) {
27
- var _b = _a[_i], key = _b[0], value = _b[1];
28
- if (value.name.toUpperCase() === periodName.toUpperCase())
29
- return key;
30
- }
31
- return null;
32
- }
33
- exports.findPeriod = findPeriod;
34
- function isValidPeriod(period) {
35
- return PERIODS.includes(period);
36
- }
37
- exports.isValidPeriod = isValidPeriod;
38
- function parsePeriodExpression(periodExpression) {
39
- var fixed = periodExpression.toLowerCase();
40
- if (isValidPeriod(fixed)) {
41
- return {
42
- expression: fixed,
43
- durationMs: PeriodProps[fixed].milliseconds
44
- };
45
- }
46
- var result = fixed.match(CUSTOM_PERIOD_REGEX);
47
- if (!result || result.length === 0 || result[0] !== fixed)
48
- return null;
49
- var years = result[1] ? parseInt(result[1].replace(/\D/g, '')) : 0;
50
- var months = result[2] ? parseInt(result[2].replace(/\D/g, '')) : 0;
51
- var weeks = result[3] ? parseInt(result[3].replace(/\D/g, '')) : 0;
52
- var days = result[4] ? parseInt(result[4].replace(/\D/g, '')) : 0;
53
- var hours = result[5] ? parseInt(result[5].replace(/\D/g, '')) : 0;
54
- var yearsMs = years * PeriodProps[Period.YEAR].milliseconds;
55
- var monthsMs = months * PeriodProps[Period.MONTH].milliseconds;
56
- var weeksMs = weeks * PeriodProps[Period.WEEK].milliseconds;
57
- var daysMs = days * PeriodProps[Period.DAY].milliseconds;
58
- var hoursMs = hours * (PeriodProps[Period.DAY].milliseconds / 24);
59
- var totalMs = yearsMs + monthsMs + weeksMs + daysMs + hoursMs;
60
- return {
61
- expression: result[0],
62
- durationMs: totalMs
63
- };
64
- }
65
- exports.parsePeriodExpression = parsePeriodExpression;
66
- //# sourceMappingURL=periods.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"periods.js","sourceRoot":"","sources":["../../lib/periods.ts"],"names":[],"mappings":"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"}
@@ -1,59 +0,0 @@
1
- declare enum PlayerType {
2
- UNKNOWN = "unknown",
3
- REGULAR = "regular",
4
- IRONMAN = "ironman",
5
- HARDCORE = "hardcore",
6
- ULTIMATE = "ultimate"
7
- }
8
- declare enum PlayerBuild {
9
- MAIN = "main",
10
- F2P = "f2p",
11
- LVL3 = "lvl3",
12
- ZERKER = "zerker",
13
- DEF1 = "def1",
14
- HP10 = "hp10"
15
- }
16
- declare const PlayerTypeProps: {
17
- unknown: {
18
- name: string;
19
- };
20
- regular: {
21
- name: string;
22
- };
23
- ironman: {
24
- name: string;
25
- };
26
- hardcore: {
27
- name: string;
28
- };
29
- ultimate: {
30
- name: string;
31
- };
32
- };
33
- declare const PlayerBuildProps: {
34
- main: {
35
- name: string;
36
- };
37
- f2p: {
38
- name: string;
39
- };
40
- lvl3: {
41
- name: string;
42
- };
43
- zerker: {
44
- name: string;
45
- };
46
- def1: {
47
- name: string;
48
- };
49
- hp10: {
50
- name: string;
51
- };
52
- };
53
- declare const PLAYER_TYPES: PlayerType[];
54
- declare const PLAYER_BUILDS: PlayerBuild[];
55
- declare function findPlayerType(typeName: string): PlayerType | null;
56
- declare function findPlayerBuild(buildName: string): PlayerBuild | null;
57
- declare function standardizeUsername(username: any): any;
58
- declare function sanitizeUsername(username: any): any;
59
- export { PlayerType, PlayerBuild, PlayerTypeProps, PlayerBuildProps, PLAYER_TYPES, PLAYER_BUILDS, findPlayerType, findPlayerBuild, sanitizeUsername, standardizeUsername };
@@ -1,72 +0,0 @@
1
- "use strict";
2
- var _a, _b;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.standardizeUsername = exports.sanitizeUsername = exports.findPlayerBuild = exports.findPlayerType = exports.PLAYER_BUILDS = exports.PLAYER_TYPES = exports.PlayerBuildProps = exports.PlayerTypeProps = exports.PlayerBuild = exports.PlayerType = void 0;
5
- var PlayerType;
6
- (function (PlayerType) {
7
- PlayerType["UNKNOWN"] = "unknown";
8
- PlayerType["REGULAR"] = "regular";
9
- PlayerType["IRONMAN"] = "ironman";
10
- PlayerType["HARDCORE"] = "hardcore";
11
- PlayerType["ULTIMATE"] = "ultimate";
12
- })(PlayerType || (PlayerType = {}));
13
- exports.PlayerType = PlayerType;
14
- var PlayerBuild;
15
- (function (PlayerBuild) {
16
- PlayerBuild["MAIN"] = "main";
17
- PlayerBuild["F2P"] = "f2p";
18
- PlayerBuild["LVL3"] = "lvl3";
19
- PlayerBuild["ZERKER"] = "zerker";
20
- PlayerBuild["DEF1"] = "def1";
21
- PlayerBuild["HP10"] = "hp10";
22
- })(PlayerBuild || (PlayerBuild = {}));
23
- exports.PlayerBuild = PlayerBuild;
24
- var PlayerTypeProps = (_a = {},
25
- _a[PlayerType.UNKNOWN] = { name: 'Unknown' },
26
- _a[PlayerType.REGULAR] = { name: 'Regular' },
27
- _a[PlayerType.IRONMAN] = { name: 'Ironman' },
28
- _a[PlayerType.HARDCORE] = { name: 'Hardcore' },
29
- _a[PlayerType.ULTIMATE] = { name: 'Ultimate' },
30
- _a);
31
- exports.PlayerTypeProps = PlayerTypeProps;
32
- var PlayerBuildProps = (_b = {},
33
- _b[PlayerBuild.MAIN] = { name: 'Main' },
34
- _b[PlayerBuild.F2P] = { name: 'F2P' },
35
- _b[PlayerBuild.LVL3] = { name: 'Level 3' },
36
- _b[PlayerBuild.ZERKER] = { name: 'Zerker Pure' },
37
- _b[PlayerBuild.DEF1] = { name: '1 Defence Pure' },
38
- _b[PlayerBuild.HP10] = { name: '10 Hitpoints Pure' },
39
- _b);
40
- exports.PlayerBuildProps = PlayerBuildProps;
41
- var PLAYER_TYPES = Object.values(PlayerType);
42
- exports.PLAYER_TYPES = PLAYER_TYPES;
43
- var PLAYER_BUILDS = Object.values(PlayerBuild);
44
- exports.PLAYER_BUILDS = PLAYER_BUILDS;
45
- function findPlayerType(typeName) {
46
- for (var _i = 0, _a = Object.entries(PlayerTypeProps); _i < _a.length; _i++) {
47
- var _b = _a[_i], key = _b[0], value = _b[1];
48
- if (value.name.toUpperCase() === typeName.toUpperCase())
49
- return key;
50
- }
51
- return null;
52
- }
53
- exports.findPlayerType = findPlayerType;
54
- function findPlayerBuild(buildName) {
55
- for (var _i = 0, _a = Object.entries(PlayerBuildProps); _i < _a.length; _i++) {
56
- var _b = _a[_i], key = _b[0], value = _b[1];
57
- if (value.name.toUpperCase() === buildName.toUpperCase())
58
- return key;
59
- }
60
- return null;
61
- }
62
- exports.findPlayerBuild = findPlayerBuild;
63
- function standardizeUsername(username) {
64
- return sanitizeUsername(username).toLowerCase();
65
- }
66
- exports.standardizeUsername = standardizeUsername;
67
- // TODO: should this also remove any non alphanumeric symbols?
68
- function sanitizeUsername(username) {
69
- return username.replace(/[-_\s]/g, ' ').trim();
70
- }
71
- exports.sanitizeUsername = sanitizeUsername;
72
- //# sourceMappingURL=players.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"players.js","sourceRoot":"","sources":["../../lib/players.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- declare function formatNumber(num: number, withLetters?: boolean): string | -1;
2
- declare function padNumber(value: number): string;
3
- export { formatNumber, padNumber };
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.padNumber = exports.formatNumber = void 0;
4
- function formatNumber(num, withLetters) {
5
- if (withLetters === void 0) { withLetters = false; }
6
- if (num === undefined || num === null)
7
- return -1;
8
- // If number is float
9
- if (num % 1 !== 0) {
10
- return (Math.round(num * 100) / 100).toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,');
11
- }
12
- if ((num < 10000 && num > -10000) || !withLetters) {
13
- return num.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,');
14
- }
15
- // < 10 million
16
- if (num < 10000000 && num > -10000000) {
17
- return "".concat(Math.floor(num / 1000), "k");
18
- }
19
- // < 1 billion
20
- if (num < 1000000000 && num > -1000000000) {
21
- return "".concat(Math.round((num / 1000000 + Number.EPSILON) * 100) / 100, "m");
22
- }
23
- return "".concat(Math.round((num / 1000000000 + Number.EPSILON) * 100) / 100, "b");
24
- }
25
- exports.formatNumber = formatNumber;
26
- function padNumber(value) {
27
- if (!value)
28
- return '00';
29
- return value < 10 ? "0".concat(value) : value.toString();
30
- }
31
- exports.padNumber = padNumber;
32
- //# sourceMappingURL=strings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"strings.js","sourceRoot":"","sources":["../../lib/strings.ts"],"names":[],"mappings":";;;AAAA,SAAS,YAAY,CAAC,GAAW,EAAE,WAAmB;IAAnB,4BAAA,EAAA,mBAAmB;IACpD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC,CAAC;IAEjD,qBAAqB;IACrB,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE;QACjB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;KAC3F;IAED,IAAI,CAAC,GAAG,GAAG,KAAK,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE;QACjD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;KACjE;IAED,eAAe;IACf,IAAI,GAAG,GAAG,QAAU,IAAI,GAAG,GAAG,CAAC,QAAU,EAAE;QACzC,OAAO,UAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,MAAG,CAAC;KACrC;IAED,cAAc;IACd,IAAI,GAAG,GAAG,UAAa,IAAI,GAAG,GAAG,CAAC,UAAa,EAAE;QAC/C,OAAO,UAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,MAAG,CAAC;KACvE;IAED,OAAO,UAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,MAAG,CAAC;AAC3E,CAAC;AAOQ,oCAAY;AALrB,SAAS,SAAS,CAAC,KAAa;IAC9B,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,WAAI,KAAK,CAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;AACrD,CAAC;AAEsB,8BAAS"}