git-slot-machine 1.0.0
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/LICENSE +21 -0
- package/README.md +313 -0
- package/dist/animation/slotMachine.d.ts +9 -0
- package/dist/animation/slotMachine.d.ts.map +1 -0
- package/dist/animation/slotMachine.js +139 -0
- package/dist/animation/slotMachine.js.map +1 -0
- package/dist/api.d.ts +40 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +154 -0
- package/dist/api.js.map +1 -0
- package/dist/balance.d.ts +11 -0
- package/dist/balance.d.ts.map +1 -0
- package/dist/balance.js +131 -0
- package/dist/balance.js.map +1 -0
- package/dist/commands/auth.d.ts +4 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +91 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/balance.d.ts +2 -0
- package/dist/commands/balance.d.ts.map +1 -0
- package/dist/commands/balance.js +32 -0
- package/dist/commands/balance.js.map +1 -0
- package/dist/commands/config.d.ts +3 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +60 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +148 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/play.d.ts +7 -0
- package/dist/commands/play.d.ts.map +1 -0
- package/dist/commands/play.js +137 -0
- package/dist/commands/play.js.map +1 -0
- package/dist/commands/spin.d.ts +6 -0
- package/dist/commands/spin.d.ts.map +1 -0
- package/dist/commands/spin.js +17 -0
- package/dist/commands/spin.js.map +1 -0
- package/dist/commands/sync.d.ts +2 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +52 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/test.d.ts +6 -0
- package/dist/commands/test.d.ts.map +1 -0
- package/dist/commands/test.js +17 -0
- package/dist/commands/test.js.map +1 -0
- package/dist/config.d.ts +27 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +144 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +100 -0
- package/dist/index.js.map +1 -0
- package/dist/patterns.d.ts +27 -0
- package/dist/patterns.d.ts.map +1 -0
- package/dist/patterns.js +266 -0
- package/dist/patterns.js.map +1 -0
- package/dist/templates/post-commit.d.ts +2 -0
- package/dist/templates/post-commit.d.ts.map +1 -0
- package/dist/templates/post-commit.js +19 -0
- package/dist/templates/post-commit.js.map +1 -0
- package/dist/utils/git.d.ts +4 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +42 -0
- package/dist/utils/git.js.map +1 -0
- package/jest.config.js +12 -0
- package/package.json +50 -0
- package/src/animation/slotMachine.ts +159 -0
- package/src/api.ts +203 -0
- package/src/balance.ts +118 -0
- package/src/commands/auth.ts +92 -0
- package/src/commands/balance.ts +28 -0
- package/src/commands/config.ts +59 -0
- package/src/commands/init.ts +121 -0
- package/src/commands/play.ts +150 -0
- package/src/commands/spin.ts +17 -0
- package/src/commands/sync.ts +49 -0
- package/src/commands/test.ts +19 -0
- package/src/config.ts +154 -0
- package/src/index.ts +114 -0
- package/src/patterns.test.ts +44 -0
- package/src/patterns.ts +292 -0
- package/src/templates/post-commit.ts +15 -0
- package/src/utils/git.ts +38 -0
- package/test.txt +2 -0
- package/tsconfig.json +20 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.initCommand = initCommand;
|
|
40
|
+
const fs = __importStar(require("fs"));
|
|
41
|
+
const path = __importStar(require("path"));
|
|
42
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
43
|
+
const git_1 = require("../utils/git");
|
|
44
|
+
const post_commit_1 = require("../templates/post-commit");
|
|
45
|
+
const config_1 = require("../config");
|
|
46
|
+
async function isRepoPublic(owner, repo) {
|
|
47
|
+
try {
|
|
48
|
+
const response = await fetch(`https://api.github.com/repos/${owner}/${repo}`, {
|
|
49
|
+
headers: {
|
|
50
|
+
'Accept': 'application/vnd.github+json',
|
|
51
|
+
'X-GitHub-Api-Version': '2022-11-28',
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
if (response.ok) {
|
|
55
|
+
const data = await response.json();
|
|
56
|
+
return data.private === false;
|
|
57
|
+
}
|
|
58
|
+
// 404 could mean private or doesn't exist
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
// Network error or API unavailable
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
async function initCommand() {
|
|
67
|
+
// Check if git repo
|
|
68
|
+
if (!(0, git_1.isGitRepo)()) {
|
|
69
|
+
console.error(chalk_1.default.red('Error: Not a git repository'));
|
|
70
|
+
console.log(chalk_1.default.dim('Run this command from the root of a git repository'));
|
|
71
|
+
process.exit(1);
|
|
72
|
+
}
|
|
73
|
+
// Extract and save GitHub username from remote URL (do this first)
|
|
74
|
+
const repoInfo = (0, config_1.getRepoInfo)();
|
|
75
|
+
if (!repoInfo) {
|
|
76
|
+
console.log();
|
|
77
|
+
console.error(chalk_1.default.red('Error: No GitHub remote detected'));
|
|
78
|
+
console.log();
|
|
79
|
+
console.log(chalk_1.default.yellow('Git Slot Machine requires a public GitHub repository.'));
|
|
80
|
+
console.log();
|
|
81
|
+
console.log(chalk_1.default.dim('Add a GitHub remote to this repo:'));
|
|
82
|
+
console.log(chalk_1.default.cyan(' git remote add origin https://github.com/username/repo.git'));
|
|
83
|
+
console.log();
|
|
84
|
+
console.log(chalk_1.default.dim('This prevents farming points in private/local repos.'));
|
|
85
|
+
console.log(chalk_1.default.dim('Your commits must be publicly verifiable.'));
|
|
86
|
+
process.exit(1);
|
|
87
|
+
}
|
|
88
|
+
const existingUsername = (0, config_1.getGitHubUsername)();
|
|
89
|
+
if (!existingUsername) {
|
|
90
|
+
(0, config_1.setGitHubUsername)(repoInfo.owner);
|
|
91
|
+
console.log(chalk_1.default.dim(`Detected GitHub username: ${repoInfo.owner}`));
|
|
92
|
+
}
|
|
93
|
+
// Check if repository is public
|
|
94
|
+
console.log(chalk_1.default.dim('Checking repository visibility...'));
|
|
95
|
+
const isPublic = await isRepoPublic(repoInfo.owner, repoInfo.name);
|
|
96
|
+
if (isPublic === false) {
|
|
97
|
+
console.log();
|
|
98
|
+
console.error(chalk_1.default.red('Error: Private repository detected'));
|
|
99
|
+
console.log();
|
|
100
|
+
console.log(chalk_1.default.yellow('Git Slot Machine only supports public repositories.'));
|
|
101
|
+
console.log();
|
|
102
|
+
console.log(chalk_1.default.dim('Why? Your commit hashes would be visible on the public'));
|
|
103
|
+
console.log(chalk_1.default.dim('leaderboard, which could expose information about your'));
|
|
104
|
+
console.log(chalk_1.default.dim('private repository.'));
|
|
105
|
+
console.log();
|
|
106
|
+
console.log(chalk_1.default.dim('Please use git-slot-machine with a public repository.'));
|
|
107
|
+
process.exit(1);
|
|
108
|
+
}
|
|
109
|
+
if (isPublic === null) {
|
|
110
|
+
console.log(chalk_1.default.yellow('⚠️ Could not verify repository visibility'));
|
|
111
|
+
console.log(chalk_1.default.dim('Proceeding with installation...'));
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
console.log(chalk_1.default.green('✓ Public repository confirmed'));
|
|
115
|
+
}
|
|
116
|
+
const hookPath = path.join(process.cwd(), '.git', 'hooks', 'post-commit');
|
|
117
|
+
// Check if hook already exists
|
|
118
|
+
if (fs.existsSync(hookPath)) {
|
|
119
|
+
console.log(chalk_1.default.yellow('Warning: post-commit hook already exists'));
|
|
120
|
+
console.log(chalk_1.default.dim(`Location: ${hookPath}`));
|
|
121
|
+
// TODO: Could add merge logic or backup existing hook
|
|
122
|
+
console.log(chalk_1.default.red('Aborting to avoid overwriting existing hook'));
|
|
123
|
+
console.log(chalk_1.default.dim('Manually add git-slot-machine to your existing hook'));
|
|
124
|
+
process.exit(1);
|
|
125
|
+
}
|
|
126
|
+
// Write the hook
|
|
127
|
+
fs.writeFileSync(hookPath, post_commit_1.POST_COMMIT_HOOK, { mode: 0o755 });
|
|
128
|
+
console.log(chalk_1.default.green('✓ Post-commit hook installed'));
|
|
129
|
+
console.log();
|
|
130
|
+
console.log(chalk_1.default.cyan('Git Slot Machine is ready!'));
|
|
131
|
+
console.log(chalk_1.default.dim('Every commit will now spin the slot machine.'));
|
|
132
|
+
console.log();
|
|
133
|
+
console.log('Try it out:');
|
|
134
|
+
console.log(chalk_1.default.dim(' git commit --allow-empty -m "test"'));
|
|
135
|
+
console.log();
|
|
136
|
+
console.log(chalk_1.default.cyan('Optional: Sync with the API'));
|
|
137
|
+
console.log(chalk_1.default.dim(` git-slot-machine auth login ${repoInfo?.owner || 'your-github-username'}`));
|
|
138
|
+
console.log();
|
|
139
|
+
console.log(chalk_1.default.yellow('What gets sent to the server:'));
|
|
140
|
+
console.log(chalk_1.default.dim(' • Commit hash (7 and 40 character versions)'));
|
|
141
|
+
console.log(chalk_1.default.dim(' • Repository URL, owner, and name'));
|
|
142
|
+
console.log(chalk_1.default.dim(' • GitHub username'));
|
|
143
|
+
console.log(chalk_1.default.dim(' • Pattern type, payout, and balance'));
|
|
144
|
+
console.log();
|
|
145
|
+
console.log(chalk_1.default.dim('You can disable API sync anytime:'));
|
|
146
|
+
console.log(chalk_1.default.dim(' git-slot-machine config set sync-enabled false'));
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"play.d.ts","sourceRoot":"","sources":["../../src/commands/play.ts"],"names":[],"mappings":"AAOA,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAyInF"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.playCommand = playCommand;
|
|
7
|
+
const patterns_1 = require("../patterns");
|
|
8
|
+
const slotMachine_1 = require("../animation/slotMachine");
|
|
9
|
+
const balance_1 = require("../balance");
|
|
10
|
+
const api_1 = require("../api");
|
|
11
|
+
const config_1 = require("../config");
|
|
12
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
13
|
+
async function playCommand(hash, options) {
|
|
14
|
+
try {
|
|
15
|
+
// Get balance before playing
|
|
16
|
+
const balanceBefore = (0, balance_1.getBalance)();
|
|
17
|
+
// Detect pattern
|
|
18
|
+
const result = (0, patterns_1.detectPattern)(hash);
|
|
19
|
+
// Animate based on mode
|
|
20
|
+
const config = {
|
|
21
|
+
finalHash: hash.toLowerCase(),
|
|
22
|
+
small: options.small || false,
|
|
23
|
+
patternResult: result
|
|
24
|
+
};
|
|
25
|
+
if (options.small) {
|
|
26
|
+
await (0, slotMachine_1.animateSmallMode)(config);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
await (0, slotMachine_1.animateSlotMachine)(config);
|
|
30
|
+
}
|
|
31
|
+
// Show result
|
|
32
|
+
if (!options.small) {
|
|
33
|
+
console.log();
|
|
34
|
+
// Center the text below the box (box width is 41 chars)
|
|
35
|
+
const boxWidth = 41;
|
|
36
|
+
if (result.payout > 0) {
|
|
37
|
+
const resultText = `${result.name}!`;
|
|
38
|
+
const resultPadding = Math.floor((boxWidth - resultText.length) / 2);
|
|
39
|
+
console.log(' '.repeat(resultPadding) + chalk_1.default.cyan.bold(resultText));
|
|
40
|
+
const payoutText = `+${result.payout} points`;
|
|
41
|
+
const payoutPadding = Math.floor((boxWidth - payoutText.length) / 2);
|
|
42
|
+
console.log(' '.repeat(payoutPadding) + chalk_1.default.white.bold(payoutText));
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
const noWinText = 'No win';
|
|
46
|
+
const noWinPadding = Math.floor((boxWidth - noWinText.length) / 2);
|
|
47
|
+
console.log(' '.repeat(noWinPadding) + chalk_1.default.red.bold(noWinText));
|
|
48
|
+
const lossText = '-10 points';
|
|
49
|
+
const lossPadding = Math.floor((boxWidth - lossText.length) / 2);
|
|
50
|
+
console.log(' '.repeat(lossPadding) + chalk_1.default.white.bold(lossText));
|
|
51
|
+
}
|
|
52
|
+
console.log();
|
|
53
|
+
const descText = result.description;
|
|
54
|
+
const descPadding = Math.floor((boxWidth - descText.length) / 2);
|
|
55
|
+
console.log(' '.repeat(descPadding) + chalk_1.default.dim(descText));
|
|
56
|
+
}
|
|
57
|
+
// Validate GitHub remote for API sync
|
|
58
|
+
const repoInfo = (0, config_1.getRepoInfo)();
|
|
59
|
+
const githubUsername = (0, config_1.getGitHubUsername)();
|
|
60
|
+
if (!repoInfo && githubUsername) {
|
|
61
|
+
console.log();
|
|
62
|
+
console.log(chalk_1.default.yellow.bold('⚠ Warning: No GitHub remote detected'));
|
|
63
|
+
console.log(chalk_1.default.dim('This repo will not sync to the leaderboard.'));
|
|
64
|
+
console.log(chalk_1.default.dim('To sync, add a GitHub remote:'));
|
|
65
|
+
console.log(chalk_1.default.cyan(' git remote add origin https://github.com/username/repo.git'));
|
|
66
|
+
console.log();
|
|
67
|
+
}
|
|
68
|
+
// Update balance locally
|
|
69
|
+
let newBalance = (0, balance_1.updateBalance)(hash.toLowerCase(), result.payout);
|
|
70
|
+
// Send to API and sync balance with server
|
|
71
|
+
let shareUrl;
|
|
72
|
+
if (repoInfo && githubUsername) {
|
|
73
|
+
const playData = {
|
|
74
|
+
commit_hash: hash.toLowerCase(),
|
|
75
|
+
pattern_type: result.type,
|
|
76
|
+
pattern_name: result.name,
|
|
77
|
+
payout: result.payout,
|
|
78
|
+
wager: 10,
|
|
79
|
+
balance_before: balanceBefore,
|
|
80
|
+
balance_after: newBalance,
|
|
81
|
+
repo_url: repoInfo.url,
|
|
82
|
+
github_username: githubUsername,
|
|
83
|
+
repo_owner: repoInfo.owner,
|
|
84
|
+
repo_name: repoInfo.name,
|
|
85
|
+
};
|
|
86
|
+
// Only send full hash if we have one (not in test mode)
|
|
87
|
+
if (options.fullHash && options.fullHash.length === 40) {
|
|
88
|
+
playData.commit_full_hash = options.fullHash;
|
|
89
|
+
}
|
|
90
|
+
try {
|
|
91
|
+
const apiResponse = await (0, api_1.sendPlayToAPI)(playData);
|
|
92
|
+
// Sync local balance to match server's balance
|
|
93
|
+
if (apiResponse && apiResponse.balance !== undefined) {
|
|
94
|
+
(0, balance_1.setBalance)(apiResponse.balance);
|
|
95
|
+
newBalance = apiResponse.balance;
|
|
96
|
+
shareUrl = apiResponse.share_url;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
// Silently fail - local play already succeeded
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
// Show result and balance
|
|
104
|
+
if (options.small) {
|
|
105
|
+
// Small mode - everything on one line (animateSmallMode already wrote the hash without newline)
|
|
106
|
+
if (result.payout > 0) {
|
|
107
|
+
console.log(chalk_1.default.dim(' • ') + chalk_1.default.cyan.bold(`${result.name} +${result.payout}`) + chalk_1.default.dim(' • ') + chalk_1.default.white(`Balance: ${chalk_1.default.green.bold(newBalance)}`));
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
console.log(chalk_1.default.dim(' • ') + chalk_1.default.red('No win -10') + chalk_1.default.dim(' • ') + chalk_1.default.white(`Balance: ${newBalance >= 0 ? chalk_1.default.green.bold(newBalance) : chalk_1.default.red.bold(newBalance)}`));
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
console.log();
|
|
115
|
+
const boxWidth = 41;
|
|
116
|
+
// Note: we can't measure the exact length with color codes, so estimate based on text content
|
|
117
|
+
const balanceText = `Balance: ${newBalance} points`;
|
|
118
|
+
const balancePadding = Math.floor((boxWidth - balanceText.length) / 2);
|
|
119
|
+
console.log(' '.repeat(balancePadding) + chalk_1.default.white.bold(`Balance: ${newBalance >= 0 ? chalk_1.default.green.bold(newBalance) : chalk_1.default.red.bold(newBalance)} points`));
|
|
120
|
+
}
|
|
121
|
+
// Show share URL for wins
|
|
122
|
+
if (shareUrl && result.payout > 0 && !options.small) {
|
|
123
|
+
console.log();
|
|
124
|
+
const boxWidth = 41;
|
|
125
|
+
const shareText = 'Share your win:';
|
|
126
|
+
const sharePadding = Math.floor((boxWidth - shareText.length) / 2);
|
|
127
|
+
console.log(' '.repeat(sharePadding) + chalk_1.default.dim(shareText));
|
|
128
|
+
const urlPadding = Math.floor((boxWidth - shareUrl.length) / 2);
|
|
129
|
+
console.log(' '.repeat(urlPadding) + chalk_1.default.green.underline(shareUrl));
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
console.error(chalk_1.default.red(`Error: ${error.message}`));
|
|
134
|
+
process.exit(1);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=play.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"play.js","sourceRoot":"","sources":["../../src/commands/play.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spin.d.ts","sourceRoot":"","sources":["../../src/commands/spin.ts"],"names":[],"mappings":"AAGA,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CASrE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.spinCommand = spinCommand;
|
|
4
|
+
const git_1 = require("../utils/git");
|
|
5
|
+
const play_1 = require("./play");
|
|
6
|
+
async function spinCommand(options) {
|
|
7
|
+
try {
|
|
8
|
+
const hash = (0, git_1.getCurrentCommitHash)();
|
|
9
|
+
const fullHash = (0, git_1.getCurrentCommitFullHash)();
|
|
10
|
+
await (0, play_1.playCommand)(hash, { ...options, fullHash });
|
|
11
|
+
}
|
|
12
|
+
catch (error) {
|
|
13
|
+
console.error(`Error: ${error.message}`);
|
|
14
|
+
process.exit(1);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=spin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spin.js","sourceRoot":"","sources":["../../src/commands/spin.ts"],"names":[],"mappings":";;AAOA,kCASC;AAhBD,sCAA8E;AAC9E,iCAAqC;AAM9B,KAAK,UAAU,WAAW,CAAC,OAAoB;IACpD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAA,0BAAoB,GAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAA,8BAAwB,GAAE,CAAC;QAC5C,MAAM,IAAA,kBAAW,EAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,UAAW,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAIA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA4CjD"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.syncCommand = syncCommand;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const api_1 = require("../api");
|
|
9
|
+
const balance_1 = require("../balance");
|
|
10
|
+
async function syncCommand() {
|
|
11
|
+
try {
|
|
12
|
+
console.log(chalk_1.default.dim('Syncing with API...'));
|
|
13
|
+
const apiBalance = await (0, api_1.getBalance)();
|
|
14
|
+
if (!apiBalance) {
|
|
15
|
+
console.log(chalk_1.default.yellow('Unable to sync with API.'));
|
|
16
|
+
console.log(chalk_1.default.dim('Make sure you are authenticated and online.'));
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const localBalance = (0, balance_1.getBalance)();
|
|
20
|
+
console.log();
|
|
21
|
+
console.log(chalk_1.default.bold('Local Balance:'));
|
|
22
|
+
console.log(` Balance: ${chalk_1.default.green(localBalance)} points`);
|
|
23
|
+
console.log();
|
|
24
|
+
console.log(chalk_1.default.bold('API Balance:'));
|
|
25
|
+
console.log(` Balance: ${chalk_1.default.green(apiBalance.balance)} points`);
|
|
26
|
+
console.log(` Total Commits: ${chalk_1.default.cyan(apiBalance.total_commits)}`);
|
|
27
|
+
console.log(` Total Winnings: ${chalk_1.default.cyan(apiBalance.total_winnings)}`);
|
|
28
|
+
// Show biggest win with pattern and hash
|
|
29
|
+
if (apiBalance.biggest_win > 0) {
|
|
30
|
+
const winText = `${chalk_1.default.cyan(apiBalance.biggest_win)} points`;
|
|
31
|
+
const patternText = apiBalance.biggest_win_pattern ? ` (${chalk_1.default.yellow(apiBalance.biggest_win_pattern)})` : '';
|
|
32
|
+
const hashText = apiBalance.biggest_win_hash ? chalk_1.default.dim(` - ${apiBalance.biggest_win_hash}`) : '';
|
|
33
|
+
console.log(` Biggest Win: ${winText}${patternText}${hashText}`);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
console.log(` Biggest Win: ${chalk_1.default.cyan(apiBalance.biggest_win)}`);
|
|
37
|
+
}
|
|
38
|
+
console.log();
|
|
39
|
+
if (localBalance !== apiBalance.balance) {
|
|
40
|
+
console.log(chalk_1.default.yellow('Warning: Local and API balances differ.'));
|
|
41
|
+
console.log(chalk_1.default.dim('This is normal if you play offline or in multiple repos.'));
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
console.log(chalk_1.default.green('Balances are in sync!'));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
console.error(chalk_1.default.red(`Error: ${error.message}`));
|
|
49
|
+
process.exit(1);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"AAEA,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAWD,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAGrE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.testCommand = testCommand;
|
|
4
|
+
const play_1 = require("./play");
|
|
5
|
+
function generateRandomHash() {
|
|
6
|
+
const hexChars = '0123456789abcdef';
|
|
7
|
+
let hash = '';
|
|
8
|
+
for (let i = 0; i < 7; i++) {
|
|
9
|
+
hash += hexChars[Math.floor(Math.random() * hexChars.length)];
|
|
10
|
+
}
|
|
11
|
+
return hash;
|
|
12
|
+
}
|
|
13
|
+
async function testCommand(options) {
|
|
14
|
+
const randomHash = generateRandomHash();
|
|
15
|
+
await (0, play_1.playCommand)(randomHash, options);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":";;AAeA,kCAGC;AAlBD,iCAAqC;AAMrC,SAAS,kBAAkB;IACzB,MAAM,QAAQ,GAAG,kBAAkB,CAAC;IACpC,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,OAAoB;IACpD,MAAM,UAAU,GAAG,kBAAkB,EAAE,CAAC;IACxC,MAAM,IAAA,kBAAW,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
interface Config {
|
|
2
|
+
githubUsername?: string;
|
|
3
|
+
apiUrl?: string;
|
|
4
|
+
apiToken?: string;
|
|
5
|
+
syncEnabled?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare function getConfig(): Config;
|
|
8
|
+
export declare function getRepoConfig(): Config;
|
|
9
|
+
export declare function getGlobalConfig(): Config;
|
|
10
|
+
export declare function saveRepoConfig(config: Config): void;
|
|
11
|
+
export declare function saveGlobalConfig(config: Config): void;
|
|
12
|
+
export declare function getGitHubUsername(): string | null;
|
|
13
|
+
export declare function setGitHubUsername(username: string): void;
|
|
14
|
+
export declare function getApiUrl(): string;
|
|
15
|
+
export declare function setApiUrl(url: string): void;
|
|
16
|
+
export declare function getApiToken(): string | null;
|
|
17
|
+
export declare function setApiToken(token: string): void;
|
|
18
|
+
export declare function clearApiToken(): void;
|
|
19
|
+
export declare function isSyncEnabled(): boolean;
|
|
20
|
+
export declare function setSyncEnabled(enabled: boolean): void;
|
|
21
|
+
export declare function getRepoInfo(): {
|
|
22
|
+
owner: string;
|
|
23
|
+
name: string;
|
|
24
|
+
url: string;
|
|
25
|
+
} | null;
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAKA,UAAU,MAAM;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAqBD,wBAAgB,SAAS,IAAI,MAAM,CAKlC;AAGD,wBAAgB,aAAa,IAAI,MAAM,CAatC;AAGD,wBAAgB,eAAe,IAAI,MAAM,CAaxC;AAGD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAGnD;AAGD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAGrD;AAED,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAGjD;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAIxD;AAED,wBAAgB,SAAS,IAAI,MAAM,CAGlC;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAI3C;AAED,wBAAgB,WAAW,IAAI,MAAM,GAAG,IAAI,CAG3C;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAI/C;AAED,wBAAgB,aAAa,IAAI,IAAI,CAIpC;AAED,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAIrD;AAED,wBAAgB,WAAW,IAAI;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAqBjF"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getConfig = getConfig;
|
|
7
|
+
exports.getRepoConfig = getRepoConfig;
|
|
8
|
+
exports.getGlobalConfig = getGlobalConfig;
|
|
9
|
+
exports.saveRepoConfig = saveRepoConfig;
|
|
10
|
+
exports.saveGlobalConfig = saveGlobalConfig;
|
|
11
|
+
exports.getGitHubUsername = getGitHubUsername;
|
|
12
|
+
exports.setGitHubUsername = setGitHubUsername;
|
|
13
|
+
exports.getApiUrl = getApiUrl;
|
|
14
|
+
exports.setApiUrl = setApiUrl;
|
|
15
|
+
exports.getApiToken = getApiToken;
|
|
16
|
+
exports.setApiToken = setApiToken;
|
|
17
|
+
exports.clearApiToken = clearApiToken;
|
|
18
|
+
exports.isSyncEnabled = isSyncEnabled;
|
|
19
|
+
exports.setSyncEnabled = setSyncEnabled;
|
|
20
|
+
exports.getRepoInfo = getRepoInfo;
|
|
21
|
+
const fs_1 = __importDefault(require("fs"));
|
|
22
|
+
const path_1 = __importDefault(require("path"));
|
|
23
|
+
const os_1 = __importDefault(require("os"));
|
|
24
|
+
const child_process_1 = require("child_process");
|
|
25
|
+
// Get repo-specific config path
|
|
26
|
+
function getRepoConfigPath() {
|
|
27
|
+
return path_1.default.join(process.cwd(), '.git', 'slot-machine-config.json');
|
|
28
|
+
}
|
|
29
|
+
// Get global config path
|
|
30
|
+
function getGlobalConfigPath() {
|
|
31
|
+
const homeDir = os_1.default.homedir();
|
|
32
|
+
const configDir = path_1.default.join(homeDir, '.git-slot-machine');
|
|
33
|
+
// Ensure config directory exists
|
|
34
|
+
if (!fs_1.default.existsSync(configDir)) {
|
|
35
|
+
fs_1.default.mkdirSync(configDir, { recursive: true });
|
|
36
|
+
}
|
|
37
|
+
return path_1.default.join(configDir, 'config.json');
|
|
38
|
+
}
|
|
39
|
+
// Get merged config (repo-specific overrides global)
|
|
40
|
+
function getConfig() {
|
|
41
|
+
const globalConfig = getGlobalConfig();
|
|
42
|
+
const repoConfig = getRepoConfig();
|
|
43
|
+
return { ...globalConfig, ...repoConfig };
|
|
44
|
+
}
|
|
45
|
+
// Get only repo-specific config
|
|
46
|
+
function getRepoConfig() {
|
|
47
|
+
const configPath = getRepoConfigPath();
|
|
48
|
+
if (!fs_1.default.existsSync(configPath)) {
|
|
49
|
+
return {};
|
|
50
|
+
}
|
|
51
|
+
try {
|
|
52
|
+
const content = fs_1.default.readFileSync(configPath, 'utf-8');
|
|
53
|
+
return JSON.parse(content);
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
return {};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// Get only global config
|
|
60
|
+
function getGlobalConfig() {
|
|
61
|
+
const configPath = getGlobalConfigPath();
|
|
62
|
+
if (!fs_1.default.existsSync(configPath)) {
|
|
63
|
+
return {};
|
|
64
|
+
}
|
|
65
|
+
try {
|
|
66
|
+
const content = fs_1.default.readFileSync(configPath, 'utf-8');
|
|
67
|
+
return JSON.parse(content);
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
return {};
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// Save repo-specific config
|
|
74
|
+
function saveRepoConfig(config) {
|
|
75
|
+
const configPath = getRepoConfigPath();
|
|
76
|
+
fs_1.default.writeFileSync(configPath, JSON.stringify(config, null, 2));
|
|
77
|
+
}
|
|
78
|
+
// Save global config
|
|
79
|
+
function saveGlobalConfig(config) {
|
|
80
|
+
const configPath = getGlobalConfigPath();
|
|
81
|
+
fs_1.default.writeFileSync(configPath, JSON.stringify(config, null, 2));
|
|
82
|
+
}
|
|
83
|
+
function getGitHubUsername() {
|
|
84
|
+
const config = getConfig();
|
|
85
|
+
return config.githubUsername || null;
|
|
86
|
+
}
|
|
87
|
+
function setGitHubUsername(username) {
|
|
88
|
+
const config = getRepoConfig();
|
|
89
|
+
config.githubUsername = username;
|
|
90
|
+
saveRepoConfig(config);
|
|
91
|
+
}
|
|
92
|
+
function getApiUrl() {
|
|
93
|
+
const config = getConfig();
|
|
94
|
+
return config.apiUrl || process.env.GIT_SLOT_MACHINE_API_URL || 'https://gitslotmachine.com/api';
|
|
95
|
+
}
|
|
96
|
+
function setApiUrl(url) {
|
|
97
|
+
const config = getGlobalConfig();
|
|
98
|
+
config.apiUrl = url;
|
|
99
|
+
saveGlobalConfig(config);
|
|
100
|
+
}
|
|
101
|
+
function getApiToken() {
|
|
102
|
+
const config = getConfig();
|
|
103
|
+
return config.apiToken || null;
|
|
104
|
+
}
|
|
105
|
+
function setApiToken(token) {
|
|
106
|
+
const config = getGlobalConfig();
|
|
107
|
+
config.apiToken = token;
|
|
108
|
+
saveGlobalConfig(config);
|
|
109
|
+
}
|
|
110
|
+
function clearApiToken() {
|
|
111
|
+
const config = getGlobalConfig();
|
|
112
|
+
delete config.apiToken;
|
|
113
|
+
saveGlobalConfig(config);
|
|
114
|
+
}
|
|
115
|
+
function isSyncEnabled() {
|
|
116
|
+
const config = getConfig();
|
|
117
|
+
return config.syncEnabled !== false; // Default to true
|
|
118
|
+
}
|
|
119
|
+
function setSyncEnabled(enabled) {
|
|
120
|
+
const config = getGlobalConfig();
|
|
121
|
+
config.syncEnabled = enabled;
|
|
122
|
+
saveGlobalConfig(config);
|
|
123
|
+
}
|
|
124
|
+
function getRepoInfo() {
|
|
125
|
+
try {
|
|
126
|
+
const remoteUrl = (0, child_process_1.execSync)('git config --get remote.origin.url', { encoding: 'utf-8' }).trim();
|
|
127
|
+
// Parse GitHub URL (supports both HTTPS and SSH)
|
|
128
|
+
const match = remoteUrl.match(/github\.com[:/](.+?)\/(.+?)(\.git)?$/);
|
|
129
|
+
if (match) {
|
|
130
|
+
const owner = match[1];
|
|
131
|
+
const name = match[2];
|
|
132
|
+
return {
|
|
133
|
+
owner,
|
|
134
|
+
name,
|
|
135
|
+
url: `https://github.com/${owner}/${name}`,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
return null;
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;AA+BA,8BAKC;AAGD,sCAaC;AAGD,0CAaC;AAGD,wCAGC;AAGD,4CAGC;AAED,8CAGC;AAED,8CAIC;AAED,8BAGC;AAED,8BAIC;AAED,kCAGC;AAED,kCAIC;AAED,sCAIC;AAED,sCAGC;AAED,wCAIC;AAED,kCAqBC;AAzJD,4CAAoB;AACpB,gDAAwB;AACxB,4CAAoB;AACpB,iDAAyC;AASzC,gCAAgC;AAChC,SAAS,iBAAiB;IACxB,OAAO,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,0BAA0B,CAAC,CAAC;AACtE,CAAC;AAED,yBAAyB;AACzB,SAAS,mBAAmB;IAC1B,MAAM,OAAO,GAAG,YAAE,CAAC,OAAO,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAE1D,iCAAiC;IACjC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,YAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAC7C,CAAC;AAED,qDAAqD;AACrD,SAAgB,SAAS;IACvB,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,UAAU,EAAE,CAAC;AAC5C,CAAC;AAED,gCAAgC;AAChC,SAAgB,aAAa;IAC3B,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IAEvC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,yBAAyB;AACzB,SAAgB,eAAe;IAC7B,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAC;IAEzC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,4BAA4B;AAC5B,SAAgB,cAAc,CAAC,MAAc;IAC3C,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,YAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,qBAAqB;AACrB,SAAgB,gBAAgB,CAAC,MAAc;IAC7C,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAC;IACzC,YAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAgB,iBAAiB;IAC/B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC;AACvC,CAAC;AAED,SAAgB,iBAAiB,CAAC,QAAgB;IAChD,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,CAAC,cAAc,GAAG,QAAQ,CAAC;IACjC,cAAc,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC;AAED,SAAgB,SAAS;IACvB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,gCAAgC,CAAC;AACnG,CAAC;AAED,SAAgB,SAAS,CAAC,GAAW;IACnC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;IACpB,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,SAAgB,WAAW;IACzB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC;AACjC,CAAC;AAED,SAAgB,WAAW,CAAC,KAAa;IACvC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,SAAgB,aAAa;IAC3B,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,OAAO,MAAM,CAAC,QAAQ,CAAC;IACvB,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,SAAgB,aAAa;IAC3B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,kBAAkB;AACzD,CAAC;AAED,SAAgB,cAAc,CAAC,OAAgB;IAC7C,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC;IAC7B,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,SAAgB,WAAW;IACzB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAA,wBAAQ,EAAC,oCAAoC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAE/F,iDAAiD;QACjD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAEtE,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,OAAO;gBACL,KAAK;gBACL,IAAI;gBACJ,GAAG,EAAE,sBAAsB,KAAK,IAAI,IAAI,EAAE;aAC3C,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts
ADDED