UNPKG

@line/liff-mock

Version:

Make testing your LIFF app easy

65 lines (64 loc) 2.98 kB
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 {};