diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2025-02-11 10:33:57 -0400 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2025-02-12 07:43:59 -0400 |
commit | 39f7e9e975990bcfa28f9ccb20ff98e4a2867ddf (patch) | |
tree | a202d3077d63308338917f67b7c9e07238b71700 /src/data | |
parent | f6b1f4d7213b953c10a6d196ec04e7e18271f3e2 (diff) |
data: HomepageLayoutRow: nice util.inspect
Diffstat (limited to 'src/data')
-rw-r--r-- | src/data/things/homepage-layout.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/data/things/homepage-layout.js b/src/data/things/homepage-layout.js index b4b31f4f..97e481f8 100644 --- a/src/data/things/homepage-layout.js +++ b/src/data/things/homepage-layout.js @@ -1,5 +1,8 @@ export const HOMEPAGE_LAYOUT_DATA_FILE = 'homepage.yaml'; +import {inspect} from 'node:util'; + +import {colors} from '#cli'; import {input} from '#composite'; import Thing from '#thing'; import {empty} from '#sugar'; @@ -185,6 +188,24 @@ export class HomepageLayoutRow extends Thing { 'Row': {property: 'type'}, }, }; + + [inspect.custom](depth) { + const parts = []; + + parts.push(Thing.prototype[inspect.custom].apply(this)); + + if (depth >= 0 && this.section) { + const sectionName = this.section.name; + const index = this.section.rows.indexOf(this); + const rowNum = + (index === -1 + ? 'indeterminate position' + : `#${index + 1}`); + parts.push(` (${colors.yellow(rowNum)} in ${colors.green(sectionName)})`); + } + + return parts.join(''); + } } export class HomepageLayoutAlbumsRow extends HomepageLayoutRow { |