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 42 43 44 45 46 | 1x 1x 1x 1x 1x 1x 1x 1x 67x 68x 68x 68x 68x 68x 68x 68x 68x 68x 68x 68x 68x 68x 68x 68x 68x 68x 68x 68x 68x 68x 68x 68x 68x 68x 68x 68x 68x 68x 68x 68x 68x 68x 68x 68x 1x | import { AmaliaFunctionCategory, AmaliaFunctionKeys, type AmaliaFormula } from '@amalia/amalia-lang/formula/types';
import { TokenType } from '@amalia/amalia-lang/tokens/types';
import { FormatsEnum } from '@amalia/data-capture/fields/types';
import { dayjs } from '@amalia/ext/dayjs';
import { AmaliaFunctionDefault } from '../../AmaliaFunction';
import { type ComputeEngineDayjsInput } from '../dates.types';
export const datesEndOfYear = new AmaliaFunctionDefault<[ComputeEngineDayjsInput], number>({
name: AmaliaFunctionKeys.endOfYear,
category: AmaliaFunctionCategory.DATES,
nbParamsRequired: 1,
description: 'Return the last day of year of a given date',
exec: (date: ComputeEngineDayjsInput): number => dayjs(date, 'X').endOf('year').startOf('day').unix(),
params: [
{
name: 'date',
description:
'Date to apply function on: variables, properties, fields, keywords or date with format toDate("YYYY-MM-DD")',
validTokenTypes: [TokenType.VARIABLE, TokenType.PROPERTY, TokenType.FIELD, TokenType.KEYWORD, TokenType.FUNCTION],
validTokenValues: {
[TokenType.FUNCTION]: [AmaliaFunctionKeys.toDate],
},
validFormats: [FormatsEnum.date, FormatsEnum['date-time']],
},
],
examples: [
{
desc: 'Returns "2023-12-31"',
formula: 'endOfYear(toDate("2023-05-19"))' as AmaliaFormula,
result: 1_703_980_800,
},
{
desc: "Returns last day of year of the user's plan assignment start date.",
formula: 'endOfYear(planAssignement.effectiveAsOf)' as AmaliaFormula,
},
{
desc: 'Returns last day of year of opportunity close date.',
formula: 'endOfYear(opportunity.closeDate)' as AmaliaFormula,
},
],
});
|