safe-wrapper 3.0.0 → 4.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/lib/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var T=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var i=(r,e)=>{for(var o in e)T(r,o,{get:e[o],enumerable:!0})},l=(r,e,o,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of u(e))!c.call(r,n)&&n!==o&&T(r,n,{get:()=>e[n],enumerable:!(s=E(e,n))||s.enumerable});return r};var m=r=>l(T({},"__esModule",{value:!0}),r);var d={};i(d,{safe:()=>R});module.exports=m(d);var t=({error:r,data:e})=>r?[r,null]:[null,e],a=r=>r instanceof Promise||typeof r=="object"&&r!==null&&typeof r.then=="function",f=r=>e=>{try{let o=r(e);return a(o)?o.then(s=>t({error:s})).catch(s=>t({error:s})):t({error:o})}catch(o){return t({error:o})}},y=(r,e=[],o)=>{let s=!e.length||e.some(p=>r instanceof p),n=o!==void 0&&typeof o=="function";if(s)return n?f(o)(r):t({error:r});throw r},R=(r,e=[],o)=>(...s)=>{try{let n=r(...s);return a(n)?n.then(p=>t({data:p})).catch(p=>y(p,e,o)):t({data:n})}catch(n){return y(n,e,o)}};0&&(module.exports={safe});
1
+ "use strict";var y=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var c=(r,e)=>{for(var o in e)y(r,o,{get:e[o],enumerable:!0})},l=(r,e,o,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of i(e))!u.call(r,n)&&n!==o&&y(r,n,{get:()=>e[n],enumerable:!(s=a(e,n))||s.enumerable});return r};var m=r=>l(y({},"__esModule",{value:!0}),r);var P={};c(P,{safe:()=>R});module.exports=m(P);var p=({error:r,data:e})=>r?[r,null]:[null,e],E=r=>r instanceof Promise||r!==null&&typeof r=="object"&&"then"in r&&typeof r.then=="function",f=r=>e=>{let o=r(e);return E(o)?o.then(s=>p({error:s})):p({error:o})},T=(r,e=[],o)=>{let s=!e.length||e.some(t=>r instanceof t),n=o!==void 0&&typeof o=="function";if(s)return n?f(o)(r):p({error:r});throw r},R=(r,e=[],o)=>((...s)=>{try{let n=r(...s);return E(n)?n.then(t=>p({data:t})).catch(t=>T(t,e,o)):p({data:n})}catch(n){return T(n,e,o)}});0&&(module.exports={safe});
package/lib/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  type Result<ResponseType, ErrorType> = [ErrorType, null] | [null, ResponseType];
2
2
  type Safe<ActionType extends (...args: unknown[]) => unknown, ErrorType = Error> = ReturnType<ActionType> extends Promise<infer ResponseType> ? (...args: Parameters<ActionType>) => Promise<Result<ResponseType, ErrorType>> : (...args: Parameters<ActionType>) => Result<ReturnType<ActionType>, ErrorType>;
3
- declare const safe: <ActionType extends (...args: unknown[]) => unknown, ErrorType = Error>(action: ActionType, types?: ErrorConstructor[], transformer?: (error: Error) => Promise<ErrorType> | ErrorType) => Safe<ActionType, ErrorType>;
3
+ type ErrorConstructor = new (...args: any[]) => Error;
4
+ declare const safe: <ActionType extends (...args: any[]) => any, ErrorType = Error>(action: ActionType, types?: ErrorConstructor[], transformer?: (error: Error) => Promise<ErrorType> | ErrorType) => Safe<ActionType, ErrorType>;
4
5
  export { safe };
package/lib/index.mjs CHANGED
@@ -1 +1 @@
1
- var t=({error:r,data:o})=>r?[r,null]:[null,o],y=r=>r instanceof Promise||typeof r=="object"&&r!==null&&typeof r.then=="function",a=r=>o=>{try{let e=r(o);return y(e)?e.then(n=>t({error:n})).catch(n=>t({error:n})):t({error:e})}catch(e){return t({error:e})}},T=(r,o=[],e)=>{let n=!o.length||o.some(p=>r instanceof p),s=e!==void 0&&typeof e=="function";if(n)return s?a(e)(r):t({error:r});throw r},E=(r,o=[],e)=>(...n)=>{try{let s=r(...n);return y(s)?s.then(p=>t({data:p})).catch(p=>T(p,o,e)):t({data:s})}catch(s){return T(s,o,e)}};export{E as safe};
1
+ var p=({error:r,data:o})=>r?[r,null]:[null,o],T=r=>r instanceof Promise||r!==null&&typeof r=="object"&&"then"in r&&typeof r.then=="function",E=r=>o=>{let e=r(o);return T(e)?e.then(s=>p({error:s})):p({error:e})},y=(r,o=[],e)=>{let s=!o.length||o.some(t=>r instanceof t),n=e!==void 0&&typeof e=="function";if(s)return n?E(e)(r):p({error:r});throw r},a=(r,o=[],e)=>((...s)=>{try{let n=r(...s);return T(n)?n.then(t=>p({data:t})).catch(t=>y(t,o,e)):p({data:n})}catch(n){return y(n,o,e)}});export{a as safe};
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "safe-wrapper",
3
- "version": "3.0.0",
4
- "description": "a js-util for safely wrapping synchronous and asynchronous functions to handle errors based on specified types.",
3
+ "version": "4.0.0",
4
+ "description": "a ts-util for safely wrapping synchronous and asynchronous functions to handle errors based on specified types.",
5
5
  "type": "module",
6
6
  "main": "lib/index.cjs",
7
7
  "types": "lib/index.d.ts",
8
8
  "module": "lib/index.mjs",
9
9
  "scripts": {
10
- "build": "rm -rf lib && node esbuild.config.js",
11
- "ci": "npm install --clean-install && npm test && npm run build",
10
+ "build": "rm -rf lib && tsx esbuild.config.ts",
11
+ "ci": "npm ci && npm test && npm run build",
12
12
  "start": "tsx src/index.ts",
13
- "test": "tsx test/*.test.js"
13
+ "test": "tsx test/*.test.ts"
14
14
  },
15
15
  "exports": {
16
16
  ".": {
@@ -37,8 +37,9 @@
37
37
  },
38
38
  "homepage": "https://github.com/mcking-07/safe-wrapper#readme",
39
39
  "devDependencies": {
40
- "esbuild": "^0.25.5",
41
- "tsx": "^4.19.4",
42
- "typescript": "^5.8.3"
40
+ "@types/node": "^25.1.0",
41
+ "esbuild": "^0.27.2",
42
+ "tsx": "^4.21.0",
43
+ "typescript": "^5.9.3"
43
44
  }
44
45
  }