npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

trit-text

v1.0.1

Published

a 5-trit text coding

Downloads

23

Readme

trit-text

A 5-trit text format, analogous to 7-bit ASCII

Usage:

var toUnicode = require('trit-text').toUnicode;
var isInverted = require('trit-text').isInverted;
var fromUnicode = require('trit-text').fromUnicode;
var fromEvent = require('trit-text').fromEvent;
var allUnicode = require('trit-text').allUnicode;
var toTritmap9x14 = require('trit-text').toTritmap9x14;

The trit-text codepoints range from -121 to +121, comparable to ASCII 0 to 127.

to/fromUnicode converts between Unicode and trit-text, and isInverted returns whether the character is "inverted"/emphasized (that is, -121 to -1; normal characters are 1 to 121):

toUnicode(42);      // 'a'
fromUnicode('a');   // 42
isInverted(42);     // false
isInverted(-42);    // true

fromEvent(ev) takes a DOM keydown event and returns a representative trit-text character codepoint.

toTritmap9x14(cp) returns a 9x14 tritmap (analogous to bitmap) to graphically represent the given character.

Codepoint reference:

+1 to +121 normal text (ex: black on white, green on black)
-1 to -121 inverted/emphasized (ex: reverse video white on black, red on black)

control/digits
00000 = 0       NUL   null, string terminator, only unbalanced; in serial mode zero-width, matrix mode alternating flashing normal/inverted
00001 = 1       1
0001i = 2       2
00010 = 3       3
00011 = 4       4
001ii = 5       5
001i0 = 6       6
001i1 = 7       7
0010i = 8       8
00100 = 9       9
00101 = 10      0
0011i = 11      ESC escape/reserved code, visual representation: ⌂ U+2302 house
00110 = 12      NL  newline, \n, linefeed, visual representation: ♪ U+266a eighth note
00111 = 13      SP  space

    (01xxx=left, pairs with 10xxx=right, and control(1i)=01, shift-control(11)=10)
left punctuation                                        right punctuation                                           
01iii = 14  @                                           10iii = 68  `
01ii0 = 15  ☺ U+263A smiley                             10ii0 = 69  ☻ U+263B inverted smiley
01ii1 = 16  ♥ U+2665 hearts                             10ii1 = 70  ♦ U+2666 diamonds
01i0i = 17  ♣ U+2663 clubs                              10i0i = 71  ♠ U+2660 spades
01i00 = 18  • U+2022 bullet                             10i00 = 72  ◘ U+25D8 inverted bullet
01i01 = 19  ○ U+25CB circle                             10i01 = 73  ◙ U+25D9 inverted circle
01i1i = 20  ♂ U+2642 male                               10i1i = 74  ♀ U+2640 female
01i10 = 21  ☼ U+263C solar                              10i10 = 75  ▒ U+2592 medium shade
01i11 = 22  ← U+2190 left arrow                         10i11 = 76  → U+2192 right arrow
010ii = 23  ↑ U+2191 up arrow                           100ii = 77  ↓ U+2193 down arrow
010i0 = 24  « U+00AB left-pointing double angle quot    100i0 = 78  » U+00BB right-pointing double angle quot
010i1 = 25  ± U+00B1 plus-minus sign                    100i1 = 79  ∓ U+2213 minus-or-plus sign
0100i = 26  (                                           1000i = 80  )                                              
01000 = 27  [                                           10000 = 81  ]
01001 = 28  <                                           10001 = 82  >
0101i = 29  {                                           1001i = 83  }
01010 = 30  \                                           10010 = 84  /
01011 = 31  .                                           10011 = 85  ,
011ii = 32  ;                                           101ii = 86  :
011i0 = 33  '                                           101i0 = 87  "
011i1 = 34  !                                           101i1 = 88  ?
0110i = 35  #                                           1010i = 89  $
01100 = 36  %                                           10100 = 90  &
01101 = 37  -                                           10101 = 91  +
0111i = 38  *                                           1011i = 92  |
01110 = 39  =                                           10110 = 93  ≈ U+2248 approximately equal
01111 = 40  ^                                           10111 = 94  ~
                                                            
 (1cxxxx = letters, where c=case, i=lower, 1=upper - toggle 2nd mst i=lowercase,1=uppercase (includes _ and ‾, allow in program identifiers)
lowercase letters                                       uppercase letters
1iiii = 41 ‾ U+203E overline (standalone)               11iii = 95   _ underline
1iii0 = 42 a                                            11ii0 = 96   A
1iii1 = 43 b                                            11ii1 = 97   B
1ii0i = 44 c                                            11i0i = 98   C
1ii00 = 45 d                                            11i00 = 99   D
1ii01 = 46 e                                            11i01 = 100  E
1ii1i = 47 f                                            11i1i = 101  F
1ii10 = 48 g                                            11i10 = 102  G
1ii11 = 49 h                                            11i11 = 103  H
1i0ii = 50 i                                            110ii = 104  I
1i0i0 = 51 j                                            110i0 = 105  J
1i0i1 = 52 k                                            110i1 = 106  K
1i00i = 53 l                                            1100i = 107  L
1i000 = 54 m                                            11000 = 108  M
1i001 = 55 n                                            11001 = 109  N
1i01i = 56 o                                            1101i = 110  O
1i010 = 57 p                                            11010 = 111  P
1i011 = 58 q                                            11011 = 112  Q
1i1ii = 59 r                                            111ii = 113  R
1i1i0 = 60 s                                            111i0 = 114  S
1i1i1 = 61 t                                            111i1 = 115  T
1i10i = 62 u                                            1110i = 116  U
1i100 = 63 v                                            11100 = 117  V 
1i101 = 64 w                                            11101 = 118  W
1i11i = 65 x                                            1111i = 119  X
1i110 = 66 y                                            11110 = 120  Y
1i111 = 67 z                                            11111 = 121  Z

Codepoints above are shown in decimal and balanced-ternary. Some characters above are inspired by the CP437 character set, and the IBM PC EGA 9x14 bitmap font.