Skip to content

Documentation / @andrew_l/toolkit / strAssign

Function: strAssign() ​

strAssign<T>(str, obj, method): string

Replaces placeholders in the input string with values from the provided object. The placeholders are denoted by syntax, where key is a property name in the object. The function optionally allows a custom method to handle how the values are retrieved from the object.

Type Parameters ​

T ​

T extends object

Parameters ​

str ​

string

The string with placeholders to be replaced. Placeholders are in the form of .

obj ​

T

The object whose properties will be used to replace the placeholders in the string.

method ​

(obj, key) => any

An optional custom method to retrieve values from the object. The default method retrieves the values by accessing the object property directly using the key.

Returns ​

string

The string with placeholders replaced by the corresponding values from the object.

Examples ​

ts
const context = { name: 'Andrew', age: 30 };
console.log(strAssign('Hey {{ name }}! You are {{ age }} years old.', context));
// Output: 'Hey Andrew! You are 30 years old.'
ts
// Using a custom method
const context2 = { firstName: 'Andrew', lastName: 'L.' };
const customMethod = (obj, key) => {
  if (key === 'name') {
    return obj.firstName + ' ' + obj.lastName;
  }
  return obj[key];
};
console.log(strAssign('Hello {{ name }}!', context2, customMethod));
// Output: 'Hello Andrew L.!'