{"version":3,"file":"tethys-cdk-is.mjs","sources":["../../../cdk/is/utils.ts","../../../cdk/is/tethys-cdk-is.ts"],"sourcesContent":["import { coerceElement } from '@angular/cdk/coercion';\nimport { ElementRef, TemplateRef } from '@angular/core';\n\nexport function isUndefined(value: any): value is undefined {\n    return value === undefined;\n}\n\nexport function isNull(value: any): value is null {\n    return value === null;\n}\n\nexport function isUndefinedOrNull(value: any): value is undefined | null {\n    return isUndefined(value) || isNull(value);\n}\n\nexport function isArray<T = any>(value: any): value is Array<T> {\n    return value && baseGetTag(value) === '[object Array]';\n}\n\nexport function isEmpty(value?: any): boolean {\n    if (isUndefinedOrNull(value)) {\n        return true;\n    }\n    if (isArray(value)) {\n        return !value.length;\n    }\n    const tag = baseGetTag(value);\n    if (tag == '[object Map]' || tag == '[object Set]') {\n        return !value.size;\n    }\n    for (const key in value) {\n        if (Object.hasOwnProperty.call(value, key)) {\n            return false;\n        }\n    }\n    return true;\n}\n\nexport function isString(value?: any): value is string {\n    return typeof value == 'string' || (!isArray(value) && isObjectLike(value) && baseGetTag(value) === '[object String]');\n}\n\nfunction isObjectLike(value: any): value is object {\n    return value !== null && typeof value === 'object';\n}\n\nfunction baseGetTag(value: any) {\n    const objectProto = Object.prototype;\n    const hasOwnProperty = objectProto.hasOwnProperty;\n    const toString = objectProto.toString;\n    const symToStringTag = typeof Symbol !== 'undefined' ? Symbol.toStringTag : undefined;\n\n    if (value == null) {\n        return value === undefined ? '[object Undefined]' : '[object Null]';\n    }\n    if (!(symToStringTag && symToStringTag in Object(value))) {\n        return toString.call(value);\n    }\n    const isOwn = hasOwnProperty.call(value, symToStringTag);\n    const tag = value[symToStringTag];\n    let unmasked = false;\n    try {\n        value[symToStringTag] = undefined;\n        unmasked = true;\n    // eslint-disable-next-line no-empty\n    } catch (e) {}\n\n    const result = toString.call(value);\n    if (unmasked) {\n        if (isOwn) {\n            value[symToStringTag] = tag;\n        } else {\n            delete value[symToStringTag];\n        }\n    }\n    return result;\n}\n\nexport function isNumber(value: any): value is number {\n    return typeof value === 'number' || (isObjectLike(value) && baseGetTag(value) === '[object Number]');\n}\n\nexport function isObject(value: any): value is object {\n    // Avoid a V8 JIT bug in Chrome 19-20.\n    // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n    const type = typeof value;\n    return !!value && (type === 'object' || type === 'function');\n}\n\nexport function isFunction(value: any): value is Function {\n    const type = typeof value;\n    return !!value && type === 'function';\n}\n\nexport function isDate(value: any): value is Date {\n    const type = typeof value;\n    return !!value && type === 'object' && !!value.getTime;\n}\n\nexport function isBoolean(value: any): value is boolean {\n    return value === true || value === false || (isObjectLike(value) && baseGetTag(value) === '[object Boolean]');\n}\n\nexport function isTemplateRef<C = any>(value: any): value is TemplateRef<C> {\n    return value instanceof TemplateRef;\n}\n\nexport function isHTMLElement(value: any): value is HTMLElement {\n    return value instanceof HTMLElement;\n}\n\nexport function isElementRef(value: any): value is ElementRef {\n    return value instanceof ElementRef;\n}\n\nexport function isFormElement<T = Element>(elementOrRef: ElementRef<T> | T): boolean {\n    const element = coerceElement(elementOrRef);\n    if (!(element instanceof HTMLElement)) {\n        return false;\n    }\n    const name = element.nodeName.toLowerCase();\n    const type = (element.getAttribute('type') || '').toLowerCase();\n    return (\n        name === 'select' ||\n        name === 'textarea' ||\n        (name === 'input' && type !== 'submit' && type !== 'reset' && type !== 'checkbox' && type !== 'radio' && type !== 'file') ||\n        element.isContentEditable\n    );\n}\n\nexport function isMacPlatform(userAgent = navigator.userAgent) {\n    return /macintosh|mac os x/i.test(userAgent);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}