debut des details de la page. Vu que c'est le troisieme (euh quatrieme?) composant, c'etait un peu plus rapide, mais heureusement que claude est la pour repasser derriere mes erreurs prcq en solo je n'y arriverais pas du tout!
This commit is contained in:
+84
@@ -0,0 +1,84 @@
|
||||
import { EVENT_ATTRIBUTE_RE } from './constants.js'
|
||||
|
||||
/**
|
||||
* Quick type checking
|
||||
* @param {*} element - anything
|
||||
* @param {string} type - type definition
|
||||
* @returns {boolean} true if the type corresponds
|
||||
*/
|
||||
export function checkType(element, type) {
|
||||
return typeof element === type
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if an element is part of an svg
|
||||
* @param {HTMLElement} el - element to check
|
||||
* @returns {boolean} true if we are in an svg context
|
||||
*/
|
||||
export function isSvg(el) {
|
||||
const owner = el.ownerSVGElement
|
||||
|
||||
return !!owner || owner === null
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if an element is a template tag
|
||||
* @param {HTMLElement} el - element to check
|
||||
* @returns {boolean} true if it's a <template>
|
||||
*/
|
||||
export function isTemplate(el) {
|
||||
return el.tagName.toLowerCase() === 'template'
|
||||
}
|
||||
|
||||
/**
|
||||
* Check that will be passed if its argument is a function
|
||||
* @param {*} value - value to check
|
||||
* @returns {boolean} - true if the value is a function
|
||||
*/
|
||||
export function isFunction(value) {
|
||||
return checkType(value, 'function')
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if a value is a Boolean
|
||||
* @param {*} value - anything
|
||||
* @returns {boolean} true only for the value is a boolean
|
||||
*/
|
||||
export function isBoolean(value) {
|
||||
return checkType(value, 'boolean')
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if a value is an Object
|
||||
* @param {*} value - anything
|
||||
* @returns {boolean} true only for the value is an object
|
||||
*/
|
||||
export function isObject(value) {
|
||||
return !isNil(value) && value.constructor === Object
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if a value is null or undefined
|
||||
* @param {*} value - anything
|
||||
* @returns {boolean} true only for the 'undefined' and 'null' types
|
||||
*/
|
||||
export function isNil(value) {
|
||||
return value === null || value === undefined
|
||||
}
|
||||
|
||||
/**
|
||||
* Detect node js environment
|
||||
* @returns {boolean} true if the runtime is node
|
||||
*/
|
||||
export function isNode() {
|
||||
return typeof globalThis.process !== 'undefined'
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if an attribute is a DOM handler
|
||||
* @param {string} attribute - attribute string
|
||||
* @returns {boolean} true only for dom listener attribute nodes
|
||||
*/
|
||||
export function isEventAttribute(attribute) {
|
||||
return EVENT_ATTRIBUTE_RE.test(attribute)
|
||||
}
|
||||
Reference in New Issue
Block a user