diff --git a/index.js b/index.js index aef2e29..17b57c3 100644 --- a/index.js +++ b/index.js @@ -1,25 +1 @@ -/** - * @typedef {import('hast').Root} Root - * @typedef {import('hast').Content} Content - */ - -/** - * @typedef {Root | Content} Node - */ - -// To do next major: return `undefined`. -/** - * Rank of a heading: H1 -> 1, H2 -> 2, etc. - * - * @param {Node} node - * @returns {number | null} - */ -export function headingRank(node) { - const name = - (node && node.type === 'element' && node.tagName.toLowerCase()) || '' - const code = - name.length === 2 && name.charCodeAt(0) === 104 /* `h` */ - ? name.charCodeAt(1) - : 0 - return code > 48 /* `0` */ && code < 55 /* `7` */ ? code - 48 /* `0` */ : null -} +export {headingRank} from './lib/index.js' diff --git a/lib/index.js b/lib/index.js new file mode 100644 index 0000000..aef2e29 --- /dev/null +++ b/lib/index.js @@ -0,0 +1,25 @@ +/** + * @typedef {import('hast').Root} Root + * @typedef {import('hast').Content} Content + */ + +/** + * @typedef {Root | Content} Node + */ + +// To do next major: return `undefined`. +/** + * Rank of a heading: H1 -> 1, H2 -> 2, etc. + * + * @param {Node} node + * @returns {number | null} + */ +export function headingRank(node) { + const name = + (node && node.type === 'element' && node.tagName.toLowerCase()) || '' + const code = + name.length === 2 && name.charCodeAt(0) === 104 /* `h` */ + ? name.charCodeAt(1) + : 0 + return code > 48 /* `0` */ && code < 55 /* `7` */ ? code - 48 /* `0` */ : null +} diff --git a/package.json b/package.json index 8bb5a9e..a0b25bf 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "main": "index.js", "types": "index.d.ts", "files": [ + "lib/", "index.d.ts", "index.js" ],