git-slot-machine 2.2.0 → 2.2.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.
package/dist/index.js CHANGED
File without changes
@@ -1,4 +1,5 @@
1
1
  export declare enum PatternType {
2
+ LUCKY_SEVENS = "LUCKY_SEVENS",// Secret: 7777777
2
3
  ALL_SAME = "ALL_SAME",
3
4
  SIX_OF_KIND = "SIX_OF_KIND",
4
5
  STRAIGHT_7 = "STRAIGHT_7",
@@ -9,7 +10,8 @@ export declare enum PatternType {
9
10
  ALL_LETTERS = "ALL_LETTERS",
10
11
  STRAIGHT_5 = "STRAIGHT_5",
11
12
  THREE_OF_KIND_PLUS_THREE = "THREE_OF_KIND_PLUS_THREE",// 3-3-1
12
- FULL_HOUSE = "FULL_HOUSE",// 4-2-1 or 3-2-2
13
+ FULLER_HOUSE = "FULLER_HOUSE",// 3-2-2
14
+ FULL_HOUSE = "FULL_HOUSE",// 3-2-1-1
13
15
  THREE_PAIR = "THREE_PAIR",
14
16
  THREE_OF_KIND = "THREE_OF_KIND",
15
17
  TWO_PAIR = "TWO_PAIR",
@@ -1 +1 @@
1
- {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../src/patterns.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,UAAU,eAAe;IACzB,aAAa,kBAAkB,CAAE,MAAM;IACvC,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,UAAU,eAAe;IACzB,wBAAwB,6BAA6B,CAAE,QAAQ;IAC/D,UAAU,eAAe,CAAE,iBAAiB;IAC5C,UAAU,eAAe;IACzB,aAAa,kBAAkB;IAC/B,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAkLD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CA6FzD"}
1
+ {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../src/patterns.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,YAAY,iBAAiB,CAAE,kBAAkB;IACjD,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,UAAU,eAAe;IACzB,aAAa,kBAAkB,CAAE,MAAM;IACvC,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,UAAU,eAAe;IACzB,wBAAwB,6BAA6B,CAAE,QAAQ;IAC/D,YAAY,iBAAiB,CAAE,QAAQ;IACvC,UAAU,eAAe,CAAE,UAAU;IACrC,UAAU,eAAe;IACzB,aAAa,kBAAkB;IAC/B,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAqLD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAqGzD"}
package/dist/patterns.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export var PatternType;
2
2
  (function (PatternType) {
3
+ PatternType["LUCKY_SEVENS"] = "LUCKY_SEVENS";
3
4
  PatternType["ALL_SAME"] = "ALL_SAME";
4
5
  PatternType["SIX_OF_KIND"] = "SIX_OF_KIND";
5
6
  PatternType["STRAIGHT_7"] = "STRAIGHT_7";
@@ -10,6 +11,7 @@ export var PatternType;
10
11
  PatternType["ALL_LETTERS"] = "ALL_LETTERS";
11
12
  PatternType["STRAIGHT_5"] = "STRAIGHT_5";
12
13
  PatternType["THREE_OF_KIND_PLUS_THREE"] = "THREE_OF_KIND_PLUS_THREE";
14
+ PatternType["FULLER_HOUSE"] = "FULLER_HOUSE";
13
15
  PatternType["FULL_HOUSE"] = "FULL_HOUSE";
14
16
  PatternType["THREE_PAIR"] = "THREE_PAIR";
15
17
  PatternType["THREE_OF_KIND"] = "THREE_OF_KIND";
@@ -19,22 +21,24 @@ export var PatternType;
19
21
  PatternType["NO_WIN"] = "NO_WIN";
20
22
  })(PatternType || (PatternType = {}));
21
23
  const PAYOUTS = {
24
+ [PatternType.LUCKY_SEVENS]: { name: 'LUCKY SEVENS', payout: 1000000, description: 'The ultimate jackpot: 7777777' },
22
25
  [PatternType.ALL_SAME]: { name: 'JACKPOT', payout: 100000, description: 'All same character' },
23
- [PatternType.STRAIGHT_7]: { name: 'LUCKY SEVEN', payout: 50000, description: 'Seven in a row' },
24
- [PatternType.STRAIGHT_6]: { name: 'BIG STRAIGHT', payout: 25000, description: 'Six in a row' },
26
+ [PatternType.STRAIGHT_7]: { name: 'LUCKY SEVEN', payout: 50000, description: 'Seven sequential hex digits' },
27
+ [PatternType.STRAIGHT_6]: { name: 'BIG STRAIGHT', payout: 25000, description: 'Six sequential hex digits' },
25
28
  [PatternType.SIX_OF_KIND]: { name: 'HEXTET', payout: 10000, description: 'Six of a kind' },
26
29
  [PatternType.FULLEST_HOUSE]: { name: 'FULLEST HOUSE', payout: 5000, description: '4 + 3 of a kind' },
27
- [PatternType.STRAIGHT_5]: { name: 'STRAIGHT', payout: 2500, description: 'Five in a row' },
30
+ [PatternType.STRAIGHT_5]: { name: 'STRAIGHT', payout: 2500, description: 'Five sequential hex digits' },
28
31
  [PatternType.FIVE_OF_KIND]: { name: 'FIVE OF A KIND', payout: 2000, description: 'Five of a kind' },
29
32
  [PatternType.THREE_OF_KIND_PLUS_THREE]: { name: 'DOUBLE TRIPLE', payout: 1000, description: 'Two three of a kinds' },
30
- [PatternType.THREE_PAIR]: { name: 'THREE PAIR', payout: 500, description: 'Three pairs' },
31
- [PatternType.FULL_HOUSE]: { name: 'FULL HOUSE', payout: 300, description: 'Three and two of a kind' },
33
+ [PatternType.THREE_PAIR]: { name: 'THREE PAIR', payout: 500, description: 'Three consecutive pairs' },
34
+ [PatternType.FULLER_HOUSE]: { name: 'FULLER HOUSE', payout: 400, description: '3 + 2 + 2 of a kind' },
35
+ [PatternType.FULL_HOUSE]: { name: 'FULL HOUSE', payout: 50, description: '3 + 2 of a kind' },
32
36
  [PatternType.ALL_LETTERS]: { name: 'ALPHABET SOUP', payout: 250, description: 'Only letters (a-f)' },
33
37
  [PatternType.FOUR_OF_KIND]: { name: 'FOUR OF A KIND', payout: 200, description: 'Four of a kind' },
34
- [PatternType.THREE_OF_KIND]: { name: 'THREE OF A KIND', payout: 100, description: 'Three of a kind' },
38
+ [PatternType.THREE_OF_KIND]: { name: 'THREE OF A KIND', payout: 25, description: 'Three of a kind' },
35
39
  [PatternType.ALL_NUMBERS]: { name: 'ALL NUMBERS', payout: 50, description: 'Only numbers (0-9)' },
36
- [PatternType.TWO_PAIR]: { name: 'TWO PAIR', payout: 25, description: 'Two pairs' },
37
- [PatternType.ONE_PAIR]: { name: 'ONE PAIR', payout: 10, description: 'One pair' },
40
+ [PatternType.TWO_PAIR]: { name: 'TWO PAIR', payout: 25, description: 'Two consecutive pairs' },
41
+ [PatternType.ONE_PAIR]: { name: 'ONE PAIR', payout: 10, description: 'One consecutive pair' },
38
42
  [PatternType.NO_WIN]: { name: 'NO WIN', payout: 0, description: 'No winning pattern' }
39
43
  };
40
44
  function countCharacters(hash) {
@@ -122,8 +126,9 @@ function getHighlightIndices(hash, type) {
122
126
  }
123
127
  }
124
128
  }
125
- // For all letters or all numbers, highlight everything
126
- if (type === PatternType.ALL_LETTERS || type === PatternType.ALL_NUMBERS || type === PatternType.ALL_SAME) {
129
+ // For all letters, all numbers, all same, or lucky sevens - highlight everything
130
+ if (type === PatternType.ALL_LETTERS || type === PatternType.ALL_NUMBERS ||
131
+ type === PatternType.ALL_SAME || type === PatternType.LUCKY_SEVENS) {
127
132
  return [0, 1, 2, 3, 4, 5, 6];
128
133
  }
129
134
  // For frequency-based patterns, highlight characters that appear in the pattern
@@ -146,8 +151,8 @@ function getHighlightIndices(hash, type) {
146
151
  }
147
152
  }
148
153
  }
149
- else if (type === PatternType.FULLEST_HOUSE || type === PatternType.FULL_HOUSE ||
150
- type === PatternType.THREE_OF_KIND_PLUS_THREE) {
154
+ else if (type === PatternType.FULLEST_HOUSE || type === PatternType.FULLER_HOUSE ||
155
+ type === PatternType.FULL_HOUSE || type === PatternType.THREE_OF_KIND_PLUS_THREE) {
151
156
  // Highlight all paired/tripled characters
152
157
  for (const [char, count] of counts.entries()) {
153
158
  if (count >= 2) {
@@ -188,8 +193,12 @@ export function detectPattern(hash) {
188
193
  const distribution = getCountDistribution(counts);
189
194
  // Detect pattern - check in order of rarity/value
190
195
  let type;
196
+ // Check for the secret ultimate jackpot: 7777777
197
+ if (lowerHash === '7777777') {
198
+ type = PatternType.LUCKY_SEVENS;
199
+ }
191
200
  // Check for all same first (highest value)
192
- if (distribution[0] === 7) {
201
+ else if (distribution[0] === 7) {
193
202
  type = PatternType.ALL_SAME;
194
203
  }
195
204
  // Check for 6 of a kind
@@ -228,7 +237,11 @@ export function detectPattern(hash) {
228
237
  else if (distribution[0] === 3 && distribution[1] === 3) {
229
238
  type = PatternType.THREE_OF_KIND_PLUS_THREE;
230
239
  }
231
- // Check for full house (3-2-2 or 3-2-1-1)
240
+ // Check for fuller house (3-2-2)
241
+ else if (distribution[0] === 3 && distribution[1] === 2 && distribution[2] === 2) {
242
+ type = PatternType.FULLER_HOUSE;
243
+ }
244
+ // Check for full house (3-2-1-1)
232
245
  else if (distribution[0] === 3 && distribution[1] === 2) {
233
246
  type = PatternType.FULL_HOUSE;
234
247
  }
@@ -1 +1 @@
1
- {"version":3,"file":"patterns.js","sourceRoot":"","sources":["../src/patterns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"patterns.js","sourceRoot":"","sources":["../src/patterns.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "git-slot-machine",
3
- "version": "2.2.0",
3
+ "version": "2.2.1",
4
4
  "description": "Turn your git commits into a slot machine game! CLI tool with global leaderboards and win streaks.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/src/patterns.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export enum PatternType {
2
+ LUCKY_SEVENS = 'LUCKY_SEVENS', // Secret: 7777777
2
3
  ALL_SAME = 'ALL_SAME',
3
4
  SIX_OF_KIND = 'SIX_OF_KIND',
4
5
  STRAIGHT_7 = 'STRAIGHT_7',
@@ -9,7 +10,8 @@ export enum PatternType {
9
10
  ALL_LETTERS = 'ALL_LETTERS',
10
11
  STRAIGHT_5 = 'STRAIGHT_5',
11
12
  THREE_OF_KIND_PLUS_THREE = 'THREE_OF_KIND_PLUS_THREE', // 3-3-1
12
- FULL_HOUSE = 'FULL_HOUSE', // 4-2-1 or 3-2-2
13
+ FULLER_HOUSE = 'FULLER_HOUSE', // 3-2-2
14
+ FULL_HOUSE = 'FULL_HOUSE', // 3-2-1-1
13
15
  THREE_PAIR = 'THREE_PAIR',
14
16
  THREE_OF_KIND = 'THREE_OF_KIND',
15
17
  TWO_PAIR = 'TWO_PAIR',
@@ -27,22 +29,24 @@ export interface PatternResult {
27
29
  }
28
30
 
29
31
  const PAYOUTS: Record<PatternType, { name: string; payout: number; description: string }> = {
32
+ [PatternType.LUCKY_SEVENS]: { name: 'LUCKY SEVENS', payout: 1000000, description: 'The ultimate jackpot: 7777777' },
30
33
  [PatternType.ALL_SAME]: { name: 'JACKPOT', payout: 100000, description: 'All same character' },
31
- [PatternType.STRAIGHT_7]: { name: 'LUCKY SEVEN', payout: 50000, description: 'Seven in a row' },
32
- [PatternType.STRAIGHT_6]: { name: 'BIG STRAIGHT', payout: 25000, description: 'Six in a row' },
34
+ [PatternType.STRAIGHT_7]: { name: 'LUCKY SEVEN', payout: 50000, description: 'Seven sequential hex digits' },
35
+ [PatternType.STRAIGHT_6]: { name: 'BIG STRAIGHT', payout: 25000, description: 'Six sequential hex digits' },
33
36
  [PatternType.SIX_OF_KIND]: { name: 'HEXTET', payout: 10000, description: 'Six of a kind' },
34
37
  [PatternType.FULLEST_HOUSE]: { name: 'FULLEST HOUSE', payout: 5000, description: '4 + 3 of a kind' },
35
- [PatternType.STRAIGHT_5]: { name: 'STRAIGHT', payout: 2500, description: 'Five in a row' },
38
+ [PatternType.STRAIGHT_5]: { name: 'STRAIGHT', payout: 2500, description: 'Five sequential hex digits' },
36
39
  [PatternType.FIVE_OF_KIND]: { name: 'FIVE OF A KIND', payout: 2000, description: 'Five of a kind' },
37
40
  [PatternType.THREE_OF_KIND_PLUS_THREE]: { name: 'DOUBLE TRIPLE', payout: 1000, description: 'Two three of a kinds' },
38
- [PatternType.THREE_PAIR]: { name: 'THREE PAIR', payout: 500, description: 'Three pairs' },
39
- [PatternType.FULL_HOUSE]: { name: 'FULL HOUSE', payout: 300, description: 'Three and two of a kind' },
41
+ [PatternType.THREE_PAIR]: { name: 'THREE PAIR', payout: 500, description: 'Three consecutive pairs' },
42
+ [PatternType.FULLER_HOUSE]: { name: 'FULLER HOUSE', payout: 400, description: '3 + 2 + 2 of a kind' },
43
+ [PatternType.FULL_HOUSE]: { name: 'FULL HOUSE', payout: 50, description: '3 + 2 of a kind' },
40
44
  [PatternType.ALL_LETTERS]: { name: 'ALPHABET SOUP', payout: 250, description: 'Only letters (a-f)' },
41
45
  [PatternType.FOUR_OF_KIND]: { name: 'FOUR OF A KIND', payout: 200, description: 'Four of a kind' },
42
- [PatternType.THREE_OF_KIND]: { name: 'THREE OF A KIND', payout: 100, description: 'Three of a kind' },
46
+ [PatternType.THREE_OF_KIND]: { name: 'THREE OF A KIND', payout: 25, description: 'Three of a kind' },
43
47
  [PatternType.ALL_NUMBERS]: { name: 'ALL NUMBERS', payout: 50, description: 'Only numbers (0-9)' },
44
- [PatternType.TWO_PAIR]: { name: 'TWO PAIR', payout: 25, description: 'Two pairs' },
45
- [PatternType.ONE_PAIR]: { name: 'ONE PAIR', payout: 10, description: 'One pair' },
48
+ [PatternType.TWO_PAIR]: { name: 'TWO PAIR', payout: 25, description: 'Two consecutive pairs' },
49
+ [PatternType.ONE_PAIR]: { name: 'ONE PAIR', payout: 10, description: 'One consecutive pair' },
46
50
  [PatternType.NO_WIN]: { name: 'NO WIN', payout: 0, description: 'No winning pattern' }
47
51
  };
48
52
 
@@ -145,8 +149,9 @@ function getHighlightIndices(hash: string, type: PatternType): number[] {
145
149
  }
146
150
  }
147
151
 
148
- // For all letters or all numbers, highlight everything
149
- if (type === PatternType.ALL_LETTERS || type === PatternType.ALL_NUMBERS || type === PatternType.ALL_SAME) {
152
+ // For all letters, all numbers, all same, or lucky sevens - highlight everything
153
+ if (type === PatternType.ALL_LETTERS || type === PatternType.ALL_NUMBERS ||
154
+ type === PatternType.ALL_SAME || type === PatternType.LUCKY_SEVENS) {
150
155
  return [0, 1, 2, 3, 4, 5, 6];
151
156
  }
152
157
 
@@ -172,8 +177,8 @@ function getHighlightIndices(hash: string, type: PatternType): number[] {
172
177
  }
173
178
  }
174
179
  }
175
- else if (type === PatternType.FULLEST_HOUSE || type === PatternType.FULL_HOUSE ||
176
- type === PatternType.THREE_OF_KIND_PLUS_THREE) {
180
+ else if (type === PatternType.FULLEST_HOUSE || type === PatternType.FULLER_HOUSE ||
181
+ type === PatternType.FULL_HOUSE || type === PatternType.THREE_OF_KIND_PLUS_THREE) {
177
182
  // Highlight all paired/tripled characters
178
183
  for (const [char, count] of counts.entries()) {
179
184
  if (count >= 2) {
@@ -218,8 +223,12 @@ export function detectPattern(hash: string): PatternResult {
218
223
  // Detect pattern - check in order of rarity/value
219
224
  let type: PatternType;
220
225
 
226
+ // Check for the secret ultimate jackpot: 7777777
227
+ if (lowerHash === '7777777') {
228
+ type = PatternType.LUCKY_SEVENS;
229
+ }
221
230
  // Check for all same first (highest value)
222
- if (distribution[0] === 7) {
231
+ else if (distribution[0] === 7) {
223
232
  type = PatternType.ALL_SAME;
224
233
  }
225
234
  // Check for 6 of a kind
@@ -258,7 +267,11 @@ export function detectPattern(hash: string): PatternResult {
258
267
  else if (distribution[0] === 3 && distribution[1] === 3) {
259
268
  type = PatternType.THREE_OF_KIND_PLUS_THREE;
260
269
  }
261
- // Check for full house (3-2-2 or 3-2-1-1)
270
+ // Check for fuller house (3-2-2)
271
+ else if (distribution[0] === 3 && distribution[1] === 2 && distribution[2] === 2) {
272
+ type = PatternType.FULLER_HOUSE;
273
+ }
274
+ // Check for full house (3-2-1-1)
262
275
  else if (distribution[0] === 3 && distribution[1] === 2) {
263
276
  type = PatternType.FULL_HOUSE;
264
277
  }
@@ -1,22 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(npm run build:*)",
5
- "Bash(git add:*)",
6
- "Bash(git commit:*)",
7
- "Bash(git push)",
8
- "Bash(git push:*)",
9
- "Bash(npm publish)",
10
- "Bash(npm config set:*)",
11
- "Read(//Users/than/Sites/gitslotmachine.com/**)",
12
- "Read(//Users/than/Sites/**)",
13
- "Bash(xargs:*)",
14
- "Bash(php artisan play:remove:*)",
15
- "Bash(php artisan tinker:*)",
16
- "Bash(git reflog:*)",
17
- "Bash(php artisan:*)"
18
- ],
19
- "deny": [],
20
- "ask": []
21
- }
22
- }