@rich-automation/lotto 0.0.4 → 0.1.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/lib/cjs/index.js +18 -1
- package/lib/cjs/lottoService.js +11 -1
- package/lib/cjs/package.json +1 -0
- package/lib/esm/index.js +2 -0
- package/lib/esm/lottoService.js +11 -1
- package/lib/esm/package.json +1 -0
- package/lib/typescript/controllers/puppeteer/puppeteer.page.d.ts +1 -1
- package/lib/typescript/index.d.ts +2 -0
- package/lib/typescript/types.d.ts +1 -1
- package/package.json +8 -5
package/lib/cjs/index.js
CHANGED
|
@@ -1,7 +1,24 @@
|
|
|
1
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getCurrentLottoRound = exports.LottoService = void 0;
|
|
17
|
+
exports.LogLevel = exports.getCurrentLottoRound = exports.LottoService = void 0;
|
|
4
18
|
var lottoService_1 = require("./lottoService");
|
|
5
19
|
Object.defineProperty(exports, "LottoService", { enumerable: true, get: function () { return lottoService_1.LottoService; } });
|
|
6
20
|
var getCurrentLottoRound_1 = require("./utils/getCurrentLottoRound");
|
|
7
21
|
Object.defineProperty(exports, "getCurrentLottoRound", { enumerable: true, get: function () { return getCurrentLottoRound_1.getCurrentLottoRound; } });
|
|
22
|
+
var logger_1 = require("./logger");
|
|
23
|
+
Object.defineProperty(exports, "LogLevel", { enumerable: true, get: function () { return logger_1.LogLevel; } });
|
|
24
|
+
__exportStar(require("./types"), exports);
|
package/lib/cjs/lottoService.js
CHANGED
|
@@ -99,35 +99,45 @@ class LottoService {
|
|
|
99
99
|
this.purchase = (amount = 5) => __awaiter(this, void 0, void 0, function* () {
|
|
100
100
|
if (!this.context.authenticated)
|
|
101
101
|
throw lottoError_1.default.NotAuthenticated();
|
|
102
|
+
this.logger.debug('[purchase]', 'validatePurchaseAvailability');
|
|
102
103
|
(0, validatePurchaseAvailability_1.validatePurchaseAvailability)();
|
|
103
104
|
// move
|
|
105
|
+
this.logger.debug('[purchase]', 'move to lotto game page');
|
|
104
106
|
const page = yield this.browserController.focus(0);
|
|
105
107
|
yield page.goto(urls_1.URLS.LOTTO_645);
|
|
106
108
|
// click auto button
|
|
109
|
+
this.logger.debug('[purchase]', 'click purchase type button -> auto');
|
|
107
110
|
yield page.click(selectors_1.SELECTORS.PURCHASE_TYPE_RANDOM_BTN);
|
|
108
111
|
// set and confirm amount
|
|
109
112
|
const amountString = String(Math.max(1, Math.min(5, amount)));
|
|
113
|
+
this.logger.debug('[purchase]', `select purchase amount${amountString} -> amount confirm`);
|
|
110
114
|
yield page.select(selectors_1.SELECTORS.PURCHASE_AMOUNT_SELECT, amountString);
|
|
111
115
|
yield page.click(selectors_1.SELECTORS.PURCHASE_AMOUNT_CONFIRM_BTN);
|
|
112
116
|
// click purchase button
|
|
117
|
+
this.logger.debug('[purchase]', 'click purchase button');
|
|
113
118
|
yield page.click(selectors_1.SELECTORS.PURCHASE_BTN);
|
|
119
|
+
yield page.wait(500);
|
|
120
|
+
this.logger.debug('[purchase]', 'click purchase confirm button');
|
|
114
121
|
yield page.click(selectors_1.SELECTORS.PURCHASE_CONFIRM_BTN);
|
|
115
122
|
yield page.wait(1000);
|
|
116
123
|
// game result
|
|
124
|
+
this.logger.debug('[purchase]', 'print result');
|
|
117
125
|
return page.querySelectorAll(selectors_1.SELECTORS.PURCHASE_NUMBER_LIST, elems => {
|
|
118
126
|
return elems.map(it => Array.from(it.children).map(child => Number(child.innerHTML)));
|
|
119
127
|
});
|
|
120
128
|
});
|
|
121
129
|
this.check = (numbers, round = (0, getCurrentLottoRound_1.getCurrentLottoRound)()) => __awaiter(this, void 0, void 0, function* () {
|
|
122
130
|
(0, validateLottoNumber_1.validateLottoNumber)(numbers);
|
|
131
|
+
this.logger.debug('[check]', 'getWinningNumbers');
|
|
123
132
|
const winningNumbers = yield (0, getWinningNumbers_1.getWinningNumbers)(round);
|
|
124
133
|
return (0, checkWinning_1.checkWinning)(numbers, winningNumbers);
|
|
125
134
|
});
|
|
126
135
|
this.getCheckWinningLink = (round, numbers) => {
|
|
136
|
+
this.logger.debug('[getCheckWinningLink]', 'getCheckWinningLink');
|
|
127
137
|
return (0, getCheckWinningLink_1.getCheckWinningLink)(round, numbers);
|
|
128
138
|
};
|
|
129
139
|
this.logger = new logger_1.default(configs === null || configs === void 0 ? void 0 : configs.logLevel, '[LottoService]');
|
|
130
|
-
this.browserController = (0, factory_1.createBrowserController)('puppeteer', Object.assign({
|
|
140
|
+
this.browserController = (0, factory_1.createBrowserController)('puppeteer', Object.assign(Object.assign({ defaultViewport: { width: 1080, height: 1024 } }, configs), { headless: (configs === null || configs === void 0 ? void 0 : configs.headless) === false ? false : 'new' }), this.logger);
|
|
131
141
|
}
|
|
132
142
|
}
|
|
133
143
|
exports.LottoService = LottoService;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type": "commonjs"}
|
package/lib/esm/index.js
CHANGED
package/lib/esm/lottoService.js
CHANGED
|
@@ -93,34 +93,44 @@ export class LottoService {
|
|
|
93
93
|
this.purchase = (amount = 5) => __awaiter(this, void 0, void 0, function* () {
|
|
94
94
|
if (!this.context.authenticated)
|
|
95
95
|
throw LottoError.NotAuthenticated();
|
|
96
|
+
this.logger.debug('[purchase]', 'validatePurchaseAvailability');
|
|
96
97
|
validatePurchaseAvailability();
|
|
97
98
|
// move
|
|
99
|
+
this.logger.debug('[purchase]', 'move to lotto game page');
|
|
98
100
|
const page = yield this.browserController.focus(0);
|
|
99
101
|
yield page.goto(URLS.LOTTO_645);
|
|
100
102
|
// click auto button
|
|
103
|
+
this.logger.debug('[purchase]', 'click purchase type button -> auto');
|
|
101
104
|
yield page.click(SELECTORS.PURCHASE_TYPE_RANDOM_BTN);
|
|
102
105
|
// set and confirm amount
|
|
103
106
|
const amountString = String(Math.max(1, Math.min(5, amount)));
|
|
107
|
+
this.logger.debug('[purchase]', `select purchase amount${amountString} -> amount confirm`);
|
|
104
108
|
yield page.select(SELECTORS.PURCHASE_AMOUNT_SELECT, amountString);
|
|
105
109
|
yield page.click(SELECTORS.PURCHASE_AMOUNT_CONFIRM_BTN);
|
|
106
110
|
// click purchase button
|
|
111
|
+
this.logger.debug('[purchase]', 'click purchase button');
|
|
107
112
|
yield page.click(SELECTORS.PURCHASE_BTN);
|
|
113
|
+
yield page.wait(500);
|
|
114
|
+
this.logger.debug('[purchase]', 'click purchase confirm button');
|
|
108
115
|
yield page.click(SELECTORS.PURCHASE_CONFIRM_BTN);
|
|
109
116
|
yield page.wait(1000);
|
|
110
117
|
// game result
|
|
118
|
+
this.logger.debug('[purchase]', 'print result');
|
|
111
119
|
return page.querySelectorAll(SELECTORS.PURCHASE_NUMBER_LIST, elems => {
|
|
112
120
|
return elems.map(it => Array.from(it.children).map(child => Number(child.innerHTML)));
|
|
113
121
|
});
|
|
114
122
|
});
|
|
115
123
|
this.check = (numbers, round = getCurrentLottoRound()) => __awaiter(this, void 0, void 0, function* () {
|
|
116
124
|
validateLottoNumber(numbers);
|
|
125
|
+
this.logger.debug('[check]', 'getWinningNumbers');
|
|
117
126
|
const winningNumbers = yield getWinningNumbers(round);
|
|
118
127
|
return checkWinning(numbers, winningNumbers);
|
|
119
128
|
});
|
|
120
129
|
this.getCheckWinningLink = (round, numbers) => {
|
|
130
|
+
this.logger.debug('[getCheckWinningLink]', 'getCheckWinningLink');
|
|
121
131
|
return getCheckWinningLink(round, numbers);
|
|
122
132
|
};
|
|
123
133
|
this.logger = new Logger(configs === null || configs === void 0 ? void 0 : configs.logLevel, '[LottoService]');
|
|
124
|
-
this.browserController = createBrowserController('puppeteer', Object.assign({
|
|
134
|
+
this.browserController = createBrowserController('puppeteer', Object.assign(Object.assign({ defaultViewport: { width: 1080, height: 1024 } }, configs), { headless: (configs === null || configs === void 0 ? void 0 : configs.headless) === false ? false : 'new' }), this.logger);
|
|
125
135
|
}
|
|
126
136
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type": "module"}
|
|
@@ -12,5 +12,5 @@ export declare class PuppeteerPage implements BrowserPageInterface {
|
|
|
12
12
|
getCookies(): Promise<string>;
|
|
13
13
|
setCookies(cookies: StringifiedCookies): Promise<void>;
|
|
14
14
|
wait(param: 'idle' | 'load' | number): Promise<void>;
|
|
15
|
-
on(event: BrowserPageEvents, callback: (...args: unknown[]) => void): () =>
|
|
15
|
+
on(event: BrowserPageEvents, callback: (...args: unknown[]) => void): () => Page;
|
|
16
16
|
}
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rich-automation/lotto",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Lotto module",
|
|
5
5
|
"publishConfig": {
|
|
6
|
-
"access": "public"
|
|
6
|
+
"access": "public",
|
|
7
|
+
"registry": "https://registry.npmjs.org"
|
|
7
8
|
},
|
|
8
9
|
"contributors": [
|
|
9
10
|
{
|
|
@@ -26,10 +27,12 @@
|
|
|
26
27
|
"packageManager": "yarn@1.22.19",
|
|
27
28
|
"scripts": {
|
|
28
29
|
"prepack": "yarn build",
|
|
30
|
+
"release:ci": "release-it --ci --npm.skipChecks",
|
|
31
|
+
"release:ci:test": "release-it --ci --npm.skipChecks --dry-run",
|
|
29
32
|
"start": "ts-node ./example/app",
|
|
30
33
|
"build": "rm -rf lib && yarn build:cjs && yarn build:esm && yarn build:dts",
|
|
31
|
-
"build:cjs": "tsc --project tsconfig.cjs.json --verbatimModuleSyntax false",
|
|
32
|
-
"build:esm": "tsc --project tsconfig.esm.json",
|
|
34
|
+
"build:cjs": "tsc --project tsconfig.cjs.json --verbatimModuleSyntax false && echo '{\"type\": \"commonjs\"}' > lib/cjs/package.json",
|
|
35
|
+
"build:esm": "tsc --project tsconfig.esm.json && echo '{\"type\": \"module\"}' > lib/esm/package.json",
|
|
33
36
|
"build:dts": "tsc --project tsconfig.json --emitDeclarationOnly --declaration --declarationDir lib/typescript",
|
|
34
37
|
"test": "jest --forceExit --detectOpenHandles",
|
|
35
38
|
"install:chrome": "node ./node_modules/puppeteer/install.js",
|
|
@@ -44,7 +47,7 @@
|
|
|
44
47
|
"dependencies": {
|
|
45
48
|
"axios": "^1.3.5",
|
|
46
49
|
"dayjs": "^1.11.7",
|
|
47
|
-
"puppeteer": "^
|
|
50
|
+
"puppeteer": "^20.5.0"
|
|
48
51
|
},
|
|
49
52
|
"devDependencies": {
|
|
50
53
|
"@babel/core": "^7.21.4",
|