1.0.6 • Published 14 days ago

simpul v1.0.6

Weekly downloads
5
License
ISC
Repository
github
Last release
14 days ago

simpul

Library of (mostly) simple functions I happen to use in a lot of projects...

  • NOTE: "Table of Contents" needs updating...

Note on "Can't Resolve" Errors:

If you receive errors regarding missing modules or modules that can't be resolved (which is common in front-end frameworks like React or Gatsby), you might need to add something like the following to your projects root configs:

actions.setWebpackConfig({
  node: {
    fs: 'empty',
    tls: 'empty',
    net: 'empty',
    child_process: 'empty'
  }
})

Table of Contents

  1. capitalize
  2. changeArrayIndex
  3. changeCase
    1. camelToSnake
    2. snakeToCamel
    3. camelCase
    4. unCamelCase
  4. clone
  5. formattedTimestamp
  6. getQueryParam
  7. logti
  8. objectFlat
  9. reduceKeysToObject
  10. removeSpaces
  11. sort
    1. byAlphabetKey
    2. byDateKey
  12. stringExists
  13. stringLength
    1. char
    2. words

capitalize

Capitalizes first letter in a string.

capitalize("this is a sentence.");

// This is a sentence.

changeArrayIndex

Change the index of an item in an array.

changeArrayIndex([1, 2, 3, 4], 1, 3);

// [1, 3, 4, 2]

changeCase

camelToSnake

Change case of string from camelCase to snake_case.

changeCase.camelToSnake("nameOfSomething");

// name_of_something

snakeToCamel

Change case of string from snake_case to camelCase.

changeCase.snakeToCamel("name_of_something");

// nameOfSomething

camelCase

Change case of string to camelCase.

changeCase.snakeToCamel("this is a string");

// thisIsAString

unCamelCase

Change case of string from camelCase to normal Case.

changeCase.unCamelCase("thisIsAString");

// this is a string

clone

Deep clone an array or object.

const arr = [1, 2, 3, 4];
const copy = clone(arr);

copy.forEach((num, index) => (copy[index] = num + index));

// arr remains [1, 2, 3, 4]
// copy changes without changing corresponding reference in arr [1, 3, 5, 7]

formattedTimestamp

Return Date object in a readable, numbered format.

Options include: M for month, D for day, Y for year, h for hour, m for minute, and p for AM/PM.

Default format: M/D/Y h:m p

formattedTimestamp(new Date(), "D-M-Y");

// 23-04-2020

logti

Simple logging with timestamps.

Accepts one param. It can be a string or an object that contains a string value.

Sample:

aPromiseFunction
  .then((res) => logti("Promise resolved."))
  .catch((err) => logti(err));

// [02/29/2020 10:53 AM] Promise resolved.
// or...
// [02/29/2020 10:53 AM] Something went wrong in function.

objectFlat

Flatten nested objects to base level.

objectFlat({ a: { b: { c: "hello" } } });

// { c: "hello" }

reduceKeysToObject

Takes an array of strings and converts them to an object with assigned values.

reduceKeysToObject(["a", "b"], (key, index) => `${key}_${index}`);

// { a: "a_0", b: "b_1" }

removeSpaces

Removes all spaces in a string.

removeSpaces("this is a string.");

// "thisisastring."

sort

byAlphabetKey

Sorts an array of objects by a string-value key by comparing string-values in lower case.

sort.byAlphabetKey([{ a: "this", b: "is" }, { a: "boo", b: "you" }], "a");

// [ { a: 'boo', b: 'you' }, { a: 'this', b: 'is' } ]

byDateKey

Sorts an array of objects by a date-value key.

sort.byDateKey(
  [{ a: new Date(), b: "is" }, { a: new Date() - 40, b: "you" }],
  "a"
);

// [
//   { a: 1587648103928, b: 'you' },
//   { a: 2020-04-23T13:21:43.968Z, b: 'is' }
// ]

stringExists

Checks if value exists, is a string, and is not an empty string

stringExists("   ");

// null

stringExists("   hello");

// "hello"

stringLength

char

Returns character length of string.

stringLength.char("this is a string");

// 17

words

Returns word length of string.

stringLength.words("this is a string.");

// 4
1.0.6

14 days ago

1.0.5

1 month ago

1.0.4

2 months ago

1.0.2

2 months ago

1.0.3

2 months ago

1.0.1

3 months ago

1.0.0

3 months ago

0.9.9

4 months ago

0.9.8

4 months ago

0.9.7

4 months ago

0.9.6

5 months ago

0.9.4

5 months ago

0.9.5

5 months ago

0.9.3

11 months ago

0.9.2

2 years ago

0.8.9

2 years ago

0.8.8

2 years ago

0.8.7

2 years ago

0.9.0

2 years ago

0.9.1

2 years ago

0.8.5

2 years ago

0.8.4

2 years ago

0.8.6

2 years ago

0.8.1

2 years ago

0.8.3

2 years ago

0.8.2

2 years ago

0.7.9

2 years ago

0.7.6

2 years ago

0.7.8

2 years ago

0.7.7

2 years ago

0.8.0

2 years ago

0.7.4

3 years ago

0.7.3

3 years ago

0.7.5

2 years ago

0.7.2

3 years ago

0.7.1

3 years ago

0.6.7

3 years ago

0.6.6

3 years ago

0.6.9

3 years ago

0.6.8

3 years ago

0.7.0

3 years ago

0.5.8

3 years ago

0.5.7

3 years ago

0.5.9

3 years ago

0.6.3

3 years ago

0.6.2

3 years ago

0.6.5

3 years ago

0.6.4

3 years ago

0.6.1

3 years ago

0.6.0

3 years ago

0.5.6

3 years ago

0.5.5

3 years ago

0.5.4

3 years ago

0.5.3

3 years ago

0.5.0

3 years ago

0.5.2

3 years ago

0.5.1

3 years ago

0.4.9

3 years ago

0.4.8

3 years ago

0.4.7

3 years ago

0.4.6

3 years ago

0.4.5

3 years ago

0.4.4

3 years ago

0.4.3

3 years ago

0.4.2

3 years ago

0.3.9

3 years ago

0.4.1

3 years ago

0.4.0

3 years ago

0.3.8

3 years ago

0.3.7

4 years ago

0.3.6

4 years ago

0.3.5

4 years ago

0.3.4

4 years ago

0.3.3

4 years ago

0.3.2

4 years ago

0.3.1

4 years ago

0.3.0

4 years ago

0.2.9

4 years ago

0.2.8

4 years ago

0.2.7

4 years ago

0.2.6

4 years ago

0.2.5

4 years ago

0.2.4

4 years ago

0.2.3

4 years ago

0.2.2

4 years ago

0.2.1

4 years ago

0.2.0

4 years ago

0.1.9

4 years ago

0.1.8

4 years ago

0.1.7

4 years ago

0.1.6

4 years ago

0.1.5

4 years ago

0.1.4

4 years ago

0.1.3

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago

0.0.9

4 years ago

0.0.8

4 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago

0.0.0

4 years ago