react-liff-v2
Version:
A react context provider for LIFF (LINE Front-end Framework)
133 lines (132 loc) • 8.38 kB
TypeScript
import { Consumer, FC } from 'react';
import { LiffCore, LiffError } from './types';
interface LiffProviderProps<T> {
liffId: string;
stubEnabled?: boolean | Partial<T>;
}
interface LiffContext<T> {
error?: LiffError;
isLoggedIn: boolean;
liff: T;
loggedIn: boolean;
ready: boolean;
}
declare type CreateLiffContext = <T extends LiffCore>() => {
LiffConsumer: Consumer<LiffContext<T>>;
LiffProvider: FC<LiffProviderProps<T>>;
useLiff: () => LiffContext<T>;
};
export declare const createLiffContext: CreateLiffContext;
export declare const LiffConsumer: Consumer<LiffContext<{
init: typeof import("@line/liff/dist/lib/init").default;
getOS: typeof import("@line/liff/dist/lib/common/getOS").default;
getVersion: typeof import("@line/liff/dist/lib/common/getVersion").default;
getLanguage: typeof import("@line/liff/dist/lib/common/getLanguage").default;
isInClient: typeof import("@line/liff/dist/lib/common/isInClient").default;
isLoggedIn: typeof import("@line/liff/dist/lib/auth/isLoggedIn").default;
login: typeof import("@line/liff/dist/lib/auth/login").default;
logout: typeof import("@line/liff/dist/lib/auth/logout").default;
getAccessToken: typeof import("@line/liff/dist/lib/store").getAccessToken;
getIDToken: typeof import("@line/liff/dist/lib/store").getIDToken;
getDecodedIDToken: typeof import("@line/liff/dist/lib/store").getDecodedIDToken;
getContext: typeof import("@line/liff/dist/lib/store").getContext;
openWindow: typeof import("@line/liff/dist/lib/client/openWindow").default;
closeWindow: typeof import("@line/liff/dist/lib/client/closeWindow").default;
getFeatures: typeof import("@line/liff/dist/lib/store").getFeatures;
getFriendship: typeof import("@line/liff/dist/lib/api/getFriendship").default;
checkFeature: typeof import("@line/liff/dist/lib/client/checkFeature").default;
getAId: typeof import("@line/liff/dist/lib/client/getAId").default;
getProfilePlus: typeof import("@line/liff/dist/lib/client/getProfilePlus").default;
getIsVideoAutoPlay: typeof import("@line/liff/dist/lib/client/getIsVideoAutoPlay").default;
getLineVersion: typeof import("@line/liff/dist/lib/client/getLineVersion").default;
isApiAvailable: (apiName: "shareTargetPicker" | "multipleLiffTransition") => boolean;
getProfile: typeof import("@line/liff/dist/lib/api/getProfile").default;
sendMessages: typeof import("@line/liff/dist/lib/api/sendMessages").default;
shareTargetPicker: typeof import("@line/liff/dist/lib/api/shareTargetPicker").default;
permanentLink: {
createUrl: () => string;
setExtraQueryParam: (paramsToAdd: string) => void;
};
ready: Promise<void>;
readonly id: string | null;
_dispatchEvent: typeof import("@line/liff/dist/lib/client/bridge").dispatch;
_call: typeof import("@line/liff/dist/lib/client/bridge").call;
_addListener: typeof import("@line/liff/dist/lib/client/bridge").addListener;
_removeListener: typeof import("@line/liff/dist/lib/client/bridge").removeListener;
_postMessage: typeof import("@line/liff/dist/lib/client/bridge").postMessage;
}>>, LiffProvider: FC<LiffProviderProps<{
init: typeof import("@line/liff/dist/lib/init").default;
getOS: typeof import("@line/liff/dist/lib/common/getOS").default;
getVersion: typeof import("@line/liff/dist/lib/common/getVersion").default;
getLanguage: typeof import("@line/liff/dist/lib/common/getLanguage").default;
isInClient: typeof import("@line/liff/dist/lib/common/isInClient").default;
isLoggedIn: typeof import("@line/liff/dist/lib/auth/isLoggedIn").default;
login: typeof import("@line/liff/dist/lib/auth/login").default;
logout: typeof import("@line/liff/dist/lib/auth/logout").default;
getAccessToken: typeof import("@line/liff/dist/lib/store").getAccessToken;
getIDToken: typeof import("@line/liff/dist/lib/store").getIDToken;
getDecodedIDToken: typeof import("@line/liff/dist/lib/store").getDecodedIDToken;
getContext: typeof import("@line/liff/dist/lib/store").getContext;
openWindow: typeof import("@line/liff/dist/lib/client/openWindow").default;
closeWindow: typeof import("@line/liff/dist/lib/client/closeWindow").default;
getFeatures: typeof import("@line/liff/dist/lib/store").getFeatures;
getFriendship: typeof import("@line/liff/dist/lib/api/getFriendship").default;
checkFeature: typeof import("@line/liff/dist/lib/client/checkFeature").default;
getAId: typeof import("@line/liff/dist/lib/client/getAId").default;
getProfilePlus: typeof import("@line/liff/dist/lib/client/getProfilePlus").default;
getIsVideoAutoPlay: typeof import("@line/liff/dist/lib/client/getIsVideoAutoPlay").default;
getLineVersion: typeof import("@line/liff/dist/lib/client/getLineVersion").default;
isApiAvailable: (apiName: "shareTargetPicker" | "multipleLiffTransition") => boolean;
getProfile: typeof import("@line/liff/dist/lib/api/getProfile").default;
sendMessages: typeof import("@line/liff/dist/lib/api/sendMessages").default;
shareTargetPicker: typeof import("@line/liff/dist/lib/api/shareTargetPicker").default;
permanentLink: {
createUrl: () => string;
setExtraQueryParam: (paramsToAdd: string) => void;
};
ready: Promise<void>;
readonly id: string | null;
_dispatchEvent: typeof import("@line/liff/dist/lib/client/bridge").dispatch;
_call: typeof import("@line/liff/dist/lib/client/bridge").call;
_addListener: typeof import("@line/liff/dist/lib/client/bridge").addListener;
_removeListener: typeof import("@line/liff/dist/lib/client/bridge").removeListener;
_postMessage: typeof import("@line/liff/dist/lib/client/bridge").postMessage;
}>>, useLiff: () => LiffContext<{
init: typeof import("@line/liff/dist/lib/init").default;
getOS: typeof import("@line/liff/dist/lib/common/getOS").default;
getVersion: typeof import("@line/liff/dist/lib/common/getVersion").default;
getLanguage: typeof import("@line/liff/dist/lib/common/getLanguage").default;
isInClient: typeof import("@line/liff/dist/lib/common/isInClient").default;
isLoggedIn: typeof import("@line/liff/dist/lib/auth/isLoggedIn").default;
login: typeof import("@line/liff/dist/lib/auth/login").default;
logout: typeof import("@line/liff/dist/lib/auth/logout").default;
getAccessToken: typeof import("@line/liff/dist/lib/store").getAccessToken;
getIDToken: typeof import("@line/liff/dist/lib/store").getIDToken;
getDecodedIDToken: typeof import("@line/liff/dist/lib/store").getDecodedIDToken;
getContext: typeof import("@line/liff/dist/lib/store").getContext;
openWindow: typeof import("@line/liff/dist/lib/client/openWindow").default;
closeWindow: typeof import("@line/liff/dist/lib/client/closeWindow").default;
getFeatures: typeof import("@line/liff/dist/lib/store").getFeatures;
getFriendship: typeof import("@line/liff/dist/lib/api/getFriendship").default;
checkFeature: typeof import("@line/liff/dist/lib/client/checkFeature").default;
getAId: typeof import("@line/liff/dist/lib/client/getAId").default;
getProfilePlus: typeof import("@line/liff/dist/lib/client/getProfilePlus").default;
getIsVideoAutoPlay: typeof import("@line/liff/dist/lib/client/getIsVideoAutoPlay").default;
getLineVersion: typeof import("@line/liff/dist/lib/client/getLineVersion").default;
isApiAvailable: (apiName: "shareTargetPicker" | "multipleLiffTransition") => boolean;
getProfile: typeof import("@line/liff/dist/lib/api/getProfile").default;
sendMessages: typeof import("@line/liff/dist/lib/api/sendMessages").default;
shareTargetPicker: typeof import("@line/liff/dist/lib/api/shareTargetPicker").default;
permanentLink: {
createUrl: () => string;
setExtraQueryParam: (paramsToAdd: string) => void;
};
ready: Promise<void>;
readonly id: string | null;
_dispatchEvent: typeof import("@line/liff/dist/lib/client/bridge").dispatch;
_call: typeof import("@line/liff/dist/lib/client/bridge").call;
_addListener: typeof import("@line/liff/dist/lib/client/bridge").addListener;
_removeListener: typeof import("@line/liff/dist/lib/client/bridge").removeListener;
_postMessage: typeof import("@line/liff/dist/lib/client/bridge").postMessage;
}>;
export {};