Socket
Socket
Sign inDemoInstall

stubborn-fs

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

stubborn-fs - npm Package Compare versions

Comparing version 1.2.3 to 1.2.4

4

dist/attemptify.d.ts

@@ -1,3 +0,3 @@

declare const attemptifyAsync: <Args extends unknown[], Return>(fn: (...args: Args) => Promise<Return>, onError: (error: unknown) => undefined) => (...args: Args) => Promise<Return | undefined>;
declare const attemptifySync: <Args extends unknown[], Return>(fn: (...args: Args) => Return, onError: (error: unknown) => undefined) => (...args: Args) => Return | undefined;
declare const attemptifyAsync: <FN extends Function>(fn: FN, onError: (error: unknown) => undefined) => FN;
declare const attemptifySync: <FN extends Function>(fn: FN, onError: (error: unknown) => undefined) => FN;
export { attemptifyAsync, attemptifySync };
/* MAIN */
//FIXME: The return type of these functions is wrong, it doesn't account for returning "undefined", but a correct type cannot be written because generics cannot be extended properly, it seems
const attemptifyAsync = (fn, onError) => {

@@ -3,0 +4,0 @@ return function attemptified(...args) {

@@ -17,3 +17,3 @@ /* IMPORT */

isNodeError: (error) => {
return error instanceof Error;
return (error instanceof Error);
},

@@ -20,0 +20,0 @@ isRetriableError: (error) => {

/// <reference types="node" />
/// <reference types="node" />
/// <reference types="node" />
import fs from 'node:fs';
declare const FS: {
attempt: {
chmod: (path: fs.PathLike, mode: fs.Mode) => Promise<void | undefined>;
chown: (path: fs.PathLike, uid: number, gid: number) => Promise<void | undefined>;
close: (fd: number) => Promise<void | undefined>;
fsync: (fd: number) => Promise<void | undefined>;
mkdir: (path: fs.PathLike, options?: fs.Mode | fs.MakeDirectoryOptions | null | undefined) => Promise<string | undefined>;
realpath: (path: fs.PathLike, options?: fs.EncodingOption) => Promise<string | Buffer | undefined>;
stat: (path: fs.PathLike, options?: fs.StatOptions | undefined) => Promise<fs.Stats | fs.BigIntStats | undefined>;
unlink: (path: fs.PathLike) => Promise<void | undefined>;
chmodSync: (path: fs.PathLike, mode: fs.Mode) => void | undefined;
chownSync: (path: fs.PathLike, uid: number, gid: number) => void | undefined;
closeSync: (fd: number) => void | undefined;
existsSync: (path: fs.PathLike) => boolean | undefined;
fsyncSync: (fd: number, callback: fs.NoParamCallback) => void | undefined;
mkdirSync: (path: fs.PathLike, options?: fs.Mode | fs.MakeDirectoryOptions | null | undefined) => string | undefined;
realpathSync: (path: fs.PathLike, options?: fs.EncodingOption) => string | Buffer | undefined;
statSync: (path: fs.PathLike, options?: fs.StatSyncOptions | undefined) => fs.Stats | fs.BigIntStats | undefined;
unlinkSync: (path: fs.PathLike) => void | undefined;
chmod: typeof fs.chmod.__promisify__;
chown: typeof fs.chown.__promisify__;
close: typeof fs.close.__promisify__;
fsync: typeof fs.fsync.__promisify__;
mkdir: typeof fs.mkdir.__promisify__;
realpath: typeof fs.realpath.__promisify__;
stat: typeof fs.stat.__promisify__;
unlink: typeof fs.unlink.__promisify__;
chmodSync: typeof fs.chmodSync;
chownSync: typeof fs.chownSync;
closeSync: typeof fs.closeSync;
existsSync: typeof fs.existsSync;
fsyncSync: typeof fs.fsync;
mkdirSync: typeof fs.mkdirSync;
realpathSync: typeof fs.realpathSync;
statSync: fs.StatSyncFn;
unlinkSync: typeof fs.unlinkSync;
};
retry: {
close: (timeout: number) => (fd: number) => Promise<void>;
fsync: (timeout: number) => (fd: number) => Promise<void>;
open: (timeout: number) => (path: fs.PathLike, flags: fs.OpenMode, mode?: fs.Mode | null | undefined) => Promise<number>;
readFile: (timeout: number) => (path: fs.PathOrFileDescriptor, options?: BufferEncoding | (fs.ObjectEncodingOptions & {
flag?: string | undefined;
}) | null | undefined) => Promise<string | Buffer>;
rename: (timeout: number) => (oldPath: fs.PathLike, newPath: fs.PathLike) => Promise<void>;
stat: (timeout: number) => (path: fs.PathLike, options?: fs.StatOptions | undefined) => Promise<fs.Stats | fs.BigIntStats>;
write: (timeout: number) => (fd: number, string: string, position?: number | null | undefined, encoding?: BufferEncoding | null | undefined) => Promise<{
bytesWritten: number;
buffer: string;
}>;
writeFile: (timeout: number) => (path: fs.PathOrFileDescriptor, data: string | NodeJS.ArrayBufferView, options?: fs.WriteFileOptions | undefined) => Promise<void>;
closeSync: (timeout: number) => (fd: number) => void;
fsyncSync: (timeout: number) => (fd: number) => void;
openSync: (timeout: number) => (path: fs.PathLike, flags: fs.OpenMode, mode?: fs.Mode | null | undefined) => number;
readFileSync: (timeout: number) => (path: fs.PathOrFileDescriptor, options?: BufferEncoding | (fs.ObjectEncodingOptions & {
flag?: string | undefined;
}) | null | undefined) => string | Buffer;
renameSync: (timeout: number) => (oldPath: fs.PathLike, newPath: fs.PathLike) => void;
statSync: (timeout: number) => (path: fs.PathLike, options?: fs.StatSyncOptions | undefined) => fs.Stats | fs.BigIntStats | undefined;
writeSync: (timeout: number) => (fd: number, string: string, position?: number | null | undefined, encoding?: BufferEncoding | null | undefined) => number;
writeFileSync: (timeout: number) => (file: fs.PathOrFileDescriptor, data: string | NodeJS.ArrayBufferView, options?: fs.WriteFileOptions | undefined) => void;
close: (timeout: number) => typeof fs.close.__promisify__;
fsync: (timeout: number) => typeof fs.fsync.__promisify__;
open: (timeout: number) => typeof fs.open.__promisify__;
readFile: (timeout: number) => typeof fs.readFile.__promisify__;
rename: (timeout: number) => typeof fs.rename.__promisify__;
stat: (timeout: number) => typeof fs.stat.__promisify__;
write: (timeout: number) => typeof fs.write.__promisify__;
writeFile: (timeout: number) => typeof fs.writeFile.__promisify__;
closeSync: (timeout: number) => typeof fs.closeSync;
fsyncSync: (timeout: number) => typeof fs.fsyncSync;
openSync: (timeout: number) => typeof fs.openSync;
readFileSync: (timeout: number) => typeof fs.readFileSync;
renameSync: (timeout: number) => typeof fs.renameSync;
statSync: (timeout: number) => fs.StatSyncFn;
writeSync: (timeout: number) => typeof fs.writeSync;
writeFileSync: (timeout: number) => typeof fs.writeFileSync;
};
};
export default FS;

@@ -1,3 +0,3 @@

declare const retryifyAsync: <Args extends unknown[], Return>(fn: (...args: Args) => Promise<Return>, isRetriableError: (error: unknown) => boolean | void) => (timeout: number) => (...args: Args) => Promise<Return>;
declare const retryifySync: <Args extends unknown[], Return>(fn: (...args: Args) => Return, isRetriableError: (error: unknown) => boolean | void) => (timeout: number) => (...args: Args) => Return;
declare const retryifyAsync: <FN extends Function>(fn: FN, isRetriableError: (error: unknown) => boolean | void) => (timeout: number) => FN;
declare const retryifySync: <FN extends Function>(fn: FN, isRetriableError: (error: unknown) => boolean | void) => (timeout: number) => FN;
export { retryifyAsync, retryifySync };
/* IMPORT */
import RetryfyQueue from './retryify_queue.js';
/* MAIN */
//FIXME: There are a boatload of anys here, but apparently generics cannot be extended properly, so...
const retryifyAsync = (fn, isRetriableError) => {

@@ -5,0 +6,0 @@ return function retrified(timestamp) {

@@ -5,3 +5,3 @@ {

"description": "Stubborn versions of Node's fs functions that try really hard to do their job.",
"version": "1.2.3",
"version": "1.2.4",
"type": "module",

@@ -8,0 +8,0 @@ "main": "dist/index.js",

/* MAIN */
const attemptifyAsync = <Args extends unknown[], Return> ( fn: ( ...args: Args ) => Promise<Return>, onError: (( error: unknown ) => undefined) ): (( ...args: Args ) => Promise<Return | undefined>) => {
//FIXME: The return type of these functions is wrong, it doesn't account for returning "undefined", but a correct type cannot be written because generics cannot be extended properly, it seems
return function attemptified ( ...args: Args ): Promise<Return | undefined> {
const attemptifyAsync = <FN extends Function> ( fn: FN, onError: (( error: unknown ) => undefined) ): FN => {
return function attemptified ( ...args: any ): any {
return fn.apply ( undefined, args ).catch ( onError );
};
} as any;
};
const attemptifySync = <Args extends unknown[], Return> ( fn: ( ...args: Args ) => Return, onError: (( error: unknown ) => undefined) ): (( ...args: Args ) => Return | undefined) => {
const attemptifySync = <FN extends Function> ( fn: FN, onError: (( error: unknown ) => undefined) ): FN => {
return function attemptified ( ...args: Args ): Return | undefined {
return function attemptified ( ...args: any ): any {

@@ -28,3 +30,3 @@ try {

};
} as any;

@@ -31,0 +33,0 @@ };

@@ -28,3 +28,3 @@

return error instanceof Error;
return ( error instanceof Error );

@@ -31,0 +31,0 @@ },

@@ -8,11 +8,13 @@

const retryifyAsync = <Args extends unknown[], Return> ( fn: ( ...args: Args ) => Promise<Return>, isRetriableError: (( error: unknown ) => boolean | void) ): (( timeout: number ) => ( ...args: Args ) => Promise<Return>) => {
//FIXME: There are a boatload of anys here, but apparently generics cannot be extended properly, so...
const retryifyAsync = <FN extends Function> ( fn: FN, isRetriableError: (( error: unknown ) => boolean | void) ): (( timeout: number ) => FN) => {
return function retrified ( timestamp: number ) {
return function attempt ( ...args: Args ): Promise<Return> {
return function attempt ( ...args: any ): any {
return RetryfyQueue.schedule ().then ( cleanup => {
const onResolve = ( result: Return ): Return => {
const onResolve = ( result: any ): Promise<any> => {

@@ -25,3 +27,3 @@ cleanup ();

const onReject = ( error: unknown ): Promise<Return> => {
const onReject = ( error: unknown ): Promise<any> => {

@@ -49,3 +51,3 @@ cleanup ();

};
} as any;

@@ -56,7 +58,7 @@ };

const retryifySync = <Args extends unknown[], Return> ( fn: ( ...args: Args ) => Return, isRetriableError: (( error: unknown ) => boolean | void) ): (( timeout: number ) => ( ...args: Args ) => Return) => {
const retryifySync = <FN extends Function> ( fn: FN, isRetriableError: (( error: unknown ) => boolean | void) ): (( timeout: number ) => FN) => {
return function retrified ( timestamp: number ) {
return function attempt ( ...args: Args ): Return {
return function attempt ( ...args: any ): any {

@@ -77,3 +79,3 @@ try {

};
} as any;

@@ -80,0 +82,0 @@ };

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc