/** * @typedef {String} BROWSER_AGENTS * @alias BROWSER_AGENTS * @memberof module:browser * @property {String} AOS - user agent pattern * @property {String} IOS - user agent pattern */ // for jsdoc /** * @export * @readonly * @enum {BROWSER_AGENTS} */ export enum BROWSER_AGENTS { AOS = 'Android(\\s)([0-9]+)?\\.?([0-9]+)\\.?([0-9]+)?', IOS = 'iP[honeaod;]+(\\sCPU)?\\sOS\\s(\\d+)\\_?(\\d)\\_?(\\d)?' } /** * @memberof module:browser * @alias IBrowserAgents * @interface * @property {String} AOS - aos * @property {String} IOS - ios */ export interface IBrowserAgents { AOS: string; IOS: string; } /** * @memberof module:browser * @alias IAgentType * @interface * @property {String | Null} type * @property {String} version */ export interface IAgentType { type: string | null; version: string; } /** * @memberof module:browser * @alias IBrowserType * @extends {IAgentType} * @interface * @property {String | Null} type * @property {String} version */ // tslint:disable-next-line: no-empty-interface export interface IBrowserType extends IAgentType {} /** * IVendorPrefix * @memberof module:browser * @typedef * @property - dom 기준, prefix * @property - 소문자로 반환 * @property - css 기준, prefix * @property - js 기준, prefix */ export interface IVendorPrefix { dom: string; lowercase: string; css: string; js: string; }