Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More โ†’
Socket
Sign inDemoInstall
Socket

@igor.dvlpr/scramble

Package Overview
Dependencies
Maintainers
0
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@igor.dvlpr/scramble

๐Ÿƒ Scrambles (rearranges randomly) Strings and Arrays. ๐ŸŽ‹

  • 1.0.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1
decreased by-66.67%
Maintainers
0
Weekly downloads
ย 
Created
Source

ScRaMbLe


๐Ÿƒ Scrambles (rearranges randomly) Strings and Arrays. ๐ŸŽ‹



๐Ÿ’– Support further development
I work hard for every project, including this one
and your support means a lot to me!

Consider buying me a coffee. โ˜•
Thank you for supporting my efforts! ๐Ÿ™๐Ÿ˜Š


Donate to igorskyflyer

@igorskyflyer




๐Ÿ“ƒ Table of contents


๐Ÿค– Features

  • ๐ŸซŽ reorders elements randomly
  • ๐Ÿ” works for strings and arrays
  • ๐Ÿฒ uses Fisher-Yates algorithm (for strings)

๐Ÿ•ต๐Ÿผ Usage

Install it by executing:

npm i '@igor.dvlpr/scramble'

๐Ÿคน๐Ÿผ API

scrambleString(input: string, options?: IStringOptions): string

Scrambles the characters of each word in a given string.

input - The string to be scrambled.


[!NOTE] Since Fisher-Yates algorithm is used for scrambling, a length of > 3 is needed for a word to be able to get scrambled.


options - Options for scrambling, optional.


options are defined via an interface IStringOptions:

interface IStringOptions {
  trimWhitespace?: boolean
}

trimWhitespace, if true all whitespace is removed from the input string prior to scrambling its contents.


Returns the scrambled string.

Will throw an error if the input is not a string.


scrambleArray<ArrayType>(input: ArrayType[]): ArrayType[]

Scrambles the elements of an array.

input - The array to be scrambled.


Returns the scrambled array.

Will throw an error if the input is not an array.


โœจ Examples

example.mts

import { scrambleString, scrambleArray } from '@igor.dvlpr/scramble'

// these are just sample outputs
// since each invocation reorders
// elements randomly

console.log(scrambleString(
  'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'
)) // returns 'Leorm isupm dloor sit aetm, ccotnsueetr asdincipig eitl.'

console.log(scrambleString(
  'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', { trimWhitespace: true }
)) // returns 'Lpetssgerodcsctcmuaunelrteiisoomirlait,toindmipe.'

console.log(scrambleArray([1, 2, 3, 4, 5, 6, 7, 8])) // [5, 7, 1, 4, 2, 8, 3, 6]


๐Ÿ“ Changelog

๐Ÿ“‘ The changelog is available here: CHANGELOG.md.


๐Ÿชช License

Licensed under the MIT license which is available here, MIT license.


@igor.dvlpr/uarray

๐ŸŽ‰ Provides UArray, an Array type that supports negative indices/indexes, just wrap your regular JavaScript array with UArray() and you are all set! ๐Ÿ™Œ


@igor.dvlpr/magic-string

๐Ÿงต An expressive and chainable library for advanced string manipulations. Supports appending, prepending, trimming, quoting, and path formatting with customizable whitespace handling. Makes advanced String manipulations a piece of cake. ๐Ÿฆฅ


@igor.dvlpr/strip-html

๐Ÿฅž Removes HTML code from the given string. Can even extract text-only from the given an HTML string. โœจ


@igor.dvlpr/extendable-string

๐Ÿฆ€ ExtendableString allows you to create strings on steroids that have custom transformations applied to them, unlike common, plain strings. ๐Ÿช€


@igor.dvlpr/duoscribi

โœ’ DรบรถScrรญbรฎ allows you to convert letters with diacritics to regular letters. ๐Ÿค“


๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป Author

Created by Igor Dimitrijeviฤ‡ (@igorskyflyer).

Keywords

FAQs

Package last updated on 04 Aug 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with โšก๏ธ by Socket Inc