@lafrae/errors 0.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 ADDED
@@ -0,0 +1,46 @@
1
+ # Node Async Handler
2
+
3
+ Tratamento para funções asíncronas abstraindo o uso de chamadas `try/catch`
4
+
5
+ ## Instalando
6
+
7
+ Via npm
8
+
9
+ ```bash
10
+ npm i @sintese/nodejs-async-handler
11
+ ```
12
+
13
+ ## Usando
14
+
15
+ ```javascript
16
+ import { handler } from "@sintese/nodejs-async-handler";
17
+
18
+ class EvenNumberNotAllowedError extends Error {
19
+ constructor(num: number) {
20
+ super(`even number ${num} is not allowed`);
21
+ }
22
+ }
23
+
24
+ async function myAsyncFunction(): Promise<{ num: number }> {
25
+ const num = Math.ceil(Math.random() * 10);
26
+ if (num % 2 === 0) {
27
+ throw new EvenNumberNotAllowedError(num);
28
+ }
29
+ return { num };
30
+ }
31
+
32
+ (async () => {
33
+ const [error, data] = await handler(myAsyncFunction);
34
+
35
+ if (error) {
36
+ console.log({ error });
37
+ } else {
38
+ console.log({ data });
39
+ }
40
+ })();
41
+
42
+ ```
43
+
44
+ ## Contribuindo
45
+
46
+ Dúvidas, contribuições e sugestões são muito bem vidas.
@@ -0,0 +1 @@
1
+ export declare const handler: <E = Error, D = unknown>(callback: () => Promise<D>) => Promise<[E, null] | [null, D]>;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.handler = void 0;
13
+ const handler = (callback) => __awaiter(void 0, void 0, void 0, function* () {
14
+ try {
15
+ const data = yield callback();
16
+ return [null, data];
17
+ }
18
+ catch (error) {
19
+ return [error, null];
20
+ }
21
+ });
22
+ exports.handler = handler;
@@ -0,0 +1 @@
1
+ {"type": "commonjs"}
@@ -0,0 +1 @@
1
+ export declare const handler: <E = Error, D = unknown>(callback: () => Promise<D>) => Promise<[E, null] | [null, D]>;
@@ -0,0 +1,18 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ export const handler = (callback) => __awaiter(void 0, void 0, void 0, function* () {
11
+ try {
12
+ const data = yield callback();
13
+ return [null, data];
14
+ }
15
+ catch (error) {
16
+ return [error, null];
17
+ }
18
+ });
@@ -0,0 +1 @@
1
+ {"type": "module"}
package/package.json ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "@lafrae/errors",
3
+ "version": "0.0.1",
4
+ "description": "Definições para gerenciamento de erros em javascript",
5
+ "engines": {
6
+ "node": ">=18"
7
+ },
8
+ "files": [
9
+ "dist",
10
+ "README.md"
11
+ ],
12
+ "scripts": {
13
+ "clean": "rm -rf ./dist",
14
+ "build": "npm run clean && npm run build:esm && npm run build:cjs",
15
+ "build:esm": "tsc -b ./tsconfig.esm.json && echo '{\"type\": \"module\"}' > dist/esm/package.json",
16
+ "build:cjs": "tsc -b ./tsconfig.cjs.json && echo '{\"type\": \"commonjs\"}' > dist/cjs/package.json"
17
+ },
18
+ "main": "./dist/cjs/handler.js",
19
+ "module": "./dist/esm/handler.js",
20
+ "types": "dist/handler.d.ts",
21
+ "exports": {
22
+ ".": {
23
+ "types": "./dist/esm/handler.d.ts",
24
+ "import": "./dist/esm/handler.js",
25
+ "require": "./dist/cjs/handler.js"
26
+ }
27
+ }
28
+ }