From 0e6ff649bdfb475b800d4a4c401551d02728c0b2 Mon Sep 17 00:00:00 2001 From: eru123 Date: Wed, 29 Jun 2022 17:19:35 +0800 Subject: [PATCH] Update docs and example --- README.md | 81 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 42 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index 64e4e85..30f4936 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ [![DeepScan grade](https://deepscan.io/api/teams/18125/projects/21443/branches/616385/badge/grade.svg)](https://deepscan.io/dashboard#view=project&tid=18125&pid=21443&bid=616385) [![CodeFactor](https://www.codefactor.io/repository/github/eru123/numesis/badge)](https://www.codefactor.io/repository/github/eru123/numesis) # numesis -Custom Number System +A Custom Number System, allows you to define your own number system by changing the base of the number system and design your own characters set ## Installation ### NPM or Yarn @@ -17,57 +17,60 @@ import numesis module on your project directly ```js import Numesis from 'https://deno.land/x/numesis/mod.ts' ``` -## Example -```js -const hex = new Numesis("0123456789ABCDEF"); -const dec = new Numesis("0123456789"); -const bin = new Numesis("01"); -const oct = new Numesis("01234567"); - -console.log(`Hex value of 255 is ${hex.e(255)}`); -// Output: Hex value of 255 is FF - -console.log(`Oct value of 255 is ${oct.e(255)}`); -// Output: Oct value of 255 is 377 - -console.log(`Dec value of 255 is ${dec.e(255)}`); -// Output: Dec value of 255 is 255 -console.log(`Bin value of 255 is ${bin.e(255)}`); -// Output: Bin value of 255 is 11111111 - -// Convert RGB Color -console.log(`Convert RGB(255,255,255) to HEX is ${hex.e(255,255,255)}`); -// Output: Covert RGB(255,255,255) to HEX is FFFFFFFF -``` ## Usage ### With deno ```js import Numesis from 'https://deno.land/x/numesis/mod.ts' +const num = new Numesis(Numesis.DEFAULT); -const n = new Numesis(); - -// Encode -const encoded = n.e(999); // output: P7Ct +const encoded = num.encode(999); // P7Ct ``` -### Basic +### With nodejs ```js const Numesis = require('numesis') +const num = new Numesis(Numesis.DEFAULT); -const n = new Numesis(); - -// Encode -const encoded = n.e(999); // output: P7Ct +const encoded = num.encode(999); // P7Ct ``` -### Custom + +### Examples ```js -const Numesis = require('numesis') +// Presets +const hex = new Numesis(Numesis.HEX); // 0123456789ABCDEF +const dec = new Numesis(Numesis.DEC); // 0123456789 +const bin = new Numesis(Numesis.BIN); // 01 +const oct = new Numesis(Numesis.OCT); // 01234567 +const def = new Numesis(Numesis.DEFAULT); // abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 + +// Create custom charset +const custom = new Numesis('abcdef'); + +// Basic Encoding Examples +console.log(`Hex value of 255 is ${hex.encode(255)}`); // Hex value of 255 is FF +console.log(`Oct value of 255 is ${oct.encode(255)}`); // Oct value of 255 is 377 +console.log(`Dec value of 255 is ${dec.encode(255)}`); // Dec value of 255 is 255 +console.log(`Bin value of 255 is ${bin.encode(255)}`); // Bin value of 255 is 11111111 + +// Basic Decoding Examples +console.log(`Hex value of FF is ${hex.decode("FF")}`); // Hex value of FF is 255 +console.log(`Oct value of 377 is ${oct.decode("377")}`); // Oct value of 377 is 255 +console.log(`Dec value of 255 is ${dec.decode("255")}`); // Dec value of 255 is 255 +console.log(`Bin value of 11111111 is ${bin.decode("11111111")}`); // Bin value of 11111111 is 255 + +// Convert RGB Color +console.log(`Convert RGB(255,255,255) to HEX is ${hex.encode(255,255,255)}`); // Covert RGB(255,255,255) to HEX is FFFFFF -// Default charset -const charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; +// Trailing Zeroes +const bin_len = 4; +console.log(`Bin value of 2 is ${bin.encode(2)}`); // Bin value of 2 is 10 +console.log(`Bin value of 2 with trailing is ${bin.trail(bin_len, 2)}`); // Bin value of 2 is 0010 +console.log(`Decoded bin value of 0010 is ${bin.decode("0010")}`); // Decoded bin value of 0010 is 2 -const n = new Numesis(charset); +// Block Encoding +const delimiter = "-"; +console.log(`Bin value of 50 is ${bin.encode(50)}`); // Bin value of 50 is 110010 +console.log(`Bin value of 50 with block is ${bin.block(bin_len, delimiter, 50)}`); // Bin value of 50 with block is 0011-0010 +console.log(`Decoded bin value of 0011-0010 is ${bin.decode("0011-0010", delimiter)}`); // Decoded bin value of 0011-0010 is 50 -// Encode -const encoded = n.e(999); // output: P7Ct ```