Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fajarbc/anagram-palindrome
Find anagram words if existed from the given pattern. Check if two strings are anagram. Check if the given word is palindrome.
https://github.com/fajarbc/anagram-palindrome
anagram hacktoberfest2022 hactoberfest javascript npm-package palindrome typescript
Last synced: 4 days ago
JSON representation
Find anagram words if existed from the given pattern. Check if two strings are anagram. Check if the given word is palindrome.
- Host: GitHub
- URL: https://github.com/fajarbc/anagram-palindrome
- Owner: fajarbc
- Created: 2022-10-01T16:50:36.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2022-10-10T18:30:24.000Z (about 2 years ago)
- Last Synced: 2024-11-07T15:06:13.092Z (13 days ago)
- Topics: anagram, hacktoberfest2022, hactoberfest, javascript, npm-package, palindrome, typescript
- Language: TypeScript
- Homepage: https://fajarbc.github.io/anagram-palindrome/
- Size: 150 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
# [anagram-palindrome](https://fajarbc.github.io/anagram-palindrome)
[![npm version](https://badge.fury.io/js/anagram-palindrome.svg)](https://badge.fury.io/js/anagram-palindrome)
Find anagram words if existed from the given pattern. Check if two strings are anagram. Check if the given word is palindrome.
It has npm package here called [anagram-palindrome](https://www.npmjs.com/package/anagram-palindrome)
**Support CJS and ESM**
## Install
```sh
npm i anagram-palindrome
```## Usage
### ESM Style
```javascript
import { findPattern, areAnagram, isPalindrome } from "anagram-palindrome"// findPattern
console.log(findPattern("car", "race car care")) // [ 'rac', 'car', 'arc', 'rca', 'car' ]
console.log(findPattern("car", "race car care", {unique: true})) // [ 'rac', 'car', 'arc', 'rca' ]
console.log(findPattern("car", "race car care", {space: true})) // [ 'rac', 'car', 'car' ]
console.log(findPattern("car", "race car care", {space: true, unique: true})) // [ 'rac', 'car' ]
console.log(findPattern("cAr", "race car cAre", {caseSensitive: true})) // [ 'rcA', 'cAr' ]// areAnagram
console.log(areAnagram("mything", "My night")) // true
console.log(areAnagram("mything", "My night", {space: true})) // false
console.log(areAnagram("Thing", "Night", {caseSensitive: true})) // false
console.log(areAnagram("My thing", "My night", {caseSensitive: true, space: true})) // true
console.log(areAnagram("Mything", "My Night", {caseSensitive: true, space: true})) // false// isPalindrome
console.log(isPalindrome("Race car")) // true
console.log(isPalindrome("Racecar", {caseSensitive: true})) // false
console.log(isPalindrome("race car", {space: true})) // false
console.log(isPalindrome("Rac e caR", {caseSensitive: true, space: true})) // true
console.log(isPalindrome("Race car", {caseSensitive: true, space: true})) // false
```### CJS Style
```javascript
const { findPattern, areAnagram, isPalindrome } = require("anagram-palindrome")// findPattern
console.log(findPattern("car", "race car care")) // [ 'rac', 'car', 'arc', 'rca', 'car' ]
```### In Browser
If you are using this directly in your browser, you could use `type="module"` in your `script` tag. Here, I'm using **unpkg.com** as cdn source to call package `anagram-palindrome` version `0.3.2` and stright to file `dist/index.mjs`.```html
import { findPattern } from 'https://unpkg.com/[email protected]/dist/index.mjs';
console.log(findPattern("car", "race car care")) // [ 'rac', 'car', 'arc', 'rca', 'car' ]
```
or import all function
```htmlimport * as ap from 'https://unpkg.com/[email protected]/dist/index.mjs';
console.log(ap.findPattern("car", "race car care")) // [ 'rac', 'car', 'arc', 'rca', 'car' ]
```
You can change cdn from **unpkg.com** to **jsdelivr.net** by replacing
`https://unpkg.com/[email protected]/dist/index.mjs`with
`https://cdn.jsdelivr.net/npm/[email protected]/dist/index.mjs`
## Function
Read complete [API documentation here](https://fajarbc.github.io/anagram-palindrome/docs/index.html)### findPattern
```findPattern(pattern, text, options)```
- Description: return anagram words/sequences from the given string (text) if any
- Return type `array`
- `pattern` (string) is the sequence string you look for in in the string `text`
- `text` (string) is the whole string you want to look for the `pattern`
- `options` (object) is an object to customize the options desribed bellow:
| Parameter | Type | Deafult | Description |
|:----------|:----:|:-------:|:------------|
| space | boolean | false | `true` means space counted as a character.
`false` means space is not counted as character and will be ignored |
| caseSensitive | boolean | false | `true` means case sensitive character.
`false` means case insensitive |
| unique | boolean | false | `true` only return unique sequence result.
`false` will return all sequence result |
- Example use :
```javascript
import { findPattern } from "anagram-palindrome"console.log(findPattern("car", "race car care", {space: true, unique: true})) // [ 'rac', 'car' ]
```### areAnagram
```areAnagram(word1, word2, options)```
- Description: Check if two strings are anagram
- Return type `boolean`. `true` if they are anagram, `false` if it is not anagram
- `word1` and `word2` is the text/string you you want to check wether if they are anagram or not
- `options` (object) is an object to customize the options desribed bellow:| Parameter | Type | Deafult | Description |
|:----------|:----:|:-------:|:------------|
| space | boolean | false | `true` means space counted as a character.
`false` means space is not counted as character and will be ignored |
| caseSensitive | boolean | false | `true` means case sensitive character.
`false` means case insensitive |
- Example use :
```javascript
import { areAnagram } from "anagram-palindrome"
console.log(areAnagram("Thing", "Night", {caseSensitive: true})) // false
console.log(areAnagram("Thing", "Night")) // true
```### isPalindrome
```isPalindrome(word, options)```
- Description: Check if the word is palindrome
- Return type `boolean`. `true` if the word palindrome, `false` if it is not palindrome
- `word` is the text/string you you want to check if it is palindrome or not
- `options` (object) is an object to customize the options desribed bellow:| Parameter | Type | Deafult | Description |
|:----------|:----:|:-------:|:------------|
| space | boolean | false | `true` means space counted as a character.
`false` means space is not counted as character and will be ignored |
| caseSensitive | boolean | false | `true` means case sensitive character.
`false` means case insensitive |
- Example use :
```javascript
import { isPalindrome } from "anagram-palindrome"
console.log(isPalindrome("Race car")) // true
console.log(isPalindrome("Racecar", {caseSensitive: true})) // false
console.log(isPalindrome("race car", {space: true})) // false
```
# Changelog
Read full [Changlog here](https://fajarbc.github.io/anagram-palindrome/CHANGELOG.html)