🎉 initiate project *astro_rewrite*
This commit is contained in:
parent
ffd4d5e86c
commit
2ba37bfbe3
8658 changed files with 2268794 additions and 2538 deletions
41
node_modules/hast-util-to-html/lib/omission/util/siblings.js
generated
vendored
Normal file
41
node_modules/hast-util-to-html/lib/omission/util/siblings.js
generated
vendored
Normal file
|
@ -0,0 +1,41 @@
|
|||
/**
|
||||
* @typedef {import('../../types.js').Parent} Parent
|
||||
* @typedef {import('../../types.js').Content} Content
|
||||
*/
|
||||
|
||||
import {whitespace} from 'hast-util-whitespace'
|
||||
|
||||
export const siblingAfter = siblings(1)
|
||||
export const siblingBefore = siblings(-1)
|
||||
|
||||
/**
|
||||
* Factory to check siblings in a direction.
|
||||
*
|
||||
* @param {number} increment
|
||||
*/
|
||||
function siblings(increment) {
|
||||
return sibling
|
||||
|
||||
/**
|
||||
* Find applicable siblings in a direction.
|
||||
*
|
||||
* @param {Parent | null | undefined} parent
|
||||
* @param {number | null | undefined} index
|
||||
* @param {boolean | null | undefined} [includeWhitespace=false]
|
||||
* @returns {Content}
|
||||
*/
|
||||
function sibling(parent, index, includeWhitespace) {
|
||||
const siblings = parent ? parent.children : []
|
||||
let offset = (index || 0) + increment
|
||||
let next = siblings && siblings[offset]
|
||||
|
||||
if (!includeWhitespace) {
|
||||
while (next && whitespace(next)) {
|
||||
offset += increment
|
||||
next = siblings[offset]
|
||||
}
|
||||
}
|
||||
|
||||
return next
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue