@line/liff-mock
Version:
Make testing your LIFF app easy
65 lines (64 loc) • 2.98 kB
TypeScript
import { ActualLiff } from '../type';
declare type Await<T> = T extends {
then(onfulfilled?: (value: infer U) => unknown): unknown;
} ? U : T;
declare type LiffApiResponse<T extends (...args: any[]) => any> = Await<ReturnType<T>>;
export declare type TargetApi = {
init: ActualLiff['init'];
getOS: ActualLiff['getOS'];
getLanguage: ActualLiff['getLanguage'];
getVersion: ActualLiff['getVersion'];
getLineVersion: ActualLiff['getLineVersion'];
isInClient: ActualLiff['isInClient'];
isLoggedIn: ActualLiff['isLoggedIn'];
isApiAvailable: ActualLiff['isApiAvailable'];
login: ActualLiff['login'];
logout: ActualLiff['logout'];
getAccessToken: ActualLiff['getAccessToken'];
getIDToken: ActualLiff['getIDToken'];
getDecodedIDToken: ActualLiff['getDecodedIDToken'];
getContext: ActualLiff['getContext'];
getProfile: ActualLiff['getProfile'];
getFriendship: ActualLiff['getFriendship'];
'permanentLink.createUrl': ActualLiff['permanentLink']['createUrl'];
'permanentLink.createUrlBy': ActualLiff['permanentLink']['createUrlBy'];
'permanentLink.setExtraQueryParam': ActualLiff['permanentLink']['setExtraQueryParam'];
sendMessages: ActualLiff['sendMessages'];
openWindow: ActualLiff['openWindow'];
shareTargetPicker: ActualLiff['shareTargetPicker'];
scanCode: NonNullable<ActualLiff['scanCode']>;
closeWindow: ActualLiff['closeWindow'];
initPlugins: NonNullable<ActualLiff['initPlugins']>;
getAId: ActualLiff['getAId'];
getProfilePlus: ActualLiff['getProfilePlus'];
getIsVideoAutoPlay: ActualLiff['getIsVideoAutoPlay'];
'subWindow.on': ActualLiff['subWindow']['on'];
'subWindow.off': ActualLiff['subWindow']['off'];
'subWindow.open': ActualLiff['subWindow']['open'];
'subWindow.cancel': ActualLiff['subWindow']['cancel'];
'subWindow.submit': ActualLiff['subWindow']['submit'];
'subWindow.close': ActualLiff['subWindow']['close'];
'subWindow.getAppData': ActualLiff['subWindow']['getAppData'];
isSubWindow: ActualLiff['isSubWindow'];
'permission.query': ActualLiff['permission']['query'];
'permission.requestAll': ActualLiff['permission']['requestAll'];
'i18n.setLang': ActualLiff['i18n']['setLang'];
_dispatchEvent: ActualLiff['_dispatchEvent'];
_call: ActualLiff['_call'];
_addListener: ActualLiff['_addListener'];
_removeListener: ActualLiff['_removeListener'];
_postMessage: ActualLiff['_postMessage'];
};
export declare type MockData = {
[key in keyof TargetApi]: LiffApiResponse<TargetApi[key]> extends void ? undefined : LiffApiResponse<TargetApi[key]>;
};
declare class MockDataStore {
private _data;
constructor(_data?: MockData);
save(d: Partial<MockData> | ((prev: Partial<MockData>) => Partial<MockData>)): void;
clearAll(): void;
getMockData<T extends keyof TargetApi>(key: T): MockData[T];
private validate;
}
export declare const mockStore: MockDataStore;
export {};