3.1 KiB
title |
---|
Alphabets |
A tiny JS dependency (<800 bytes!) which exports many alphabets for many use cases.
Why would I use this?
Why?
I have seen developers doing this:
const alphabet = 'abcdefghijklmnopqrstuvwxyz'.split('');
Or worse:
const alphabet = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
My opinion about this? 🙄. It's ugly, it makes your code less readable (read: ugly) and it's simply not something you should want to have in your code! Instead, you should do it like so:
import { latin } from 'alphabets';
// or
const alphabets = require('alphabets');
Much cleaner, right? That's why I made this package.
Why not?
I see very few reasons not to use this package.
But doesn't it cost me performance?
No. This package is only <800 bytes so it should not cost you any performance. Neither via CDN nor if you use a bundler like webpack, Parcel or Rollup.
Why not making an array on my own?
It's a choice. This whole package is opinionated. I think you should not
do const alphabet = 'abcdefghijklmnopqrstuvwxyz'.split('');
in your code. I
think you should use a package for that. Do you think it's OK to define your own
alphabet array? Do that!
Competitors
Know more alternatives? Please open an issue or pull request! {: .notice--info}
alphabet
Seems a good alternative, right? But:
- It only supports the Latin alphabet.
- It is larger. (The size is equal to this package's size, but this package includes more.)
- It is only CommonJS and not ECMAScript etc.
- When did the author last update it? Right.
I do not say this package doesn't work. I think it will work perfectly, but it has less features. {: .notice--warning}
Usage
Installation
Use npm:
npm install alphabets --save
Or if you prefer Yarn:
yarn add alphabets
CDN, if that's more your style:
<script src="https://unpkg.com/alphabet@1/dist/bundle.js"></script>
Usage
import { <alphabetYouWantToUse> } from 'alphabets';
or:
const alphabets = require('alphabets');
console.log(alphabets.<alphabetYouWantToUse>);
where <alphabetYouWantToUse>
is an alphabet this package supports.
Here is a list from which you can choose.
API
Supported alphabets
Usage: see Usage.
Name | Export name |
---|---|
Latin | latin |
Greek (modern) | greek |
Greek (ancient/polytonic) | greekPolytonic |