Socket
Book a DemoInstallSign in
Socket

@shelf/fast-uslug

Package Overview
Dependencies
Maintainers
0
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@shelf/fast-uslug

A 30x faster version of the "uslug" package

latest
npmnpm
Version
1.2.0
Version published
Weekly downloads
57
3.64%
Maintainers
0
Weekly downloads
 
Created
Source

fast-uslug CircleCI

It was forked from uslug.

30x faster than uslug.

Permissive slug generator that works with unicode. We keep only characters from the categories Letter, Number and Separator (see Unicode Categories) and the common CJK Unified Ideographs as defined in the version 6.0.0 of the Unicode specification.

Inspired by unicode-slugify. Note that this slug generator is different from node-slug which focus on translating unicode characters to english or latin equivalent.

Install

$ yarn add @shelf/fast-uslug

Usage

import {fastUslug} from '@shelf/fast-uslug';

fastUslug('some string'); // some-string

Quick Examples

import {fastUslug} from '@shelf/fast-uslug';

fastUslug('Ґатунок Їхніх обценьок неперевершений!'); // 'ґатунок-їхніх-обценьок-неперевершений'
fastUslug('汉语/漢語'); // '汉语漢語'

fastUslug('Y U NO', {lower: false}); // 'Y-U-NO'
fastUslug('Y U NO', {spaces: true}); // 'y u no'
fastUslug('Y-U|NO', {allowedChars: '|'}); // 'yu|no'

Benchmark

uslug@shelf/fast-uslugImprovement
10 words: 7 375 ops/s, ±0.19%10 words: 243 646 ops/s, ±0.19%33x
100 words: 702 ops/s, ±0.10%100 words: 22 683 ops/s, ±0.17%32x
1000 words: 69 ops/s, ±0.17%1000 words: 2 241 ops/s, ±0.17%34x

You can run yarn benhmark to test on your own.

Options

fastUslug(string, options)

Generate a slug for the string passed.

Arguments

  • string - The string you want to slugify.
  • options - An optional object that can contain:
    • allowedChars: a Set of chars that you want to be whitelisted. Default: '-_~'.
    • lower: a Boolean to force to lower case the slug. Default: true.
    • spaces: a Boolean to allow spaces. Default: false.

See Also

Publish

$ git checkout master
$ yarn version
$ yarn publish
$ git push origin master --tags

License

MIT © Shelf

FAQs

Package last updated on 18 Dec 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts