UNPKG

functional-google-cloud

Version:

Google Cloud Utilities functions in Functional Programming Style

212 lines (211 loc) 7.11 kB
/// <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[]>>;