@nestia/fetcher
Version:
Fetcher library of Nestia SDK
48 lines (47 loc) • 1.43 kB
TypeScript
import { IConnection } from "./IConnection";
/**
* Encryption password.
*
* `IEncryptionPassword` is a type of interface who represents encryption password used by
* the {@link Fetcher} with AES-128/256 algorithm. If your encryption password is not fixed
* but changes according to the input content, you can utilize the
* {@link IEncryptionPassword.Closure} function type.
*
* @author Jeongho Nam - https://github.com/samchon
*/
export interface IEncryptionPassword {
/**
* Secret key.
*/
key: string;
/**
* Initialization Vector.
*/
iv: string;
}
export declare namespace IEncryptionPassword {
/**
* Type of a closure function returning the {@link IEncryptionPassword} object.
*
* `IEncryptionPassword.Closure` is a type of closure function who are returning the
* {@link IEncryptionPassword} object. It would be used when your encryption password
* be changed according to the input content.
*/
interface Closure {
/**
* Encryption password getter.
*
* @param props Properties for predication
* @returns Encryption password
*/
(props: IProps): IEncryptionPassword;
}
/**
* Properties for the closure.
*/
interface IProps {
headers: Record<string, IConnection.HeaderValue | undefined>;
body: string;
direction: "encode" | "decode";
}
}