Files
flights_web_raw/ClientApp/node_modules/loupe/lib/html.js
T
gnezim 0a5ab058a6 Initial commit: Aeroflot Flights Web - Angular 12 baseline
- Angular 12 application with PrimeNG components
- 5 existing Cypress e2e test suites
- SCSS styling with BEM naming convention
- i18n support (10 languages)
- Leaflet map integration
- Complete component hierarchy and routing structure

This baseline will be used for Angular → React migration.
2026-04-05 18:47:57 +03:00

41 lines
1.4 KiB
JavaScript

import { truncator, inspectList } from './helpers'
export function inspectAttribute([key, value], options) {
options.truncate -= 3
if (!value) {
return `${options.stylize(key, 'yellow')}`
}
return `${options.stylize(key, 'yellow')}=${options.stylize(`"${value}"`, 'string')}`
}
export function inspectHTMLCollection(collection, options) {
// eslint-disable-next-line no-use-before-define
return inspectList(collection, options, inspectHTML, '\n')
}
export default function inspectHTML(element, options) {
const properties = element.getAttributeNames()
const name = element.tagName.toLowerCase()
const head = options.stylize(`<${name}`, 'special')
const headClose = options.stylize(`>`, 'special')
const tail = options.stylize(`</${name}>`, 'special')
options.truncate -= name.length * 2 + 5
let propertyContents = ''
if (properties.length > 0) {
propertyContents += ' '
propertyContents += inspectList(
properties.map(key => [key, element.getAttribute(key)]),
options,
inspectAttribute,
' '
)
}
options.truncate -= propertyContents.length
const truncate = options.truncate
let children = inspectHTMLCollection(element.children, options)
if (children && children.length > truncate) {
children = `${truncator}(${element.children.length})`
}
return `${head}${propertyContents}${headClose}${children}${tail}`
}