{"_id":"@cjser/micromark-util-classify-character","name":"@cjser/micromark-util-classify-character","dist-tags":{"latest":"2.0.1-cjser.2"},"versions":{"2.0.1-cjser.2":{"name":"@cjser/micromark-util-classify-character","version":"2.0.1-cjser.2","description":"micromark utility to classify whether a character is whitespace or punctuation","license":"MIT","keywords":["micromark","util","utility","attention","classify","character"],"repository":{"type":"git","url":"https://code.moenext.com/3rdeye/cjser.git"},"bugs":{"url":"https://github.com/micromark/micromark/issues"},"funding":[{"type":"GitHub Sponsors","url":"https://github.com/sponsors/unifiedjs"},{"type":"OpenCollective","url":"https://opencollective.com/unified"}],"author":{"name":"Titus Wormer","email":"tituswormer@gmail.com","url":"https://wooorm.com"},"contributors":[{"name":"Titus Wormer","email":"tituswormer@gmail.com","url":"https://wooorm.com"}],"sideEffects":false,"type":"module","exports":{"require":"./dist-cjser/index.cjs","development":"./dev/index.js","default":"./index.js"},"dependencies":{"@cjser/micromark-util-character":"2.1.1-cjser.2","@cjser/micromark-util-symbol":"2.0.1-cjser.2","@cjser/micromark-util-types":"2.0.2-cjser.2"},"scripts":{"build":"micromark-build"},"xo":{"envs":["shared-node-browser"],"prettier":true,"rules":{"unicorn/prefer-code-point":"off"}},"main":"./dist-cjser/index.cjs","cjser":{"sourceVersion":"2.0.1","cjserVersion":2,"original":{"name":"micromark-util-classify-character","version":"2.0.1","exports":{"development":"./dev/index.js","default":"./index.js"},"repository":"https://github.com/micromark/micromark/tree/main/packages/micromark-util-classify-character","dependencies":{"micromark-util-character":"^2.0.0","micromark-util-symbol":"^2.0.0","micromark-util-types":"^2.0.0"},"files":["dev/","index.d.ts.map","index.d.ts","index.js"],"scripts":{"build":"micromark-build"}}},"gitHead":"a4bef54d7d22d3d9a6b84528457938d84cd65fe7","_id":"@cjser/micromark-util-classify-character@2.0.1-cjser.2","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-+kf6axjaI9eF8EXIzIffjgQJXxeEXU1MNNAudxqFMeh5Afvy02Lb2peM04wO3e07aMDhSLemM3/6nLR4EQdS4Q==","shasum":"2421ae625130352c3b9d56b8fce08be9d8af7bf7","tarball":"https://registry.npmjs.org/@cjser/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1-cjser.2.tgz","fileCount":10,"unpackedSize":14216,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIB1jQ05EMMlemOqemzdpAj2nN/1Cg4FPipE8TxSxCySlAiB3adHYCmHmNi2o4KK+DnYiaRWKCJCIx4PDCWIRWYcEcA=="}]},"_npmUser":{"name":"nanahira","email":"nanahira@momobako.com"},"directories":{},"maintainers":[{"name":"nanahira","email":"nanahira@momobako.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/micromark-util-classify-character_2.0.1-cjser.2_1778865011234_0.2281718635223211"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-15T17:10:11.131Z","2.0.1-cjser.2":"2026-05-15T17:10:11.435Z","modified":"2026-05-15T17:10:11.776Z"},"maintainers":[{"name":"nanahira","email":"nanahira@momobako.com"}],"description":"micromark utility to classify whether a character is whitespace or punctuation","keywords":["micromark","util","utility","attention","classify","character"],"repository":{"type":"git","url":"https://code.moenext.com/3rdeye/cjser.git"},"contributors":[{"name":"Titus Wormer","email":"tituswormer@gmail.com","url":"https://wooorm.com"}],"author":{"name":"Titus Wormer","email":"tituswormer@gmail.com","url":"https://wooorm.com"},"bugs":{"url":"https://github.com/micromark/micromark/issues"},"license":"MIT","readme":"# micromark-util-classify-character\n\n[![Build][build-badge]][build]\n[![Coverage][coverage-badge]][coverage]\n[![Downloads][downloads-badge]][downloads]\n[![Size][bundle-size-badge]][bundle-size]\n[![Sponsors][sponsors-badge]][opencollective]\n[![Backers][backers-badge]][opencollective]\n[![Chat][chat-badge]][chat]\n\n[micromark][] utility to classify whether a character is whitespace or\npunctuation.\n\n## Contents\n\n* [What is this?](#what-is-this)\n* [When should I use this?](#when-should-i-use-this)\n* [Install](#install)\n* [Use](#use)\n* [API](#api)\n  * [`classifyCharacter(code)`](#classifycharactercode)\n* [Types](#types)\n* [Compatibility](#compatibility)\n* [Security](#security)\n* [Contribute](#contribute)\n* [License](#license)\n\n## What is this?\n\nThis package exposes an algorithm to classify characters into 3 categories.\n\n## When should I use this?\n\nThis package might be useful when you are making your own micromark extensions.\n\n## Install\n\nThis package is [ESM only][esm].\nIn Node.js (version 16+), install with [npm][]:\n\n```sh\nnpm install micromark-util-classify-character\n```\n\nIn Deno with [`esm.sh`][esmsh]:\n\n```js\nimport {classifyCharacter} from 'https://esm.sh/micromark-util-classify-character@1'\n```\n\nIn browsers with [`esm.sh`][esmsh]:\n\n```html\n<script type=\"module\">\n  import {classifyCharacter} from 'https://esm.sh/micromark-util-classify-character@1?bundle'\n</script>\n```\n\n## Use\n\n```js\n/**\n * @this {TokenizeContext}\n *   Context.\n * @type {Tokenizer}\n */\nfunction tokenizeAttention(effects, ok) {\n  return start\n\n  // …\n\n  /** @type {State} */\n  function sequence(code) {\n    if (code === marker) {\n      // …\n    }\n\n    const token = effects.exit('attentionSequence')\n    const after = classifyCharacter(code)\n    const open =\n      !after || (after === constants.characterGroupPunctuation && before)\n    const close =\n      !before || (before === constants.characterGroupPunctuation && after)\n    // …\n  }\n\n  // …\n}\n```\n\n## API\n\nThis module exports the identifier\n[`classifyCharacter`][api-classify-character].\nThere is no default export.\n\n### `classifyCharacter(code)`\n\nClassify whether a code represents whitespace, punctuation, or something\nelse.\n\nUsed for attention (emphasis, strong), whose sequences can open or close\nbased on the class of surrounding characters.\n\n> 👉 **Note**: eof (`null`) is seen as whitespace.\n\n###### Parameters\n\n* `code` (`Code`)\n  — code\n\n###### Returns\n\nGroup (`constants.characterGroupWhitespace`,\n`constants.characterGroupPunctuation`, or `undefined`).\n\n## Types\n\nThis package is fully typed with [TypeScript][].\nIt exports no additional types.\n\n## Compatibility\n\nProjects maintained by the unified collective are compatible with maintained\nversions of Node.js.\n\nWhen we cut a new major release, we drop support for unmaintained versions of\nNode.\nThis means we try to keep the current release line,\n`micromark-util-classify-character@2`, compatible with Node.js 16.\nThis package works with `micromark@3`.\n\n## Security\n\nThis package is safe.\nSee [`security.md`][securitymd] in [`micromark/.github`][health] for how to\nsubmit a security report.\n\n## Contribute\n\nSee [`contributing.md`][contributing] in [`micromark/.github`][health] for ways\nto get started.\nSee [`support.md`][support] for ways to get help.\n\nThis project has a [code of conduct][coc].\nBy interacting with this repository, organisation, or community you agree to\nabide by its terms.\n\n## License\n\n[MIT][license] © [Titus Wormer][author]\n\n<!-- Definitions -->\n\n[build-badge]: https://github.com/micromark/micromark/workflows/main/badge.svg\n\n[build]: https://github.com/micromark/micromark/actions\n\n[coverage-badge]: https://img.shields.io/codecov/c/github/micromark/micromark.svg\n\n[coverage]: https://codecov.io/github/micromark/micromark\n\n[downloads-badge]: https://img.shields.io/npm/dm/micromark-util-classify-character.svg\n\n[downloads]: https://www.npmjs.com/package/micromark-util-classify-character\n\n[bundle-size-badge]: https://img.shields.io/badge/dynamic/json?label=minzipped%20size&query=$.size.compressedSize&url=https://deno.bundlejs.com/?q=micromark-util-classify-character\n\n[bundle-size]: https://bundlejs.com/?q=micromark-util-classify-character\n\n[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg\n\n[backers-badge]: https://opencollective.com/unified/backers/badge.svg\n\n[opencollective]: https://opencollective.com/unified\n\n[npm]: https://docs.npmjs.com/cli/install\n\n[esm]: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c\n\n[esmsh]: https://esm.sh\n\n[chat-badge]: https://img.shields.io/badge/chat-discussions-success.svg\n\n[chat]: https://github.com/micromark/micromark/discussions\n\n[license]: https://github.com/micromark/micromark/blob/main/license\n\n[author]: https://wooorm.com\n\n[health]: https://github.com/micromark/.github\n\n[securitymd]: https://github.com/micromark/.github/blob/main/security.md\n\n[contributing]: https://github.com/micromark/.github/blob/main/contributing.md\n\n[support]: https://github.com/micromark/.github/blob/main/support.md\n\n[coc]: https://github.com/micromark/.github/blob/main/code-of-conduct.md\n\n[typescript]: https://www.typescriptlang.org\n\n[micromark]: https://github.com/micromark/micromark\n\n[api-classify-character]: #classifycharactercode\n\n## cjser\n\nThis package is a CommonJS-compatible build generated by cjser for projects that still need `require()` support. The source version matches the original npm package version, with a cjser prerelease suffix for this generated build.\nOriginal repository: https://github.com/micromark/micromark/tree/main/packages/micromark-util-classify-character\n","readmeFilename":"readme.md","_rev":"1-6fefcf939c09101dfe37409438a9ac6b"}