/** * @memberof eg.agent * @typedef * @property - Agent name 에이전트 이름 * @property - Agent version 에이전트 버전 * @property - Agent major version 에이전트 메이저 버전 */ export interface AgentVersionInfo { name: string; version: string; majorVersion: number; } /** ** * @memberof eg.agent * @extends eg.agent.AgentVersionInfo * @typedef - OS information OS 정보 */ export interface AgentOSInfo extends AgentVersionInfo {} /** * @memberof eg.agent * @extends eg.agent.AgentVersionInfo * @typedef - Browser information 브라우저 정보 * @property - Whether the browser is webkit 브라우저가 webkit인지 여부 * @property - Version of the webkit. If it is not webkit, "-1" is returned.webkit의 버전. webkit가 아닌 경우 "-1"을 반환한다. * @property - Whether the browser is chromium. Check applewebkit/537.6 and chrome브라우저가 chromium인지 여부. applewebkit/537.6과 chrome을 검사한다. * @property - Version of the chromium. If it is not chromium, "-1" is returned.chromium의 버전. chromium이 아닌 경우 "-1"을 반환한다. * @property - Whether the browser is webview.브라우저가 웹뷰인지 여부 */ export interface AgentBrowserInfo extends AgentVersionInfo { webkit: boolean; webkitVersion: string; chromium: boolean; chromiumVersion: string; webview: boolean; } /** * @memberof eg.agent * @typedef - All Agent information 모든 에이전트 정보 * @property - Browser information 브라우저 정보 * @property - OS information OS 정보 * @property - Whether the browser is for mobile모바일 브라우저 여부 * @property - Whether agent information is obtained from Client Hints 에이전트 정보가 Client Hints로 얻어온 정보인지 여부 */ export interface AgentInfo { browser: AgentBrowserInfo; os: AgentOSInfo; isMobile: boolean; isHints: boolean; } export interface PresetInfo { test: string; id: string; brand?: boolean; versionTest?: string; versionAlias?: string; } export interface PresetResult { preset: PresetInfo | null; version: string; } export interface NavigatorUABrandVersion { brand: string; version: string; } export interface UADataValues { platform: string; platformVersion: string; architecture: string; model: string; uaFullVersion: string; fullVersionList: NavigatorUABrandVersion[]; } export interface NavigatorUAData { brands?: NavigatorUABrandVersion[]; uaList?: NavigatorUABrandVersion[]; mobile: boolean; platform: string; getHighEntropyValues(hints: readonly T[]): Promise<{ [key in T]: UADataValues[key] }>; }