functional-google-cloud
Version:
Google Cloud Utilities functions in Functional Programming Style
212 lines (211 loc) • 7.11 kB
TypeScript
/// <reference types="node" />
import { Bucket, File, GetSignedUrlConfig, Storage } from '@google-cloud/storage';
import * as T from 'fp-ts/lib/Task';
import * as TE from 'fp-ts/lib/TaskEither';
import * as R from 'fp-ts/lib/Reader';
import * as RT from 'fp-ts/lib/ReaderTask';
import * as RTE from 'fp-ts/lib/ReaderTaskEither';
import * as FileType from 'functional-types/lib/FileType';
declare type FileType = FileType.FileType;
export { FileType };
export interface Path {
bucket: string;
filename: string;
}
export interface ReadOnlyConfig {
expires_in: number;
}
export interface WriteOnlyConfig extends ReadOnlyConfig {
file_type: FileType;
}
export interface ListFilesOptions {
prefix?: string;
delimiter?: string;
}
export interface Metadata {
kind: string;
id: string;
selfLink: string;
mediaLink: string;
name: string;
bucket: string;
generation: string;
contentType: string;
size: string;
timeCreated: string;
updated: string;
}
/**
* ```haskell
* isPath :: a -> bool
* ```
*/
export declare const isPath: (a: unknown) => a is Path;
/**
* ```haskell
* getWriteOnlySignedUrlConfigFromConfig :: WriteOnlyConfig -> GetSignedUrlConfig
* ```
*/
export declare const getWriteOnlySignedUrlConfigFromConfig: (config: WriteOnlyConfig) => GetSignedUrlConfig;
/**
* ```haskell
* getReadOnlySignedUrlConfigFromConfig :: WriteOnlyConfig -> GetSignedUrlConfig
* ```
*/
export declare const getReadOnlySignedUrlConfigFromConfig: (config: ReadOnlyConfig) => GetSignedUrlConfig;
/**
* ```haskell
* getSignedUrlTask :: File -> ReaderTask GetSignedUrlConfig [String]
* ```
*/
export declare const getSignedUrlTask: (file: File) => RT.ReaderTask<GetSignedUrlConfig, [string]>;
/**
* ```haskell
* getWriteOnlySignedUrlArrayFromFileTask :: File -> ReaderTask WriteOnlyConfig [String]
* ```
*/
export declare const getWriteOnlySignedUrlArrayFromFileTask: (file: File) => R.Reader<WriteOnlyConfig, T.Task<[string]>>;
/**
* ```haskell
* getReadOnlySignedUrlArrayFromFileTask :: File -> ReaderTask WriteOnlyConfig [String]
* ```
*/
export declare const getReadOnlySignedUrlArrayFromFileTask: (file: File) => R.Reader<ReadOnlyConfig, T.Task<[string]>>;
/**
* ```haskell
* getUploadUrlFromFileTask :: File -> ReaderTask WriteOnlyConfig String
* ```
*/
export declare const getUploadUrlFromFileTask: (file: File) => RT.ReaderTask<WriteOnlyConfig, string>;
/**
* ```haskell
* getDownloadUrlFromFileTask :: File -> ReaderTask WriteOnlyConfig String
* ```
*/
export declare const getDownloadUrlFromFileTask: (file: File) => RT.ReaderTask<ReadOnlyConfig, string>;
/**
* ```haskell
* getTaskEitherFromTask :: Task -> TaskEither
* ```
*/
export declare const getTaskEitherFromTask: <A>(thunk: T.Task<A>) => TE.TaskEither<Error, A>;
/**
* ```haskell
* getUploadUrlFromFile :: File -> ReaderTaskEither WriteOnlyConfig String Error
* ```
*/
export declare const getUploadUrlFromFile: (file: File) => RTE.ReaderTaskEither<WriteOnlyConfig, Error, string>;
/**
* ```haskell
* getDownloadUrlFromFile :: File -> ReaderTaskEither WriteOnlyConfig String Error
* ```
*/
export declare const getDownloadUrlFromFile: (file: File) => RTE.ReaderTaskEither<ReadOnlyConfig, Error, string>;
/**
* ```haskell
* getFileFromBucket :: Bucket -> Reader Path File
* ```
*/
export declare const getFileFromBucket: (bucket: Bucket) => R.Reader<Path, File>;
/**
* ```haskell
* getFileFromStorage :: Storage -> Reader Path File
* ```
*/
export declare const getFileFromStorage: (storage: Storage) => R.Reader<Path, File>;
/**
* ```haskell
* fetchFile :: File -> TaskEither File Error
* ```
*/
export declare const fetchFile: (file: File) => TE.TaskEither<Error, File>;
/**
* ```haskell
* fetchFileFromStorage :: Storage -> ReaderTaskEither Path File Error
* ```
*/
export declare const fetchFileFromStorage: (storage: Storage) => RTE.ReaderTaskEither<Path, Error, File>;
/**
* ```haskell
* getUploadUrlFromStorage :: Storage -> Path -> ReaderTaskEither WriteOnlyConfig String Error
* ```
*/
export declare const getUploadUrlFromStorage: (storage: Storage) => R.Reader<Path, RTE.ReaderTaskEither<WriteOnlyConfig, Error, string>>;
/**
* ```haskell
* getBufferSingletonFromFilePromise :: File -> Task [Buffer]
* ```
*/
export declare const getBufferSingletonFromFileTask: (file: File) => T.Task<[Buffer]>;
/**
* ```haskell
* getBufferSingletonFromFile :: File -> TaskEither [Buffer] Error
* ```
*/
export declare const getBufferSingletonFromFile: (file: File) => TE.TaskEither<Error, [Buffer]>;
/**
* ```haskell
* getBufferFromFile :: File -> TaskEither Buffer Error
* ```
*/
export declare const getBufferFromFile: (file: File) => TE.TaskEither<Error, Buffer>;
/**
* ```haskell
* getBufferFromStorage :: Storage -> ReaderTaskEither Path File Error
* ```
*/
export declare const getBufferFromStorage: (storage: Storage) => RTE.ReaderTaskEither<Path, Error, Buffer>;
/**
* ```haskell
* storeBufferToFileTask :: File -> ReaderTask Buffer File
* ```
*/
export declare const storeBufferToFileTask: (file: File) => RT.ReaderTask<Buffer, File>;
/**
* ```haskell
* storeBufferToFile :: File -> ReaderTaskEither Buffer File Error
* ```
*/
export declare const storeBufferToFile: (file: File) => RTE.ReaderTaskEither<Buffer, Error, File>;
/**
* ```haskell
* storeBufferToStorage :: Storage -> Reader Path ReaderTaskEither Buffer File Error
* ```
*/
export declare const storeBufferToStorage: (storage: Storage) => R.Reader<Path, RTE.ReaderTaskEither<Buffer, Error, File>>;
/**
* ```haskell
* storeMetadataToFileTask :: File -> ReaderTask Metadata File
* ```
*/
export declare const storeMetadataToFileTask: (file: File) => RT.ReaderTask<Partial<Metadata>, File>;
/**
* ```haskell
* storeMetadataToFile :: File -> ReaderTaskEither Metadata File Error
* ```
*/
export declare const storeMetadataToFile: (file: File) => RTE.ReaderTaskEither<Partial<Metadata>, Error, File>;
/**
* ```haskell
* storeMetadataToStorage :: Metadata -> Reader Path ReaderTaskEither Metadata File Error
* ```
*/
export declare const storeMetadataToStorage: (storage: Storage) => R.Reader<Path, RTE.ReaderTaskEither<Partial<Metadata>, Error, File>>;
/**
* ```haskell
* getBucketFromStorage :: Storage -> Reader String Bucket
* ```
*/
export declare const getBucketFromStorage: (storage: Storage) => R.Reader<string, Bucket>;
/**
* ```haskell
* listFilesInBucket :: Bucket -> ReaderTaskEither ListFilesOptions [File] Error
* ```
*/
export declare const listFilesInBucket: (bucket: Bucket) => RTE.ReaderTaskEither<ListFilesOptions, Error, File[]>;
/**
* ```haskell
* listFilesInStorage :: Storage -> Reader String (ReaderTaskEither ListFilesOptions [File] Error)
* ```
*/
export declare const listFilesInStorage: (storage: Storage) => R.Reader<string, RTE.ReaderTaskEither<ListFilesOptions, Error, File[]>>;