Necrotizing Pineapple Music

    @magda/utils
    TypeScript icon, indicating that this package has built-in type declarations

    1.1.0-alpha.0 • Public • Published

    MAGDA Common Utils

    This package includes the following common utilities that may help magda miniors / connectors development:

    export declare function addJwtSecretFromEnvVar<T>(
        argv: {
            [key in keyof Arguments<T>]: Arguments<T>[key];
        },
        required?: boolean
    ): {
        [key in keyof Arguments<T>]: Arguments<T>[key];
    };
    
    export declare function arrayToMaybe<T>(rows: T[]): Maybe<T>;
    
    export declare class AsyncPage<T> {
        readonly requestNextPage: CreateAsyncPage<T>;
        readonly data: T;
        readonly hasData: boolean;
        static create<T>(next: (data: T) => Promise<T>): AsyncPage<T>;
        static single<T>(value: T): AsyncPage<T>;
        static singlePromise<T>(valuePromise: Promise<T>): AsyncPage<T>;
        static none<T>(): AsyncPage<T>;
        constructor(data: T, hasData: boolean, requestNextPage: CreateAsyncPage<T>);
        map<TResult>(selector: (data: T) => TResult): AsyncPage<TResult>;
        forEach(callback: (data: T) => void): Promise<void>;
        take(n: number): AsyncPage<T>;
    }
    
    export declare function asyncPageToArray<T>(page: AsyncPage<T[]>): Promise<T[]>;
    
    export declare class BadRequestError extends ServiceError {
        constructor(statusCode: number, errorResponse: ApiError, e: any);
    }
    
    export declare function buildJwt(
        jwtSecret: string,
        userId: string,
        session?: any
    ): any;
    
    export declare const coerceJson: (param: string) => (json?: string) => any;
    
    export declare function createServiceError(e: any): Error;
    
    export declare function encodeURIComponentWithApost(string: string): string;
    
    export declare function forEachAsync<T>(
        page: AsyncPage<T[]>,
        maxConcurrency: number,
        callbackFn: (data: T) => Promise<void>
    ): Promise<void>;
    
    export declare function formatServiceError(
        baseMessage: string,
        e: any,
        retriesLeft: number
    ): string;
    
    export declare function getMinikubeIP(): string;
    
    export declare const isUuid: (id: any) => boolean;
    
    export declare const request: any;
    
    export declare function retry<T>(
        op: () => Promise<T>,
        delaySeconds: number,
        retries: number,
        onRetry: (e: any, retries: number) => any,
        shouldRetry?: (e: any) => boolean
    ): Promise<T>;
    
    export declare function retryBackoff<T>(
        op: () => Promise<T>,
        delaySeconds: number,
        retries: number,
        onRetry: (e: any, retries: number) => any,
        easing?: (delaySeconds: number) => number
    ): Promise<T>;
    
    export declare function runLater<TResult>(
        milliseconds: number,
        functionToRunLater: () => Promise<TResult> | TResult
    ): Promise<TResult>;
    
    export declare class ServiceError extends Error {
        e: any;
        constructor(message: string, e: any);
    }
    
    export declare function unionToThrowable<T>(input: T | Error): T;

    Keywords

    none

    Install

    npm i @magda/utils

    DownloadsWeekly Downloads

    42

    Version

    1.1.0-alpha.0

    License

    Apache-2.0

    Unpacked Size

    2.63 MB

    Total Files

    6

    Last publish

    Collaborators

    • kring
    • t83714
    • magda.io