@simcups/swiss-tools 1.0.22 → 1.0.24

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,5 +1,5 @@
1
1
  import { describe, expect, it } from "vitest";
2
- import { getKnockoutRoundName, getKnockoutTotalRounds } from "../knockoutt-helpers.js";
2
+ import { getKnockoutRoundName, getKnockoutTotalRounds } from "../knockout-helpers.js";
3
3
  describe(`Kncokout utils`, () => {
4
4
  it(`getKnockoutTotalRounds`, () => {
5
5
  // 8-team knockout
@@ -1 +1 @@
1
- {"version":3,"file":"get-knockout-round-name.spec.js","sourceRoot":"","sources":["../../src/__tests__/get-knockout-round-name.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAC,oBAAoB,EAAE,sBAAsB,EAAC,MAAM,yBAAyB,CAAC;AACrF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAC9B,kBAAkB;QAClB,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5C,mBAAmB;QACnB,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7C,mBAAmB;QACnB,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7C,mBAAmB;QACnB,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC5B,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEjD,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"get-knockout-round-name.spec.js","sourceRoot":"","sources":["../../src/__tests__/get-knockout-round-name.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAC,oBAAoB,EAAE,sBAAsB,EAAC,MAAM,wBAAwB,CAAC;AACpF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAC9B,kBAAkB;QAClB,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5C,mBAAmB;QACnB,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7C,mBAAmB;QACnB,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7C,mBAAmB;QACnB,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC5B,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEjD,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@ export * from './pot-distributor.js';
3
3
  export * from './delay.js';
4
4
  export * from './errors.js';
5
5
  export * from './format-signed-number.js';
6
- export * from "./knockoutt-helpers.js";
6
+ export * from "./knockout-helpers.js";
7
7
  export * from './get-ordinal.js';
8
8
  export * from './get-percentage.js';
9
9
  export * from './string-utils.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAA"}
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ export * from './pot-distributor.js';
3
3
  export * from './delay.js';
4
4
  export * from './errors.js';
5
5
  export * from './format-signed-number.js';
6
- export * from "./knockoutt-helpers.js";
6
+ export * from "./knockout-helpers.js";
7
7
  export * from './get-ordinal.js';
8
8
  export * from './get-percentage.js';
9
9
  export * from './string-utils.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAA"}
@@ -0,0 +1,3 @@
1
+ export declare function getKnockoutRoundName(thisRoundIndex: number, teamCount: number, useSequentialRoundNames?: boolean): string;
2
+ export declare function getKnockoutTotalRounds(teamCount: number): number;
3
+ //# sourceMappingURL=knockout-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knockout-helpers.d.ts","sourceRoot":"","sources":["../src/knockout-helpers.ts"],"names":[],"mappings":"AAEA,wBAAgB,oBAAoB,CAChC,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACjB,uBAAuB,UAAQ,GAChC,MAAM,CAeR;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,UAEvD"}
@@ -0,0 +1,20 @@
1
+ import { nextPowerOf2 } from "./power-of-2.js";
2
+ export function getKnockoutRoundName(thisRoundIndex, teamCount, useSequentialRoundNames = false) {
3
+ if (useSequentialRoundNames)
4
+ return `RD ${thisRoundIndex + 1}`;
5
+ const totalRounds = Math.ceil(Math.log(teamCount) / Math.log(2));
6
+ const isLastRound = thisRoundIndex === totalRounds - 1;
7
+ if (isLastRound) {
8
+ return "Final";
9
+ }
10
+ const teamTotal = nextPowerOf2(teamCount) / Math.pow(2, thisRoundIndex);
11
+ return teamTotal >= 16
12
+ ? `RD${teamTotal}`
13
+ : teamTotal === 8
14
+ ? "Quarter"
15
+ : "Semi";
16
+ }
17
+ export function getKnockoutTotalRounds(teamCount) {
18
+ return Math.ceil(Math.log(teamCount) / Math.log(2));
19
+ }
20
+ //# sourceMappingURL=knockout-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knockout-helpers.js","sourceRoot":"","sources":["../src/knockout-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C,MAAM,UAAU,oBAAoB,CAChC,cAAsB,EACtB,SAAiB,EACjB,uBAAuB,GAAG,KAAK;IAG/B,IAAG,uBAAuB;QAAE,OAAO,MAAM,cAAc,GAAG,CAAC,EAAE,CAAA;IAE7D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,cAAc,KAAK,WAAW,GAAG,CAAC,CAAC;IACvD,IAAI,WAAW,EAAE,CAAC;QACd,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IACxE,OAAO,SAAS,IAAI,EAAE;QAClB,CAAC,CAAC,KAAK,SAAS,EAAE;QAClB,CAAC,CAAC,SAAS,KAAK,CAAC;YACb,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,SAAiB;IACpD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export declare function hasVal(val: string | number | any): val is string;
2
+ export declare function sentenceCase(str: string): string;
2
3
  //# sourceMappingURL=string-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"string-utils.d.ts","sourceRoot":"","sources":["../src/string-utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,MAAM,CAahE"}
1
+ {"version":3,"file":"string-utils.d.ts","sourceRoot":"","sources":["../src/string-utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,MAAM,CAahE;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,UAKvC"}
@@ -11,4 +11,10 @@ export function hasVal(val) {
11
11
  return true;
12
12
  }
13
13
  }
14
+ export function sentenceCase(str) {
15
+ // 1. Insert a space before capital letters and lowercase the whole string
16
+ // 2. Capitalize the very first character
17
+ const result = str.replace(/([A-Z])/g, ' $1').toLowerCase();
18
+ return result.charAt(0).toUpperCase() + result.slice(1);
19
+ }
14
20
  //# sourceMappingURL=string-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../src/string-utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,MAAM,CAAC,GAA0B;IAC/C,IACE,GAAG,KAAK,IAAI;QACZ,GAAG,KAAK,SAAS;QACjB,GAAG,KAAK,MAAM;QACd,GAAG,KAAK,WAAW;QACnB,GAAG,KAAK,EAAE;QACV,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EACnB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../src/string-utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,MAAM,CAAC,GAA0B;IAC/C,IACE,GAAG,KAAK,IAAI;QACZ,GAAG,KAAK,SAAS;QACjB,GAAG,KAAK,MAAM;QACd,GAAG,KAAK,WAAW;QACnB,GAAG,KAAK,EAAE;QACV,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EACnB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAW;IACxC,0EAA0E;IACxE,yCAAyC;IACzC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simcups/swiss-tools",
3
- "version": "1.0.22",
3
+ "version": "1.0.24",
4
4
  "description": "Slim utility.",
5
5
  "type": "module",
6
6
  "sideEffects": false,