
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
log-builder
Advanced tools
LogBuilderRepository is a TypeScript utility that processes expressions with references to source and target data. It supports various functions such as string manipulation, mathematical operations, conditional evaluations, and logical comparisons.
Concatenates multiple values into a single string.
Usage:
CONCAT([value1, value2, ...])
Example:
CONCAT(["Hello", " ", "World"]) → "Hello World"
Adds multiple numbers together.
Usage:
ADD([num1, num2, ...])
Example:
ADD([5, 10]) → 15
Divides two numbers.
Usage:
DIVIDE([num1, num2])
Example:
DIVIDE([10, 2]) → 5
Returns null if division by zero.
Multiplies multiple numbers together.
Usage:
MULTIPLY([num1, num2, ...])
Example:
MULTIPLY([3, 4]) → 12
Finds the minimum value among the given numbers.
Usage:
MIN([num1, num2, ...])
Example:
MIN([5, 10, 2]) → 2
Finds the maximum value among the given numbers.
Usage:
MAX([num1, num2, ...])
Example:
MAX([5, 10, 2]) → 10
Extracts the rightmost characters of a string.
Usage:
RIGHT([length, string])
Example:
RIGHT([3, "Hello"]) → "llo"
Extracts the leftmost characters of a string.
Usage:
LEFT([length, string])
Example:
LEFT([3, "Hello"]) → "Hel"
Compares two values with an operator.
Usage:
COMPARE([value1, operator, value2])
Example:
COMPARE([10, ">", 5]) → true
Supported operators: >, <, >=, <=, =, !=, like*, *like, *like*, in, range
Conditional function returning one value if true, another if false.
Usage:
IF([condition, trueValue, falseValue])
Example:
IF([COMPARE([5, ">", 3]), "Yes", "No"]) → "Yes"
Returns true if all conditions are true, otherwise false.
Usage:
AND([condition1, condition2, ...])
Example:
AND([COMPARE([10, ">", 5]), COMPARE([3, "<", 7])]) → true
Returns true if at least one condition is true, otherwise false.
Usage:
OR([condition1, condition2, ...])
Example:
OR([COMPARE([2, ">", 5]), COMPARE([7, ">", 3])]) → true
collect all json object.
Usage:
{
"source":{
"data1":"1",
"nested":{
"yohohoh":"ok",
"nested2":{
"yohihi":"hihi"
}
}
},
"builder":{
"COLLECT":"S._ALL",
"data1":"CONCAT([S.data1,YUHU])"
},
"target":{}
}
// output
{
"data1": "1YUHU",
"nested": {
"yohohoh": "ok",
"nested2": {
"yohihi": "hihi"
}
}
}
const repository = new LogBuilderRepository();
const source = { name: 'John', age: 30 };
const target = {};
const result = repository.evaluateExpression('CONCAT(["Hello ", source.name])', source, target);
console.log(result); // Output: "Hello John"
Install via npm:
npm install log-builder
This project is licensed under the ESA D. Portgas
FAQs
A repository for building log expressions and evaluating them.
We found that log-builder demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

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.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.