Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 3x 3x 3x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | import { AmaliaFunctionCategory, AmaliaFunctionKeys, type AmaliaFormula } from '@amalia/amalia-lang/formula/types';
import { assert } from '@amalia/ext/typescript';
import { AmaliaFunctionDefault } from '../../AmaliaFunction';
export const stringLeft = new AmaliaFunctionDefault<[string | null | undefined, number | undefined], string>({
name: AmaliaFunctionKeys.LEFT,
category: AmaliaFunctionCategory.STRING,
nbParamsRequired: 1,
description: 'Return the left part of a string based on a given number of characters',
exec: (text, numChars) => {
assert(text !== null && text !== undefined, `${AmaliaFunctionKeys.LEFT}: source string is null or undefined`);
return text.toString().substring(0, numChars || 1);
},
params: [
{ name: 'string', description: 'String: variables, fields, properties, string' },
{ name: 'numChars', description: 'Number of characters to take, by default it is 1', defaultValue: '1' },
],
examples: [
{
desc: 'Returns co.',
formula: 'LEFT("commission", 2)' as AmaliaFormula,
result: 'co',
},
{
desc: 'Returns c.',
formula: 'LEFT("commission")' as AmaliaFormula,
result: 'c',
},
{
desc: 'Returns commission.',
formula: 'LEFT("commission", 24)' as AmaliaFormula,
result: 'commission',
},
],
});
|