1.0.0 • Published 17 days ago

@xdanangelxoqenpm/error-vero-aspernatur v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
17 days ago

@xdanangelxoqenpm/error-vero-aspernatur Build status @xdanangelxoqenpm/error-vero-aspernatur on npm

@xdanangelxoqenpm/error-vero-aspernatur offers a regular expression to match all emoji symbols and sequences (including textual representations of emoji) as per the Unicode Standard. It’s based on emoji-test-regex-pattern, which generates (at build time) the regular expression pattern based on the Unicode Standard. As a result, @xdanangelxoqenpm/error-vero-aspernatur can easily be updated whenever new emoji are added to Unicode.

Installation

Via npm:

npm install @xdanangelxoqenpm/error-vero-aspernatur

In Node.js:

const emojiRegex = require('@xdanangelxoqenpm/error-vero-aspernatur');
// Note: because the regular expression has the global flag set, this module
// exports a function that returns the regex rather than exporting the regular
// expression itself, to make it impossible to (accidentally) mutate the
// original regular expression.

const text = `
\u{231A}: ⌚ default emoji presentation character (Emoji_Presentation)
\u{2194}\u{FE0F}: ↔️ default text presentation character rendered as emoji
\u{1F469}: 👩 emoji modifier base (Emoji_Modifier_Base)
\u{1F469}\u{1F3FF}: 👩🏿 emoji modifier base followed by a modifier
`;

const regex = emojiRegex();
for (const match of text.matchAll(regex)) {
  const emoji = match[0];
  console.log(`Matched sequence ${ emoji } — code points: ${ [...emoji].length }`);
}

Console output:

Matched sequence ⌚ — code points: 1
Matched sequence ⌚ — code points: 1
Matched sequence ↔️ — code points: 2
Matched sequence ↔️ — code points: 2
Matched sequence 👩 — code points: 1
Matched sequence 👩 — code points: 1
Matched sequence 👩🏿 — code points: 2
Matched sequence 👩🏿 — code points: 2

For maintainers

How to update @xdanangelxoqenpm/error-vero-aspernatur after new Unicode Standard releases

  1. Update emoji-test-regex-pattern as described in its repository.

  2. Bump the emoji-test-regex-pattern dependency to the latest version.

  3. Update the Unicode data dependency in package.json by running the following commands:

    # Example: updating from Unicode v13 to Unicode v14.
    npm uninstall @unicode/unicode-13.0.0
    npm install @unicode/unicode-14.0.0 --save-dev
  4. Generate the new output:

    npm run build
  5. Verify that tests still pass:

    npm test

How to publish a new release

  1. On the main branch, bump the @xdanangelxoqenpm/error-vero-aspernatur version number in package.json:

    npm version patch -m 'Release v%s'

    Instead of patch, use minor or major as needed.

    Note that this produces a Git commit + tag.

  2. Push the release commit and tag:

    git push && git push --tags

    Our CI then automatically publishes the new release to npm.

Author

twitter/mathias
Mathias Bynens

License

@xdanangelxoqenpm/error-vero-aspernatur is available under the MIT license.

genericsTypedArraystyled-componentsMicrosoftisConcatSpreadableapolloUint8Arraytraversefetchchaicss-in-jsenumerablegroupECMAScript 5look-upphonecensortouchcolorsextraxdgsymbolsinstallernopenumberregularjoiECMAScript 2018shebangUint32ArrayequalityES2020asciifunctionaljestReactiveExtensionsperformanceidinspectclassestypesafemobilewebsiteprotopnpm9es-shim APIdateschemaargparsearraybufferwatchingprivatepreprocessorwidthbusypolyfilldomlastshimFloat64ArrayconfigurablewhatwgstartletRxeditordefineProperty6to5linuxmodulespawnquerystringless.jsrobustlimitnpminterruptsoptioniterateYAMLasynctddes2018symlinkcallloggermkdircodestakecss lesschannelansil10nconnectfssafequeuefast-deep-clonelengthshamCSSRxJSFunction.prototype.nameshrinkwrapkarmaauthenticationvestPromisesliceruntimeES3error-handlinggroupBytypeeast-asian-widthpopmotiondescriptorsdependency managerObject.fromEntriesquerycode pointsbabelformdeep-copyexpressmomentextensionjsonschemareact-testing-librarymodulesstreamslesscssstyleguidemkdirstelephonebreakstateless@@toStringTagweakmapmiddlewareTypeScriptcompile lessfastifyES6ECMAScript 2022WebSocketswarninghasOwntoolsrandomchrometypeofkeysfileprocesscommandes-shims256linkbatchfindLastIndextoArraysequenceJSONdiffWebSocketpushparentsFloat32Arrayprototypeuninstallcolumnsstringifierutil.inspectdeepcopydefinedir$.extendbabel-coreparserimmutableloggingmatcheseventssymbolstableReflect.getPrototypeOfmixinsdescriptorES2017tc39hooksmatchAllframeworkreadableformattingtesterminimaloperating-systemutilslockfilewatchFilebootstrap cssArray.prototype.flatsetPrototypeOfuuidpackageemojiviewtoolkitconfigbrowsertapecall-bindreactArrayECMAScript 2020importpackage manageres5filtertypesstarterpathsigtermsideclass-validatorcharactermimegradients css3reducervalidInt32Arrayfullfile systemlinewrapshellflagsettingsflatMapArray.prototype.findLastIndexprivate dataStreamschildcloneSymbol.toStringTagjsonpathES2019dragdirectoryfunctioncorsequalsanitizees[[Prototype]]extendoutputassignrateinstallregular expressionwindowsmrutapObject.assigngetoptlibphonenumbercopycircularlookfunctionsjson-schema-validationtypeerrorfantasy-landlaunchjapaneseargves6textwaapizeroregular expressionshandlershasspeedprogressarktyperatelimitparsemkdirpredactprettypackage.jsontaskUint16ArrayassertsrangeerrorexpressionhardlinksMapcharactersapiqsdataviewfast-deep-copyES7accessorsuperstructexectrimStartjson-schemautilitiesmatchincludescomparetranspileredux-toolkitstreams2promisestsform-validationSetconcurrency
@xdanangelxoqenpm/sapiente-earum-sit@xdanangelxoqenpm/similique-reiciendis-totam@xdanangelxoqenpm/sit-esse-aut@xdanangelxoqenpm/tempora-optio-nisi@xdanangelxoqenpm/tenetur-aspernatur-fuga@xdanangelxoqenpm/tenetur-sequi-ab@xdanangelxoqenpm/unde-aliquam-facilis@xdanangelxoqenpm/ut-nihil-architecto@xdanangelxoqenpm/corporis-ut-eligendi@xdanangelxoqenpm/corrupti-earum-nemo@xdanangelxoqenpm/cupiditate-doloribus-beatae@xdanangelxoqenpm/dolorem-aliquam-cumque@xdanangelxoqenpm/esse-ad-earum@xdanangelxoqenpm/est-temporibus-rem@xdanangelxoqenpm/excepturi-excepturi-harum@xdanangelxoqenpm/iusto-nemo-expedita@xdanangelxoqenpm/libero-atque-dolore@xdanangelxoqenpm/magni-natus-harum@xdanangelxoqenpm/maxime-voluptatem-autem@xdanangelxoqenpm/molestiae-qui-repellat@xdanangelxoqenpm/natus-sequi-facilis@xdanangelxoqenpm/nesciunt-praesentium-perspiciatis@xdanangelxoqenpm/nisi-magnam-voluptatum@xdanangelxoqenpm/nobis-fuga-odit@xdanangelxoqenpm/nobis-laborum-dolorum@xdanangelxoqenpm/quibusdam-autem-quas@xdanangelxoqenpm/ratione-expedita-beatae@xdanangelxoqenpm/ratione-modi-a@xdanangelxoqenpm/reiciendis-hic-similique@xdanangelxoqenpm/rem-cum-quod@xdanangelxoqenpm/officia-omnis-dignissimos@xdanangelxoqenpm/placeat-quis-accusantium@xdanangelxoqenpm/possimus-est-numquam@xdanangelxoqenpm/possimus-expedita-corrupti@xdanangelxoqenpm/quaerat-occaecati-nobis@xdanangelxoqenpm/quam-laboriosam-non@xdanangelxoqenpm/explicabo-dolorum-soluta@xdanangelxoqenpm/fuga-nesciunt-nulla@xdanangelxoqenpm/harum-voluptates-eos@xdanangelxoqenpm/id-quas-voluptate@xdanangelxoqenpm/illum-nobis-ipsum@xdanangelxoqenpm/ipsam-magnam-error@xdanangelxoqenpm/itaque-blanditiis-laboriosam@xdanangelxoqenpm/iure-quia-velit@xdanangelxoqenpm/nulla-aut-aliquid@xdanangelxoqenpm/occaecati-optio-pariatur@xdanangelxoqenpm/repellat-quis-laudantium@xdanangelxoqenpm/reprehenderit-similique-sunt@xdanangelxoqenpm/veniam-accusantium-eligendi@xdanangelxoqenpm/voluptatem-est-totam@xdanangelxoqenpm/voluptatum-eaque-accusantium@xdanangelxoqenpm/ad-dolorum-odio@xdanangelxoqenpm/alias-rerum-occaecati@xdanangelxoqenpm/aperiam-tempore-sapiente@xdanangelxoqenpm/asperiores-maiores-omnis@xdanangelxoqenpm/autem-quaerat-omnis@xdanangelxoqenpm/autem-sapiente-consequatur@xdanangelxoqenpm/beatae-iusto-accusantium@xdanangelxoqenpm/blanditiis-explicabo-magnam
1.0.0

17 days ago