Socket
Socket
Sign inDemoInstall

silent-promise

Package Overview
Dependencies
68
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.0.3 to 0.0.4

src/types/others.d.ts

34

dist/index.d.ts

@@ -1,5 +0,4 @@

export { promisify } from "util";
import PromiseError from "./promise-error";
export { SilentPromiseError } from "./silent-promise-error";
export { default as PromiseError } from "./promise-error";
import PromiseError from "./promise-error";
export declare class SilentPromise<T> extends Promise<[PromiseError, T | undefined]> {

@@ -9,19 +8,18 @@ }

export declare function bindTo(thisArg: any): any;
export declare type Callback<T> = (error: any | undefined, result?: T) => void;
export declare type Args = any[];
export declare type RestArgumentFunction = (...args: Args) => void;
export declare type SilentPromiseFunction<T> = (...args: Args) => SilentPromise<T>;
export declare type Callback<T> = (error: any, result?: T) => any | void;
export declare type RestArgumentFunction = (...args: any[]) => any | void;
export declare type SilentPromiseFunction<T> = (...args: any[]) => SilentPromise<T>;
export declare function silentPromise<T>(promise: Promise<T>): SilentPromise<T>;
export declare function silentCallback<T>(fn: (callback: Callback<T>) => void, bind?: any): () => SilentPromise<T>;
export declare function silentCallback<A1, T>(fn: (arg1: A1, callback: Callback<T>) => void, bind?: any): (arg1: A1) => SilentPromise<T>;
export declare function silentCallback<A1, A2, T>(fn: (arg1: A1, arg2: A2, callback: Callback<T>) => void, bind?: any): (arg1: A1, arg2: A2) => SilentPromise<T>;
export declare function silentCallback<A1, A2, A3, T>(fn: (arg1: A1, arg2: A2, arg3: A3, callback: Callback<T>) => void, bind?: any): (arg1: A1, arg2: A2, arg3: A3) => SilentPromise<T>;
export declare function silentCallback<A1, A2, A3, A4, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, callback: Callback<T>) => void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4) => SilentPromise<T>;
export declare function silentCallback<A1, A2, A3, A4, A5, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, callback: Callback<T>) => void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5) => SilentPromise<T>;
export declare function silentCallback<A1, A2, A3, A4, A5, A6, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, callback: Callback<T>) => void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6) => SilentPromise<T>;
export declare function silentCallback<A1, A2, A3, A4, A5, A6, A7, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, callback: Callback<T>) => void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7) => SilentPromise<T>;
export declare function silentCallback<A1, A2, A3, A4, A5, A6, A7, A8, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8, callback: Callback<T>) => void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8) => SilentPromise<T>;
export declare function silentCallback<A1, A2, A3, A4, A5, A6, A7, A8, A9, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8, arg9: A9, callback: Callback<T>) => void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8, arg9: A9) => SilentPromise<T>;
export declare function silentCallback<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8, arg9: A9, arg10: A10, callback: Callback<T>) => void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8, arg9: A9, arg10: A10) => SilentPromise<T>;
export declare function silentCallback<T>(fn: (callback: Callback<T>) => any | void, bind?: any): () => SilentPromise<T>;
export declare function silentCallback<A1, T>(fn: (arg1: A1, callback: Callback<T>) => any | void, bind?: any): (arg1: A1) => SilentPromise<T>;
export declare function silentCallback<A1, A2, T>(fn: (arg1: A1, arg2: A2, callback: Callback<T>) => any | void, bind?: any): (arg1: A1, arg2: A2) => SilentPromise<T>;
export declare function silentCallback<A1, A2, A3, T>(fn: (arg1: A1, arg2: A2, arg3: A3, callback: Callback<T>) => any | void, bind?: any): (arg1: A1, arg2: A2, arg3: A3) => SilentPromise<T>;
export declare function silentCallback<A1, A2, A3, A4, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, callback: Callback<T>) => any | void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4) => SilentPromise<T>;
export declare function silentCallback<A1, A2, A3, A4, A5, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, callback: Callback<T>) => any | void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5) => SilentPromise<T>;
export declare function silentCallback<A1, A2, A3, A4, A5, A6, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, callback: Callback<T>) => any | void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6) => SilentPromise<T>;
export declare function silentCallback<A1, A2, A3, A4, A5, A6, A7, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, callback: Callback<T>) => any | void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7) => SilentPromise<T>;
export declare function silentCallback<A1, A2, A3, A4, A5, A6, A7, A8, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8, callback: Callback<T>) => any | void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8) => SilentPromise<T>;
export declare function silentCallback<A1, A2, A3, A4, A5, A6, A7, A8, A9, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8, arg9: A9, callback: Callback<T>) => any | void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8, arg9: A9) => SilentPromise<T>;
export declare function silentCallback<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8, arg9: A9, arg10: A10, callback: Callback<T>) => any | void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8, arg9: A9, arg10: A10) => SilentPromise<T>;
export declare function execSilentCallback<T>(fn: RestArgumentFunction, bind: any): SilentPromiseFunction<T>;
export declare function execSilentCallback<T>(fn: RestArgumentFunction, ...args: Args): SilentPromise<T>;
export declare function execSilentCallback<T>(fn: RestArgumentFunction, ...args: any[]): SilentPromise<T>;

@@ -6,9 +6,8 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
var util_1 = require("util");
exports.promisify = util_1.promisify;
const object_getownpropertydescriptors_1 = __importDefault(require("object.getownpropertydescriptors"));
const promise_error_1 = __importDefault(require("./promise-error"));
var silent_promise_error_1 = require("./silent-promise-error");
exports.SilentPromiseError = silent_promise_error_1.SilentPromiseError;
var promise_error_1 = require("./promise-error");
exports.PromiseError = promise_error_1.default;
const promise_error_2 = __importDefault(require("./promise-error"));
var promise_error_2 = require("./promise-error");
exports.PromiseError = promise_error_2.default;
class SilentPromise extends Promise {

@@ -28,4 +27,4 @@ }

p
.then((result) => resolve([new promise_error_2.default(), result]))
.catch((error) => resolve([new promise_error_2.default(error), undefined]));
.then((result) => resolve([new promise_error_1.default(), result]))
.catch((error) => resolve([new promise_error_1.default(error), undefined]));
});

@@ -35,8 +34,9 @@ }

// above functions into 1 - wraps fn into a function that returns SilentPromise (SilentPromiseFunction)
function silentCallback(fn, bind) {
const wrapFn = getSilentPromiseFunction(fn, getBindArgument(bind) || bind);
function silentCallback(fn, bindArg) {
const wrapFn = getSilentPromiseFunction(fn, getBindArgument(bindArg) || bindArg);
Object.setPrototypeOf(wrapFn, Object.getPrototypeOf(fn));
return Object.defineProperties(wrapFn, Object.getOwnPropertyDescriptors(fn));
return Object.defineProperties(wrapFn, object_getownpropertydescriptors_1.default(fn));
}
exports.silentCallback = silentCallback;
// tslint:disable-next-line:max-line-length
function execSilentCallback(fn, ...args) {

@@ -52,6 +52,6 @@ const bindArgs = getBindArgument(...args);

if (error) {
resolve([new promise_error_2.default(error), undefined]);
resolve([new promise_error_1.default(error), undefined]);
}
else {
resolve([new promise_error_2.default(), result]);
resolve([new promise_error_1.default(), result]);
}

@@ -76,6 +76,6 @@ });

if (error) {
resolve([new promise_error_2.default(error), undefined]);
resolve([new promise_error_1.default(error), undefined]);
}
else {
resolve([new promise_error_2.default(), result]);
resolve([new promise_error_1.default(), result]);
}

@@ -85,3 +85,3 @@ });

catch (error) {
resolve([new promise_error_2.default(error), undefined]);
resolve([new promise_error_1.default(error), undefined]);
}

@@ -88,0 +88,0 @@ });

{
"name": "silent-promise",
"version": "0.0.3",
"version": "0.0.4",
"description": "Make a promise fail silently. For use with async/await for easy error handling without try-catch",

@@ -38,3 +38,6 @@ "main": "dist/index.js",

"typescript": "^2.9.1"
},
"dependencies": {
"object.getownpropertydescriptors": "^2.0.3"
}
}

@@ -1,7 +0,7 @@

export { promisify } from "util";
import getObjectPropertyDescriptors from "object.getownpropertydescriptors";
import PromiseError from "./promise-error";
export { SilentPromiseError } from "./silent-promise-error";
export { default as PromiseError } from "./promise-error";
import PromiseError from "./promise-error";
export class SilentPromise<T> extends Promise<[PromiseError, T | undefined]> {}

@@ -16,6 +16,5 @@

export type Callback<T> = (error: any | undefined, result?: T) => void;
export type Args = any[];
export type RestArgumentFunction = (...args: Args) => void;
export type SilentPromiseFunction<T> = (...args: Args) => SilentPromise<T>;
export type Callback<T> = (error: any, result?: T) => any | void;
export type RestArgumentFunction = (...args: any[]) => any | void;
export type SilentPromiseFunction<T> = (...args: any[]) => SilentPromise<T>;

@@ -31,39 +30,39 @@ export function silentPromise<T>(promise: Promise<T>): SilentPromise<T> {

export function silentCallback<T>(fn: (callback: Callback<T>) => void, bind?: any): () => SilentPromise<T>;
export function silentCallback<T>(fn: (callback: Callback<T>) => any | void, bind?: any): () => SilentPromise<T>;
// tslint:disable-next-line:max-line-length
export function silentCallback<A1, T>(fn: (arg1: A1, callback: Callback<T>) => void, bind?: any): (arg1: A1) => SilentPromise<T>;
export function silentCallback<A1, T>(fn: (arg1: A1, callback: Callback<T>) => any | void, bind?: any): (arg1: A1) => SilentPromise<T>;
// tslint:disable-next-line:max-line-length
export function silentCallback<A1, A2, T>(fn: (arg1: A1, arg2: A2, callback: Callback<T>) => void, bind?: any): (arg1: A1, arg2: A2) => SilentPromise<T>;
export function silentCallback<A1, A2, T>(fn: (arg1: A1, arg2: A2, callback: Callback<T>) => any | void, bind?: any): (arg1: A1, arg2: A2) => SilentPromise<T>;
// tslint:disable-next-line:max-line-length
export function silentCallback<A1, A2, A3, T>(fn: (arg1: A1, arg2: A2, arg3: A3, callback: Callback<T>) => void, bind?: any): (arg1: A1, arg2: A2, arg3: A3) => SilentPromise<T>;
export function silentCallback<A1, A2, A3, T>(fn: (arg1: A1, arg2: A2, arg3: A3, callback: Callback<T>) => any | void, bind?: any): (arg1: A1, arg2: A2, arg3: A3) => SilentPromise<T>;
// tslint:disable-next-line:max-line-length
export function silentCallback<A1, A2, A3, A4, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, callback: Callback<T>) => void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4) => SilentPromise<T>;
export function silentCallback<A1, A2, A3, A4, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, callback: Callback<T>) => any | void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4) => SilentPromise<T>;
// tslint:disable-next-line:max-line-length
export function silentCallback<A1, A2, A3, A4, A5, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, callback: Callback<T>) => void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5) => SilentPromise<T>;
export function silentCallback<A1, A2, A3, A4, A5, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, callback: Callback<T>) => any | void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5) => SilentPromise<T>;
// tslint:disable-next-line:max-line-length
export function silentCallback<A1, A2, A3, A4, A5, A6, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, callback: Callback<T>) => void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6) => SilentPromise<T>;
export function silentCallback<A1, A2, A3, A4, A5, A6, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, callback: Callback<T>) => any | void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6) => SilentPromise<T>;
// tslint:disable-next-line:max-line-length
export function silentCallback<A1, A2, A3, A4, A5, A6, A7, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, callback: Callback<T>) => void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7) => SilentPromise<T>;
export function silentCallback<A1, A2, A3, A4, A5, A6, A7, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, callback: Callback<T>) => any | void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7) => SilentPromise<T>;
// tslint:disable-next-line:max-line-length
export function silentCallback<A1, A2, A3, A4, A5, A6, A7, A8, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8, callback: Callback<T>) => void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8) => SilentPromise<T>;
export function silentCallback<A1, A2, A3, A4, A5, A6, A7, A8, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8, callback: Callback<T>) => any | void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8) => SilentPromise<T>;
// tslint:disable-next-line:max-line-length
export function silentCallback<A1, A2, A3, A4, A5, A6, A7, A8, A9, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8, arg9: A9, callback: Callback<T>) => void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8, arg9: A9) => SilentPromise<T>;
export function silentCallback<A1, A2, A3, A4, A5, A6, A7, A8, A9, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8, arg9: A9, callback: Callback<T>) => any | void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8, arg9: A9) => SilentPromise<T>;
// tslint:disable-next-line:max-line-length
export function silentCallback<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8, arg9: A9, arg10: A10, callback: Callback<T>) => void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8, arg9: A9, arg10: A10) => SilentPromise<T>;
export function silentCallback<A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, T>(fn: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8, arg9: A9, arg10: A10, callback: Callback<T>) => any | void, bind?: any): (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, arg6: A6, arg7: A7, arg8: A8, arg9: A9, arg10: A10) => SilentPromise<T>;
// above functions into 1 - wraps fn into a function that returns SilentPromise (SilentPromiseFunction)
export function silentCallback<T>(fn: RestArgumentFunction, bind?: any): SilentPromiseFunction<T> {
const wrapFn = getSilentPromiseFunction(fn, getBindArgument(bind) || bind);
export function silentCallback<T>(fn: RestArgumentFunction, bindArg?: any): SilentPromiseFunction<T> {
const wrapFn = getSilentPromiseFunction(fn, getBindArgument(bindArg) || bindArg);
Object.setPrototypeOf(wrapFn, Object.getPrototypeOf(fn));
return Object.defineProperties(wrapFn, Object.getOwnPropertyDescriptors(fn));
return Object.defineProperties(wrapFn, getObjectPropertyDescriptors(fn));
}
export function execSilentCallback<T>(fn: RestArgumentFunction, bind: any): SilentPromiseFunction<T>;
export function execSilentCallback<T>(fn: RestArgumentFunction, ...args: Args): SilentPromise<T>;
export function execSilentCallback<T>(fn: RestArgumentFunction, ...args: Args): SilentPromise<T> | SilentPromiseFunction<T> {
export function execSilentCallback<T>(fn: RestArgumentFunction, ...args: any[]): SilentPromise<T>;
// tslint:disable-next-line:max-line-length
export function execSilentCallback<T>(fn: RestArgumentFunction, ...args: any[]): SilentPromise<T> | SilentPromiseFunction<T> {
const bindArgs = getBindArgument(...args);
if (bindArgs) {
return getSilentPromiseFunction<T>(fn, bindArgs);
}
else {
} else {
return new Promise((resolve) => {

@@ -84,3 +83,3 @@ // append callback to intended function call

function getBindArgument(...args: Args) {
function getBindArgument(...args: any[]) {
// must be the only argument

@@ -93,3 +92,3 @@ if (args.length === 1 && args[0] instanceof Object && args[0][bind]) {

function getSilentPromiseFunction<T>(fn: RestArgumentFunction, bindArg?: any) {
return (...args: Args): SilentPromise<T> => {
return (...args: any[]): SilentPromise<T> => {
return new Promise((resolve) => {

@@ -96,0 +95,0 @@ try {

@@ -6,3 +6,3 @@ import IfError from "./if-error";

constructor(error?: any) {
public constructor(error?: any) {
this.error = error;

@@ -9,0 +9,0 @@ }

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc