7.8 KiB
@resultium/utils - v1.0.0-alpha.0 / Exports
@resultium/utils - v1.0.0-alpha.0
Table of contents
Functions
- capitalizeFirstChar
- classNames
- conditionalJoin
- isDeepWeakEqual
- randomInRange
- removeFromArrayByKeyValue
- removeObjectProperty
- replaceFromArrayByKeyValue
- splitIntoChunks
Functions
capitalizeFirstChar
▸ capitalizeFirstChar(string): string
Capitalizes first character of the given string
Parameters
| Name | Type | Description |
|---|---|---|
string |
string |
string to modify |
Returns
string
new string
Example
// Prints "Lorem ipsum"
console.log(capitalizeFirstChar("lorem ipsum"))
Defined in
functions/capitalizeFirstChar.ts:32
classNames
▸ classNames(...classes): string
Conditionally joins given class strings
Parameters
| Name | Type | Description |
|---|---|---|
...classes |
string[] |
class strings to join |
Returns
string
new string
Example
let isVisible = false
// prints "bg-blue-300 hidden"
console.log(classNames("bg-blue-300", isVisible ? "block" : "hidden"))
Defined in
conditionalJoin
▸ conditionalJoin(array, joinChar): string
Conditionally joins given strings
Parameters
| Name | Type | Description |
|---|---|---|
array |
string[] |
strings to join |
joinChar |
string |
character used to join strings |
Returns
string
new string
Example
let isAdmin = true
// prints "Hello, Administrator!"
console.log(conditionalJoin(["Hello,", isAdmin ? "Administrator!" : "User!"], " "))
Defined in
functions/conditionalJoin.ts:35
isDeepWeakEqual
▸ isDeepWeakEqual(obj1, obj2): boolean
Weakly compares two objects
Parameters
| Name | Type | Description |
|---|---|---|
obj1 |
object |
first object for comparison |
obj2 |
object |
second object for comparison |
Returns
boolean
true if equal
Remarks
uses JSON.stringify()
Example
// prints false
console.log(isDeepWeakEqual({ a: 1 }, ["lorem"]))
// prints true
console.log(isDeepWeakEqual({ a: 1 }, { a: 1 }))
// prints true
// snippet displaying the weak equality of this function
console.log(
isDeepWeakEqual(
{ date: "2024-03-12T18:19:50.548Z" },
{ date: new Date(1710267590548) },
),
);
Defined in
functions/isDeepWeakEqual.ts:47
randomInRange
▸ randomInRange(min, max): number
Returns a pseudo-random number in given range
Parameters
| Name | Type | Description |
|---|---|---|
min |
number |
minimum acceptable value |
max |
number |
maximum acceptable value |
Returns
number
number [min; max]
Remarks
Uses Math.random(), which is not cryptographically secure Returns only integers
Example
// prints 66
console.log(randomInRange(1, 100))
Defined in
removeFromArrayByKeyValue
▸ removeFromArrayByKeyValue<T>(array, keyValue): T[]
Removes an object from an array by key value object.
Type parameters
| Name |
|---|
T |
Parameters
| Name | Type | Description |
|---|---|---|
array |
T[] |
array which shall be manipulated with |
keyValue |
Partial<{ [K in string | number | symbol]: T[K] }> |
key-value object which defines which object shall be removed from the array |
Returns
T[]
modified array
Remarks
This method doesn't support deep comparements. Vulnerable to generic object injection sink
Example
// prints [{ a: "1", b: "0" }, { a: "2", b: "0" }]
console.log(removeFromArrayByKeyValue([{ a: "1", b: "0" }, { a: "2", b: "0" }, { a: "3", b: "0" }], { a: "3" }))
// prints []
console.log(removeFromArrayByKeyValue([{ a: "1", b: "0" }, { a: "2", b: "0" }, { a: "3", b: "0" }], { b: "0" }))
Defined in
functions/removeFromArrayByKeyValue.ts:40
removeObjectProperty
▸ removeObjectProperty<T, K>(object, key): Omit<T, K>
Removes an object property by provided key
Type parameters
| Name | Type |
|---|---|
T |
T |
K |
extends string | number | symbol |
Parameters
| Name | Type | Description |
|---|---|---|
object |
T |
object which shall be manipulated |
key |
K |
key which should be used to remove a property from object |
Returns
Omit<T, K>
new object
Example
// print { a: "1", b: "2" }
console.log(removeObjectProperty({ a: "1", b: "2", c: "3" }, "c"))
Defined in
functions/removeObjectProperty.ts:33
replaceFromArrayByKeyValue
▸ replaceFromArrayByKeyValue<T>(array, keyValue, newObject): T[]
Replaces an object from an array with key value object search
Type parameters
| Name |
|---|
T |
Parameters
| Name | Type | Description |
|---|---|---|
array |
T[] |
array which shall be manipulated with |
keyValue |
Partial<{ [K in string | number | symbol]: T[K] }> |
key-value object which defines which object shall be removed from the array |
newObject |
Partial<{ [K in string | number | symbol]: T[K] }> |
object or values to replace within the searched object |
Returns
T[]
modified array
Remarks
This method doesn't support deep comparements. Vulnerable to generic object injection sink
Example
// prints [{ a: "1", b: "0" }, { a: "2", b: "0" }, { a: "3", b: "lorem" }]
console.log(replaceFromArrayByKeyValue([{ a: "1", b: "0" }, { a: "2", b: "0" }, { a: "3", b: "0" }], { a: "3" }, { b: "lorem" }))
// prints [{ a: "lorem", b: "0" }, { a: "2", b: "0" }, { a: "3", b: "0" }]
// replaces only the first occurance
console.log(replaceFromArrayByKeyValue([{ a: "1", b: "0" }, { a: "2", b: "0" }, { a: "3", b: "0" }], { b: "0" }, { a: "lorem" }))
Defined in
functions/replaceFromArrayByKeyValue.ts:42
splitIntoChunks
▸ splitIntoChunks<T>(array, chunkSize): T[][]
Splits an array into chunks
Type parameters
| Name |
|---|
T |
Parameters
| Name | Type | Description |
|---|---|---|
array |
T[] |
array which shall be split into chunks |
chunkSize |
number |
size of a single chunk |
Returns
T[][]
array of chunks
Example
// prints [["a", "b", "c"], ["d", "e", "f"]]
console.log(splitIntoChunks(["a", "b", "c", "d", "e", "f"], 3));