@huynhducduy/is-palindrome
v1.0.10
Published
Zero dependency, lightweight and fully functional palindrome checker
Downloads
15
Maintainers
Readme
Palindrome Checker
Zero dependencies, lightweight and fully functional palindrome checker
Install with npm
npm i @huynhducduy/is-palindrome --save
Install with yarn
yarn add @huynhducduy/is-palindrome
Table of Contents
Usage
CommonJS (Node)
var isPalindrome = require("@huynhducduy/is-palindrome");
ES Modules
import isPalindrome from "@huynhducduy/is-palindrome/dist/esm.js";
Browser (IIFE)
<script
src="https://cdn.jsdelivr.net/npm/@huynhducduy/is-palindrome@1/dist/iife.js"
crossorigin="anonymous"
></script>
Example
console.log(
isPalindrome(
" Are we not pure? “No sir!” Panama’s moody Noriega brags. “It is garbage!” Irony dooms a man; a prisoner up to new era. ",
{
remove: ["punctuation", "non-printable-ascii", "whitespace"],
caseSensitive: false,
trim: "both",
}
)
);
// true
Also support amd
(RequireJS), umd
, sys
(SystemJS) as well.
API
default
Check if the given string is a valid palindrome
Params
str
{Any}: String to check, it's not a valid string, the function will try to convert it, or will throws an exceptionoptions
{Object}: See options objectdebug
{Boolean}: Log debug or not
Return: {Boolean}: True if it is a valid palindrome that match out options, otherwise False
options
Options pass to is-palindrome. The processing flow is: Normalize -> Remove -> (Transform to lower case) -> Trim (whitespace and trailing)
| name | type/values | default | description | | ------------- | ------------------------------ | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | exception | boolean | false | Inform the function to throw exceptions or not | | normalize | boolean | false | Inform the function to normalize string or not | | normalizeForm | "NFC", "NFD", "NFKC", "NFKD" | "NFC" | The form being used to normalize string (if normalize === true), must be one of supported values, otherwise a exception will be thrown or the normalization will be omitted | | remove | string, [string] | [] | remove some kind of char from string, accepted: "non-printable-ascii", "punctuation", "whitespace" | | caseSensitive | boolean | true | Indicate the case sensitivity of the function | | trim | "none", "start", "end", "both" | "none" | Trim trailing whitespace mode | | trimTrailing | string, [string] | | Trim trailing characters or strings |
~\`!@#\$%^&\*(){}\[\];:"'<,.>?\/\\|\_+=-`
Other awesome projects
- Update...
Running tests
Install dev dependencies:
yarn && yarn test
Compile & Minify:
yarn compile
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue