luca 0.0.1 → 1.0.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/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # Roby · [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/iZemil/luca/blob/master/LICENSE) ![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/izemil/luca)
1
+ # Luca · [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/iZemil/luca/blob/main/LICENSE) ![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/izemil/luca)
2
2
 
3
- Tiny [NodeJS package](https://www.npmjs.com/package/luca) to check urls by name list and getting statuses.
3
+ Tiny [NPM package](https://www.npmjs.com/package/luca) to check urls by name list and getting statuses.
4
4
 
5
5
  ## Installation
6
6
 
@@ -8,25 +8,9 @@ Tiny [NodeJS package](https://www.npmjs.com/package/luca) to check urls by name
8
8
 
9
9
  ## CLI Usage
10
10
 
11
- Cli full documentation:
12
-
13
- ```bash
14
- luca --help
15
- ```
16
-
17
- Init configuration file:
18
-
19
- ```bash
20
- luca --init
21
- ```
22
-
23
- Run:
24
-
25
- ```bash
26
- luca --run
27
- ```
11
+ - Get docs `luca -h`
28
12
 
29
13
  ## Development
30
14
 
31
- - main lib dev: `yarn dev` and work with dev.ts file
32
- - cli dev: `yarn dev:cli <comand> [options]`
15
+ - main lib dev `yarn dev` and work with dev.ts file
16
+ - cli dev `yarn dev:cli <comand> [options]`
@@ -25,7 +25,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.getResultPath = exports.getConfigPath = void 0;
27
27
  const path = __importStar(require("path"));
28
- const getConfigPath = () => path.resolve('roby.config.js');
28
+ const getConfigPath = () => path.resolve('luca.config.js');
29
29
  exports.getConfigPath = getConfigPath;
30
- const getResultPath = () => path.resolve('roby.result.json');
30
+ const getResultPath = () => path.resolve('luca.result.json');
31
31
  exports.getResultPath = getResultPath;
@@ -1,2 +1,4 @@
1
+ import { AxiosError } from 'axios';
1
2
  import { TConfig } from './types';
3
+ export declare function isAxiosError(error: any): error is AxiosError;
2
4
  export declare const runConfig: (options?: TConfig) => Promise<void>;
@@ -35,7 +35,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
35
35
  return (mod && mod.__esModule) ? mod : { "default": mod };
36
36
  };
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.runConfig = void 0;
38
+ exports.runConfig = exports.isAxiosError = void 0;
39
39
  const axios_1 = __importDefault(require("axios"));
40
40
  const chalk_1 = __importDefault(require("chalk"));
41
41
  const fs = __importStar(require("fs/promises"));
@@ -48,44 +48,51 @@ function isAxiosError(error) {
48
48
  }
49
49
  return false;
50
50
  }
51
+ exports.isAxiosError = isAxiosError;
51
52
  const log = console.log;
53
+ // TODO: error retry
54
+ // TODO: run from last element
55
+ // TODO: clear result
56
+ // TODO: validat config - no config
52
57
  const runConfig = (options = require((0, consts_1.getConfigPath)())) => __awaiter(void 0, void 0, void 0, function* () {
53
58
  const resultPath = (0, consts_1.getResultPath)();
54
59
  try {
55
- (0, validateConfig_1.validateConfig)(options);
56
- log(chalk_1.default.blue('Roby is running...'));
57
- const { baseUrl, items, query, handler } = options;
60
+ log(chalk_1.default.blue('Luca is running...'));
61
+ const config = (0, validateConfig_1.validateConfig)(options);
62
+ const { baseUrl, items, query, handler } = config;
58
63
  const total = items.length;
59
64
  let index = 0;
60
65
  for (const item of items) {
66
+ const num = (index += 1);
67
+ const isFirst = num === 1;
68
+ const isLast = num === total;
61
69
  const url = query(baseUrl, item);
62
- let status = undefined;
63
70
  let response = null;
71
+ let isErroredRequest = false;
64
72
  try {
65
- response = (yield axios_1.default.get(url));
66
- status = response.status;
73
+ response = yield axios_1.default.get(url);
67
74
  }
68
75
  catch (e) {
76
+ isErroredRequest = true;
69
77
  if (isAxiosError(e) && e.response) {
70
- status = e.response.status;
78
+ response = e.response;
71
79
  }
72
80
  }
73
- log(chalk_1.default.blue(`${index + 1}/${total}`), `GET ${url} (${status})`);
81
+ finally {
82
+ log(chalk_1.default.blue(`${num}/${total}`), `GET ${chalk_1.default[isErroredRequest ? 'red' : 'green'](`(${response === null || response === void 0 ? void 0 : response.status})`)}:`, url);
83
+ }
74
84
  try {
75
85
  const data = handler(response, item);
76
- const isFirst = index === 0;
77
- const isLast = index + 1 === total;
78
86
  yield fs.appendFile(resultPath, `${isFirst ? '[' : ''}${JSON.stringify(data)}${isLast ? ']' : ','}`);
79
87
  }
80
88
  catch (error) {
81
89
  console.error('handler error', error);
82
90
  }
83
91
  finally {
84
- index += 1;
85
92
  yield (0, utils_1.delay)(options.delay);
86
93
  }
87
94
  }
88
- log(chalk_1.default.green(`\nFinished:\n> ${resultPath}`));
95
+ log(chalk_1.default.green(`Finished:\n> ${resultPath}`));
89
96
  }
90
97
  catch (e) {
91
98
  console.error(e);
@@ -1,2 +1,2 @@
1
1
  import { TConfig } from './types';
2
- export declare const validateConfig: (config: TConfig) => void;
2
+ export declare const validateConfig: (config: TConfig) => TConfig;
@@ -12,5 +12,6 @@ const validateConfig = (config) => {
12
12
  if (!handler) {
13
13
  throw new Error(`Specify config handler`);
14
14
  }
15
+ return config;
15
16
  };
16
17
  exports.validateConfig = validateConfig;
package/dist/index.d.ts CHANGED
@@ -1 +1 @@
1
- export { runConfig as roby } from './config/runConfig';
1
+ export { runConfig as luca } from './config/runConfig';
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.roby = void 0;
3
+ exports.luca = void 0;
4
4
  var runConfig_1 = require("./config/runConfig");
5
- Object.defineProperty(exports, "roby", { enumerable: true, get: function () { return runConfig_1.runConfig; } });
5
+ Object.defineProperty(exports, "luca", { enumerable: true, get: function () { return runConfig_1.runConfig; } });
package/package.json CHANGED
@@ -16,7 +16,7 @@
16
16
  "dist"
17
17
  ],
18
18
  "license": "MIT",
19
- "version": "0.0.1",
19
+ "version": "1.0.1",
20
20
  "scripts": {
21
21
  "build": "tsc",
22
22
  "dev": "tsc-watch ./src/dev.ts --outDir ./dist/ --onSuccess \"node ./dist/dev.js\" --esModuleInterop",
@@ -53,6 +53,11 @@
53
53
  "tsc-watch": "^5.0.3",
54
54
  "typescript": "~4.6.2"
55
55
  },
56
+ "release": {
57
+ "branches": [
58
+ "main"
59
+ ]
60
+ },
56
61
  "plugins": [
57
62
  "@semantic-release/commit-analyzer",
58
63
  "@semantic-release/release-notes-generator",
@@ -61,4 +66,4 @@
61
66
  "@semantic-release/npm",
62
67
  "@semantic-release/git"
63
68
  ]
64
- }
69
+ }
@@ -1 +0,0 @@
1
- export declare const initConfig: () => Promise<void>;
@@ -1,99 +0,0 @@
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 (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __generator = (this && this.__generator) || function (thisArg, body) {
35
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
- function verb(n) { return function (v) { return step([n, v]); }; }
38
- function step(op) {
39
- if (f) throw new TypeError("Generator is already executing.");
40
- while (_) try {
41
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
- if (y = 0, t) op = [op[0] & 2, t.value];
43
- switch (op[0]) {
44
- case 0: case 1: t = op; break;
45
- case 4: _.label++; return { value: op[1], done: false };
46
- case 5: _.label++; y = op[1]; op = [0]; continue;
47
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
- default:
49
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
- if (t[2]) _.ops.pop();
54
- _.trys.pop(); continue;
55
- }
56
- op = body.call(thisArg, _);
57
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
- }
60
- };
61
- Object.defineProperty(exports, "__esModule", { value: true });
62
- exports.initConfig = void 0;
63
- var fs = __importStar(require("fs/promises"));
64
- var utils_1 = require("../utils");
65
- var DEFAULT_CONFIG = {
66
- delay: 500,
67
- baseUrl: "https://www.npmjs.com/package",
68
- urlHanlder: function (baseUrl, item) { return "".concat(baseUrl, "/").concat(item); },
69
- resultHandler: function (response, item) {
70
- return;
71
- },
72
- items: ['foo', 'bar'],
73
- };
74
- var initConfig = function () { return __awaiter(void 0, void 0, void 0, function () {
75
- var e_1;
76
- return __generator(this, function (_a) {
77
- switch (_a.label) {
78
- case 0:
79
- _a.trys.push([0, 2, , 3]);
80
- console.log((0, utils_1.getConfig)());
81
- return [4 /*yield*/, fs.writeFile((0, utils_1.getConfig)(), "module.exports = ".concat(JSON.stringify(DEFAULT_CONFIG, function (key, val) {
82
- if (typeof val === 'function') {
83
- return val + ''; // implicitly `toString` it
84
- }
85
- return val;
86
- })))];
87
- case 1:
88
- _a.sent();
89
- console.log("Config file was created.");
90
- return [3 /*break*/, 3];
91
- case 2:
92
- e_1 = _a.sent();
93
- console.error(e_1);
94
- return [3 /*break*/, 3];
95
- case 3: return [2 /*return*/];
96
- }
97
- });
98
- }); };
99
- exports.initConfig = initConfig;
package/dist/dev.d.ts DELETED
File without changes
package/dist/dev.js DELETED
@@ -1,2 +0,0 @@
1
- "use strict";
2
- console.log('Development...');
@@ -1,2 +0,0 @@
1
- export declare const CONFIG_FILENAME = "roby.config.js";
2
- export declare const RESULT_FILENAME = "roby.result.json";
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RESULT_FILENAME = exports.CONFIG_FILENAME = void 0;
4
- exports.CONFIG_FILENAME = 'roby.config.js';
5
- exports.RESULT_FILENAME = "roby.result.json";
@@ -1 +0,0 @@
1
- export declare const initConfig: () => Promise<void>;
@@ -1,89 +0,0 @@
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 (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __generator = (this && this.__generator) || function (thisArg, body) {
35
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
- function verb(n) { return function (v) { return step([n, v]); }; }
38
- function step(op) {
39
- if (f) throw new TypeError("Generator is already executing.");
40
- while (_) try {
41
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
- if (y = 0, t) op = [op[0] & 2, t.value];
43
- switch (op[0]) {
44
- case 0: case 1: t = op; break;
45
- case 4: _.label++; return { value: op[1], done: false };
46
- case 5: _.label++; y = op[1]; op = [0]; continue;
47
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
- default:
49
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
- if (t[2]) _.ops.pop();
54
- _.trys.pop(); continue;
55
- }
56
- op = body.call(thisArg, _);
57
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
- }
60
- };
61
- var __importDefault = (this && this.__importDefault) || function (mod) {
62
- return (mod && mod.__esModule) ? mod : { "default": mod };
63
- };
64
- Object.defineProperty(exports, "__esModule", { value: true });
65
- exports.initConfig = void 0;
66
- var chalk_1 = __importDefault(require("chalk"));
67
- var fs = __importStar(require("fs/promises"));
68
- var _1 = require(".");
69
- var initConfig = function () { return __awaiter(void 0, void 0, void 0, function () {
70
- var config, e_1;
71
- return __generator(this, function (_a) {
72
- switch (_a.label) {
73
- case 0:
74
- _a.trys.push([0, 2, , 3]);
75
- config = (0, _1.getConfig)();
76
- return [4 /*yield*/, fs.writeFile(config, "module.exports = {\n delay: 500,\n baseUrl: \"https://www.npmjs.com/package\",\n query: (baseUrl, item) => {\n return `${baseUrl}/${item}`;\n },\n handler: (response, item) => {\n return {\n status: response.status,\n };\n },\n items: ['foo', 'bar'],\n}")];
77
- case 1:
78
- _a.sent();
79
- console.log(chalk_1.default.green("Config file was created:\n> ".concat(config)));
80
- return [3 /*break*/, 3];
81
- case 2:
82
- e_1 = _a.sent();
83
- console.error(e_1);
84
- return [3 /*break*/, 3];
85
- case 3: return [2 /*return*/];
86
- }
87
- });
88
- }); };
89
- exports.initConfig = initConfig;
@@ -1,2 +0,0 @@
1
- import { Config } from './';
2
- export declare const runConfig: (options?: Config) => Promise<void>;
@@ -1,145 +0,0 @@
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 (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __generator = (this && this.__generator) || function (thisArg, body) {
35
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
- function verb(n) { return function (v) { return step([n, v]); }; }
38
- function step(op) {
39
- if (f) throw new TypeError("Generator is already executing.");
40
- while (_) try {
41
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
- if (y = 0, t) op = [op[0] & 2, t.value];
43
- switch (op[0]) {
44
- case 0: case 1: t = op; break;
45
- case 4: _.label++; return { value: op[1], done: false };
46
- case 5: _.label++; y = op[1]; op = [0]; continue;
47
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
- default:
49
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
- if (t[2]) _.ops.pop();
54
- _.trys.pop(); continue;
55
- }
56
- op = body.call(thisArg, _);
57
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
- }
60
- };
61
- var __importDefault = (this && this.__importDefault) || function (mod) {
62
- return (mod && mod.__esModule) ? mod : { "default": mod };
63
- };
64
- Object.defineProperty(exports, "__esModule", { value: true });
65
- exports.runConfig = void 0;
66
- var axios_1 = __importDefault(require("axios"));
67
- var chalk_1 = __importDefault(require("chalk"));
68
- var fs = __importStar(require("fs/promises"));
69
- var path = __importStar(require("path"));
70
- var _1 = require("./");
71
- var validateConfig_1 = require("./validateConfig");
72
- function isAxiosError(error) {
73
- if ('response' in error) {
74
- return true;
75
- }
76
- return false;
77
- }
78
- var log = console.log;
79
- var runConfig = function (options) {
80
- if (options === void 0) { options = require((0, _1.getConfig)()); }
81
- return __awaiter(void 0, void 0, void 0, function () {
82
- var baseUrl, items, query, handler, result, _i, items_1, item, url, status_1, response, e_1, e_2, e_3;
83
- return __generator(this, function (_a) {
84
- switch (_a.label) {
85
- case 0:
86
- _a.trys.push([0, 12, , 13]);
87
- (0, validateConfig_1.validateConfig)(options);
88
- log(chalk_1.default.blue('Roby is running...'));
89
- baseUrl = options.baseUrl, items = options.items, query = options.query, handler = options.handler;
90
- result = [];
91
- _i = 0, items_1 = items;
92
- _a.label = 1;
93
- case 1:
94
- if (!(_i < items_1.length)) return [3 /*break*/, 8];
95
- item = items_1[_i];
96
- url = query(baseUrl, item);
97
- status_1 = undefined;
98
- response = null;
99
- _a.label = 2;
100
- case 2:
101
- _a.trys.push([2, 4, , 5]);
102
- return [4 /*yield*/, axios_1.default.get(url)];
103
- case 3:
104
- response = (_a.sent());
105
- status_1 = response.status;
106
- return [3 /*break*/, 5];
107
- case 4:
108
- e_1 = _a.sent();
109
- if (isAxiosError(e_1) && e_1.response) {
110
- status_1 = e_1.response.status;
111
- }
112
- return [3 /*break*/, 5];
113
- case 5:
114
- log("".concat(status_1, ": ").concat(url));
115
- result.push(handler(response, item));
116
- return [4 /*yield*/, (0, _1.delay)(options.delay)];
117
- case 6:
118
- _a.sent();
119
- _a.label = 7;
120
- case 7:
121
- _i++;
122
- return [3 /*break*/, 1];
123
- case 8:
124
- _a.trys.push([8, 10, , 11]);
125
- return [4 /*yield*/, fs.writeFile(_1.RESULT_FILENAME, JSON.stringify(result))];
126
- case 9:
127
- _a.sent();
128
- return [3 /*break*/, 11];
129
- case 10:
130
- e_2 = _a.sent();
131
- console.error(e_2);
132
- return [3 /*break*/, 11];
133
- case 11:
134
- log(chalk_1.default.green("\nFinished:\n> ".concat(path.resolve(_1.RESULT_FILENAME))));
135
- return [3 /*break*/, 13];
136
- case 12:
137
- e_3 = _a.sent();
138
- console.error(e_3);
139
- return [3 /*break*/, 13];
140
- case 13: return [2 /*return*/];
141
- }
142
- });
143
- });
144
- };
145
- exports.runConfig = runConfig;
@@ -1,8 +0,0 @@
1
- import { AxiosResponse } from 'axios';
2
- export interface Config<T = unknown> {
3
- baseUrl: string;
4
- items: T[];
5
- delay: number;
6
- query: (baseUrl: string, item: T) => string;
7
- handler: (response: AxiosResponse | null, item: T) => any;
8
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,2 +0,0 @@
1
- import { Config } from './types';
2
- export declare const validateConfig: (config: Config) => void;
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateConfig = void 0;
4
- var validateConfig = function (config) {
5
- var baseUrl = config.baseUrl, items = config.items, query = config.query, handler = config.handler;
6
- if (items.length === 0) {
7
- throw new Error("Specify config items, eg: items: [\"foo\", \"bar\"]");
8
- }
9
- if (!baseUrl) {
10
- throw new Error("Specify config baseUrl");
11
- }
12
- if (!handler) {
13
- throw new Error("Specify config handler");
14
- }
15
- };
16
- exports.validateConfig = validateConfig;
package/dist/utils.js DELETED
@@ -1,78 +0,0 @@
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 (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __generator = (this && this.__generator) || function (thisArg, body) {
35
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
- function verb(n) { return function (v) { return step([n, v]); }; }
38
- function step(op) {
39
- if (f) throw new TypeError("Generator is already executing.");
40
- while (_) try {
41
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
- if (y = 0, t) op = [op[0] & 2, t.value];
43
- switch (op[0]) {
44
- case 0: case 1: t = op; break;
45
- case 4: _.label++; return { value: op[1], done: false };
46
- case 5: _.label++; y = op[1]; op = [0]; continue;
47
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
- default:
49
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
- if (t[2]) _.ops.pop();
54
- _.trys.pop(); continue;
55
- }
56
- op = body.call(thisArg, _);
57
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
- }
60
- };
61
- exports.__esModule = true;
62
- exports.delay = exports.isDir = void 0;
63
- var fs = __importStar(require("fs"));
64
- function isDir(path) {
65
- try {
66
- var stat = fs.lstatSync(path);
67
- return stat.isDirectory();
68
- }
69
- catch (_a) {
70
- // lstatSync throws an error if path doesn't exist
71
- return false;
72
- }
73
- }
74
- exports.isDir = isDir;
75
- var delay = function (ms) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
76
- return [2 /*return*/, new Promise(function (res) { return setTimeout(res, ms); })];
77
- }); }); };
78
- exports.delay = delay;