twing
Version:
First-class Twig engine for Node.js
975 lines (974 loc) • 44.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createSynchronousCoreExtension = exports.createCoreExtension = void 0;
const and_1 = require("../node/expression/binary/and");
const is_in_1 = require("../node/expression/binary/is-in");
const is_greater_than_1 = require("../node/expression/binary/is-greater-than");
const is_less_than_1 = require("../node/expression/binary/is-less-than");
const not_1 = require("../node/expression/unary/not");
const negative_1 = require("../node/expression/unary/negative");
const positive_1 = require("../node/expression/unary/positive");
const function_1 = require("../function");
const concatenate_1 = require("../node/expression/binary/concatenate");
const multiply_1 = require("../node/expression/binary/multiply");
const divide_1 = require("../node/expression/binary/divide");
const divide_and_floor_1 = require("../node/expression/binary/divide-and-floor");
const modulo_1 = require("../node/expression/binary/modulo");
const subtract_1 = require("../node/expression/binary/subtract");
const add_1 = require("../node/expression/binary/add");
const range_1 = require("../node/expression/binary/range");
const is_equal_to_1 = require("../node/expression/binary/is-equal-to");
const is_not_equal_to_1 = require("../node/expression/binary/is-not-equal-to");
const or_1 = require("../node/expression/binary/or");
const bitwise_or_1 = require("../node/expression/binary/bitwise-or");
const bitwise_xor_1 = require("../node/expression/binary/bitwise-xor");
const bitwise_and_1 = require("../node/expression/binary/bitwise-and");
const is_greater_than_or_equal_to_1 = require("../node/expression/binary/is-greater-than-or-equal-to");
const is_less_than_or_equal_to_1 = require("../node/expression/binary/is-less-than-or-equal-to");
const is_not_in_1 = require("../node/expression/binary/is-not-in");
const nullish_coalescing_1 = require("../node/expression/nullish-coalescing");
const power_1 = require("../node/expression/binary/power");
const test_1 = require("../test");
const matches_1 = require("../node/expression/binary/matches");
const starts_with_1 = require("../node/expression/binary/starts-with");
const ends_with_1 = require("../node/expression/binary/ends-with");
const filter_1 = require("../filter");
const operator_1 = require("../operator");
const is_even_1 = require("./core/tests/is-even");
const is_odd_1 = require("./core/tests/is-odd");
const is_same_as_1 = require("./core/tests/is-same-as");
const is_null_1 = require("./core/tests/is-null");
const is_divisible_by_1 = require("./core/tests/is-divisible-by");
const min_1 = require("./core/functions/min");
const max_1 = require("./core/functions/max");
const date_1 = require("./core/filters/date");
const date_modify_1 = require("./core/filters/date-modify");
const format_1 = require("./core/filters/format");
const replace_1 = require("./core/filters/replace");
const number_format_1 = require("./core/filters/number_format");
const abs_1 = require("./core/filters/abs");
const url_encode_1 = require("./core/filters/url_encode");
const json_encode_1 = require("./core/filters/json-encode");
const convert_encoding_1 = require("./core/filters/convert-encoding");
const title_1 = require("./core/filters/title");
const capitalize_1 = require("./core/filters/capitalize");
const upper_1 = require("./core/filters/upper");
const lower_1 = require("./core/filters/lower");
const striptags_1 = require("./core/filters/striptags");
const trim_1 = require("./core/filters/trim");
const nl2br_1 = require("./core/filters/nl2br");
const raw_1 = require("./core/filters/raw");
const join_1 = require("./core/filters/join");
const split_1 = require("./core/filters/split");
const sort_1 = require("./core/filters/sort");
const merge_1 = require("./core/filters/merge");
const batch_1 = require("./core/filters/batch");
const reverse_1 = require("./core/filters/reverse");
const length_1 = require("./core/filters/length");
const slice_1 = require("./core/filters/slice");
const first_1 = require("./core/filters/first");
const last_1 = require("./core/filters/last");
const default_1 = require("./core/filters/default");
const escape_1 = require("./core/filters/escape");
const round_1 = require("./core/filters/round");
const include_1 = require("./core/functions/include");
const keys_1 = require("./core/filters/keys");
const spaceless_1 = require("./core/filters/spaceless");
const column_1 = require("./core/filters/column");
const filter_2 = require("./core/filters/filter");
const map_1 = require("./core/filters/map");
const reduce_1 = require("./core/filters/reduce");
const range_2 = require("./core/functions/range");
const constant_1 = require("./core/functions/constant");
const cycle_1 = require("./core/functions/cycle");
const random_1 = require("./core/functions/random");
const source_1 = require("./core/functions/source");
const template_from_string_1 = require("./core/functions/template-from-string");
const dump_1 = require("./core/functions/dump");
const is_empty_1 = require("./core/tests/is-empty");
const is_iterable_1 = require("./core/tests/is-iterable");
const date_2 = require("./core/functions/date");
const is_defined_1 = require("./core/tests/is-defined");
const is_constant_1 = require("./core/tests/is-constant");
const spaceship_1 = require("../node/expression/binary/spaceship");
const has_every_1 = require("../node/expression/binary/has-every");
const has_some_1 = require("../node/expression/binary/has-some");
const getOperators = () => {
return [
(0, operator_1.createOperator)('not', "UNARY", 50, (operands, line, column) => {
return (0, not_1.createNotNode)(operands[0], line, column);
}),
(0, operator_1.createOperator)('-', "UNARY", 500, (operands, line, column) => {
return (0, negative_1.createNegativeNode)(operands[0], line, column);
}),
(0, operator_1.createOperator)('+', "UNARY", 500, (operands, line, column) => {
return (0, positive_1.createPositiveNode)(operands[0], line, column);
}),
(0, operator_1.createOperator)('or', "BINARY", 10, (operands, line, column) => {
return (0, or_1.createOrNode)(operands, line, column);
}),
(0, operator_1.createOperator)('and', "BINARY", 15, (operands, line, column) => {
return (0, and_1.createAndNode)(operands, line, column);
}),
(0, operator_1.createOperator)('b-or', "BINARY", 16, (operands, line, column) => {
return (0, bitwise_or_1.createBitwiseOrNode)(operands, line, column);
}),
(0, operator_1.createOperator)('b-xor', "BINARY", 17, (operands, line, column) => {
return (0, bitwise_xor_1.createBitwiseXorNode)(operands, line, column);
}),
(0, operator_1.createOperator)('b-and', "BINARY", 18, (operands, line, column) => {
return (0, bitwise_and_1.createBitwiseAndNode)(operands, line, column);
}),
(0, operator_1.createOperator)('==', "BINARY", 20, (operands, line, column) => {
return (0, is_equal_to_1.createIsEqualNode)(operands, line, column);
}),
(0, operator_1.createOperator)('!=', "BINARY", 20, (operands, line, column) => {
return (0, is_not_equal_to_1.createIsNotEqualToNode)(operands, line, column);
}),
(0, operator_1.createOperator)('<=>', "BINARY", 20, (operands, line, column) => {
return (0, spaceship_1.createSpaceshipNode)(operands, line, column);
}),
(0, operator_1.createOperator)('<', "BINARY", 20, (operands, line, column) => {
return (0, is_less_than_1.createIsLessThanNode)(operands, line, column);
}),
(0, operator_1.createOperator)('<=', "BINARY", 20, (operands, line, column) => {
return (0, is_less_than_or_equal_to_1.createIsLessThanOrEqualToNode)(operands, line, column);
}),
(0, operator_1.createOperator)('>', "BINARY", 20, (operands, line, column) => {
return (0, is_greater_than_1.createIsGreaterThanNode)(operands, line, column);
}),
(0, operator_1.createOperator)('>=', "BINARY", 20, (operands, line, column) => {
return (0, is_greater_than_or_equal_to_1.createIsGreaterThanOrEqualToNode)(operands, line, column);
}),
(0, operator_1.createOperator)('not in', "BINARY", 20, (operands, line, column) => {
return (0, is_not_in_1.createIsNotInNode)(operands, line, column);
}),
(0, operator_1.createOperator)('in', "BINARY", 20, (operands, line, column) => {
return (0, is_in_1.createIsInNode)(operands, line, column);
}),
(0, operator_1.createOperator)('matches', "BINARY", 20, (operands, line, column) => {
return (0, matches_1.createMatchesNode)(operands, line, column);
}),
(0, operator_1.createOperator)('starts with', "BINARY", 20, (operands, line, column) => {
return (0, starts_with_1.createStartsWithNode)(operands, line, column);
}),
(0, operator_1.createOperator)('ends with', "BINARY", 20, (operands, line, column) => {
return (0, ends_with_1.createEndsWithNode)(operands, line, column);
}),
(0, operator_1.createOperator)('has some', "BINARY", 20, (operands, line, column) => {
return (0, has_some_1.createHasSomeNode)(operands, line, column);
}, "LEFT", 3),
(0, operator_1.createOperator)('has every', "BINARY", 20, (operands, line, column) => {
return (0, has_every_1.createHasEveryNode)(operands, line, column);
}, "LEFT", 3),
(0, operator_1.createOperator)('..', "BINARY", 25, (operands, line, column) => {
return (0, range_1.createRangeNode)(operands, line, column);
}),
(0, operator_1.createOperator)('+', "BINARY", 30, (operands, line, column) => {
return (0, add_1.createAddNode)(operands, line, column);
}),
(0, operator_1.createOperator)('-', "BINARY", 30, (operands, line, column) => {
return (0, subtract_1.createSubtractNode)(operands, line, column);
}),
(0, operator_1.createOperator)('~', "BINARY", 40, (operands, line, column) => {
return (0, concatenate_1.createConcatenateNode)(operands, line, column);
}),
(0, operator_1.createOperator)('*', "BINARY", 60, (operands, line, column) => {
return (0, multiply_1.createMultiplyNode)(operands, line, column);
}),
(0, operator_1.createOperator)('/', "BINARY", 60, (operands, line, column) => {
return (0, divide_1.createDivideNode)(operands, line, column);
}),
(0, operator_1.createOperator)('//', "BINARY", 60, (operands, line, column) => {
return (0, divide_and_floor_1.createDivideAndFloorNode)(operands, line, column);
}),
(0, operator_1.createOperator)('%', "BINARY", 60, (operands, line, column) => {
return (0, modulo_1.createModuloNode)(operands, line, column);
}),
(0, operator_1.createOperator)('**', "BINARY", 200, (operands, line, column) => {
return (0, power_1.createPowerNode)(operands, line, column);
}, "RIGHT"),
(0, operator_1.createOperator)('??', "BINARY", 300, (operands, line, column) => {
return (0, nullish_coalescing_1.createNullishCoalescingNode)(operands, line, column);
}, "RIGHT")
];
};
const createCoreExtension = () => {
return {
get filters() {
const escapeFilters = ['escape', 'e'].map((name) => {
return (0, filter_1.createFilter)(name, (escape_1.escape), [
{
name: 'strategy',
defaultValue: null
},
{
name: 'charset',
defaultValue: null
}
]);
});
return [
...escapeFilters,
(0, filter_1.createFilter)('abs', abs_1.abs, []),
(0, filter_1.createFilter)('batch', batch_1.batch, [
{
name: 'size'
},
{
name: 'fill',
defaultValue: null
},
{
name: 'preserve_keys',
defaultValue: true
}
]),
(0, filter_1.createFilter)('capitalize', capitalize_1.capitalize, []),
(0, filter_1.createFilter)('column', column_1.column, [
{
name: 'name'
}
]),
(0, filter_1.createFilter)('convert_encoding', (convert_encoding_1.convertEncoding), [
{
name: 'to'
},
{
name: 'from'
}
]),
(0, filter_1.createFilter)('date', date_1.date, [
{
name: 'format',
defaultValue: null
},
{
name: 'timezone',
defaultValue: null
}
]),
(0, filter_1.createFilter)('date_modify', date_modify_1.dateModify, [
{
name: 'modifier'
}
]),
(0, filter_1.createFilter)('default', default_1.defaultFilter, [
{
name: 'default',
defaultValue: null
}
]),
(0, filter_1.createFilter)('filter', filter_2.filter, [
{
name: 'array'
},
{
name: 'arrow',
defaultValue: null
}
]),
(0, filter_1.createFilter)('first', first_1.first, []),
(0, filter_1.createFilter)('format', format_1.format, [], {
is_variadic: true
}),
(0, filter_1.createFilter)('join', join_1.join, [
{
name: 'glue',
defaultValue: ''
},
{
name: 'and',
defaultValue: null
}
]),
(0, filter_1.createFilter)('json_encode', json_encode_1.jsonEncode, [
{
name: 'options',
defaultValue: null
}
]),
(0, filter_1.createFilter)('keys', keys_1.keys, []),
(0, filter_1.createFilter)('last', last_1.last, []),
(0, filter_1.createFilter)('length', length_1.length, []),
(0, filter_1.createFilter)('lower', lower_1.lower, []),
(0, filter_1.createFilter)('map', map_1.map, [
{
name: 'arrow'
}
]),
(0, filter_1.createFilter)('merge', merge_1.merge, [
{
name: 'source'
}
]),
(0, filter_1.createFilter)('nl2br', nl2br_1.nl2br, []),
(0, filter_1.createFilter)('number_format', number_format_1.numberFormat, [
{
name: 'decimal',
defaultValue: null
},
{
name: 'decimal_point',
defaultValue: null
},
{
name: 'thousand_sep',
defaultValue: null
}
]),
(0, filter_1.createFilter)('raw', raw_1.raw, []),
(0, filter_1.createFilter)('reduce', reduce_1.reduce, [
{
name: 'arrow'
},
{
name: 'initial',
defaultValue: null
}
]),
(0, filter_1.createFilter)('replace', replace_1.replace, [
{
name: 'from'
}
]),
(0, filter_1.createFilter)('reverse', reverse_1.reverse, [
{
name: 'preserve_keys',
defaultValue: false
}
]),
(0, filter_1.createFilter)('round', round_1.round, [
{
name: 'precision',
defaultValue: 0
},
{
name: 'method',
defaultValue: 'common'
}
]),
(0, filter_1.createFilter)('slice', slice_1.slice, [
{
name: 'start'
},
{
name: 'length',
defaultValue: null
},
{
name: 'preserve_keys',
defaultValue: false
}
]),
(0, filter_1.createFilter)('sort', sort_1.sort, [{
name: 'arrow',
defaultValue: null
}]),
(0, filter_1.createFilter)('spaceless', spaceless_1.spaceless, []),
(0, filter_1.createFilter)('split', split_1.split, [
{
name: 'delimiter'
},
{
name: 'limit',
defaultValue: null
}
]),
(0, filter_1.createFilter)('striptags', striptags_1.striptags, [
{
name: 'allowable_tags',
defaultValue: ''
}
]),
(0, filter_1.createFilter)('title', title_1.title, []),
(0, filter_1.createFilter)('trim', trim_1.trim, [
{
name: 'character_mask',
defaultValue: null
},
{
name: 'side',
defaultValue: 'both'
}
]),
(0, filter_1.createFilter)('upper', upper_1.upper, []),
(0, filter_1.createFilter)('url_encode', url_encode_1.url_encode, []),
];
},
get functions() {
return [
(0, function_1.createFunction)('constant', constant_1.constant, [
{ name: 'name' },
{ name: 'object', defaultValue: null }
]),
(0, function_1.createFunction)('cycle', cycle_1.cycle, [
{
name: 'values'
},
{
name: 'position'
}
]),
(0, function_1.createFunction)('date', date_2.date, [
{
name: 'date',
defaultValue: null
},
{
name: 'timezone',
defaultValue: null
}
]),
(0, function_1.createFunction)('dump', dump_1.dump, [], {
is_variadic: true
}),
(0, function_1.createFunction)('include', include_1.include, [
{
name: 'template'
},
{
name: 'variables',
defaultValue: {}
},
{
name: 'with_context',
defaultValue: true
},
{
name: 'ignore_missing',
defaultValue: false
},
{
name: 'sandboxed',
defaultValue: false
}
]),
(0, function_1.createFunction)('max', max_1.max, [], {
is_variadic: true
}),
(0, function_1.createFunction)('min', min_1.min, [], {
is_variadic: true
}),
(0, function_1.createFunction)('random', random_1.random, [
{
name: 'values',
defaultValue: null
},
{
name: 'max',
defaultValue: null
}
]),
(0, function_1.createFunction)('range', range_2.range, [
{
name: 'low'
},
{
name: 'high'
},
{
name: 'step',
defaultValue: 1
}
]),
(0, function_1.createFunction)('source', source_1.source, [
{
name: 'name'
},
{
name: 'ignore_missing',
defaultValue: false
}
]),
(0, function_1.createFunction)('template_from_string', template_from_string_1.templateFromString, [
{
name: 'template'
},
{
name: 'name',
defaultValue: null
}
])
];
},
get nodeVisitors() {
return [];
},
get operators() {
return [
(0, operator_1.createOperator)('not', "UNARY", 50, (operands, line, column) => {
return (0, not_1.createNotNode)(operands[0], line, column);
}),
(0, operator_1.createOperator)('-', "UNARY", 500, (operands, line, column) => {
return (0, negative_1.createNegativeNode)(operands[0], line, column);
}),
(0, operator_1.createOperator)('+', "UNARY", 500, (operands, line, column) => {
return (0, positive_1.createPositiveNode)(operands[0], line, column);
}),
(0, operator_1.createOperator)('or', "BINARY", 10, (operands, line, column) => {
return (0, or_1.createOrNode)(operands, line, column);
}),
(0, operator_1.createOperator)('and', "BINARY", 15, (operands, line, column) => {
return (0, and_1.createAndNode)(operands, line, column);
}),
(0, operator_1.createOperator)('b-or', "BINARY", 16, (operands, line, column) => {
return (0, bitwise_or_1.createBitwiseOrNode)(operands, line, column);
}),
(0, operator_1.createOperator)('b-xor', "BINARY", 17, (operands, line, column) => {
return (0, bitwise_xor_1.createBitwiseXorNode)(operands, line, column);
}),
(0, operator_1.createOperator)('b-and', "BINARY", 18, (operands, line, column) => {
return (0, bitwise_and_1.createBitwiseAndNode)(operands, line, column);
}),
(0, operator_1.createOperator)('==', "BINARY", 20, (operands, line, column) => {
return (0, is_equal_to_1.createIsEqualNode)(operands, line, column);
}),
(0, operator_1.createOperator)('!=', "BINARY", 20, (operands, line, column) => {
return (0, is_not_equal_to_1.createIsNotEqualToNode)(operands, line, column);
}),
(0, operator_1.createOperator)('<=>', "BINARY", 20, (operands, line, column) => {
return (0, spaceship_1.createSpaceshipNode)(operands, line, column);
}),
(0, operator_1.createOperator)('<', "BINARY", 20, (operands, line, column) => {
return (0, is_less_than_1.createIsLessThanNode)(operands, line, column);
}),
(0, operator_1.createOperator)('<=', "BINARY", 20, (operands, line, column) => {
return (0, is_less_than_or_equal_to_1.createIsLessThanOrEqualToNode)(operands, line, column);
}),
(0, operator_1.createOperator)('>', "BINARY", 20, (operands, line, column) => {
return (0, is_greater_than_1.createIsGreaterThanNode)(operands, line, column);
}),
(0, operator_1.createOperator)('>=', "BINARY", 20, (operands, line, column) => {
return (0, is_greater_than_or_equal_to_1.createIsGreaterThanOrEqualToNode)(operands, line, column);
}),
(0, operator_1.createOperator)('not in', "BINARY", 20, (operands, line, column) => {
return (0, is_not_in_1.createIsNotInNode)(operands, line, column);
}),
(0, operator_1.createOperator)('in', "BINARY", 20, (operands, line, column) => {
return (0, is_in_1.createIsInNode)(operands, line, column);
}),
(0, operator_1.createOperator)('matches', "BINARY", 20, (operands, line, column) => {
return (0, matches_1.createMatchesNode)(operands, line, column);
}),
(0, operator_1.createOperator)('starts with', "BINARY", 20, (operands, line, column) => {
return (0, starts_with_1.createStartsWithNode)(operands, line, column);
}),
(0, operator_1.createOperator)('ends with', "BINARY", 20, (operands, line, column) => {
return (0, ends_with_1.createEndsWithNode)(operands, line, column);
}),
(0, operator_1.createOperator)('has some', "BINARY", 20, (operands, line, column) => {
return (0, has_some_1.createHasSomeNode)(operands, line, column);
}, "LEFT", 3),
(0, operator_1.createOperator)('has every', "BINARY", 20, (operands, line, column) => {
return (0, has_every_1.createHasEveryNode)(operands, line, column);
}, "LEFT", 3),
(0, operator_1.createOperator)('..', "BINARY", 25, (operands, line, column) => {
return (0, range_1.createRangeNode)(operands, line, column);
}),
(0, operator_1.createOperator)('+', "BINARY", 30, (operands, line, column) => {
return (0, add_1.createAddNode)(operands, line, column);
}),
(0, operator_1.createOperator)('-', "BINARY", 30, (operands, line, column) => {
return (0, subtract_1.createSubtractNode)(operands, line, column);
}),
(0, operator_1.createOperator)('~', "BINARY", 40, (operands, line, column) => {
return (0, concatenate_1.createConcatenateNode)(operands, line, column);
}),
(0, operator_1.createOperator)('*', "BINARY", 60, (operands, line, column) => {
return (0, multiply_1.createMultiplyNode)(operands, line, column);
}),
(0, operator_1.createOperator)('/', "BINARY", 60, (operands, line, column) => {
return (0, divide_1.createDivideNode)(operands, line, column);
}),
(0, operator_1.createOperator)('//', "BINARY", 60, (operands, line, column) => {
return (0, divide_and_floor_1.createDivideAndFloorNode)(operands, line, column);
}),
(0, operator_1.createOperator)('%', "BINARY", 60, (operands, line, column) => {
return (0, modulo_1.createModuloNode)(operands, line, column);
}),
(0, operator_1.createOperator)('**', "BINARY", 200, (operands, line, column) => {
return (0, power_1.createPowerNode)(operands, line, column);
}, "RIGHT"),
(0, operator_1.createOperator)('??', "BINARY", 300, (operands, line, column) => {
return (0, nullish_coalescing_1.createNullishCoalescingNode)(operands, line, column);
}, "RIGHT")
];
},
get tagHandlers() {
return [];
},
get tests() {
return [
(0, test_1.createTest)('constant', is_constant_1.isConstant, [
{
name: 'constant'
},
{
name: 'object',
defaultValue: null
}
]),
(0, test_1.createTest)('divisible by', is_divisible_by_1.isDivisibleBy, [
{
name: 'divisor'
}
]),
(0, test_1.createTest)('defined', is_defined_1.isDefined, []),
(0, test_1.createTest)('empty', is_empty_1.isEmpty, []),
(0, test_1.createTest)('even', is_even_1.isEven, []),
(0, test_1.createTest)('iterable', is_iterable_1.isIterable, []),
(0, test_1.createTest)('none', is_null_1.isNull, []),
(0, test_1.createTest)('null', is_null_1.isNull, []),
(0, test_1.createTest)('odd', is_odd_1.isOdd, []),
(0, test_1.createTest)('same as', is_same_as_1.isSameAs, [
{
name: 'comparand'
}
]),
];
}
};
};
exports.createCoreExtension = createCoreExtension;
const createSynchronousCoreExtension = () => {
return {
get filters() {
const escapeFilters = ['escape', 'e'].map((name) => {
return (0, filter_1.createSynchronousFilter)(name, escape_1.escapeSynchronously, [
{
name: 'strategy',
defaultValue: null
},
{
name: 'charset',
defaultValue: null
}
]);
});
return [
...escapeFilters,
(0, filter_1.createSynchronousFilter)('abs', abs_1.absSynchronously, []),
(0, filter_1.createSynchronousFilter)('batch', batch_1.batchSynchronously, [
{
name: 'size'
},
{
name: 'fill',
defaultValue: null
},
{
name: 'preserve_keys',
defaultValue: true
}
]),
(0, filter_1.createSynchronousFilter)('capitalize', capitalize_1.capitalizeSynchronously, []),
(0, filter_1.createSynchronousFilter)('column', column_1.columnSynchronously, [
{
name: 'name'
}
]),
(0, filter_1.createSynchronousFilter)('convert_encoding', convert_encoding_1.convertEncodingSynchronously, [
{
name: 'to'
},
{
name: 'from'
}
]),
(0, filter_1.createSynchronousFilter)('date', date_1.dateFilterSynchronously, [
{
name: 'format',
defaultValue: null
},
{
name: 'timezone',
defaultValue: null
}
]),
(0, filter_1.createSynchronousFilter)('date_modify', date_modify_1.dateModifySynchronously, [
{
name: 'modifier'
}
]),
(0, filter_1.createSynchronousFilter)('default', default_1.defaultFilterSynchronously, [
{
name: 'default',
defaultValue: null
}
]),
(0, filter_1.createSynchronousFilter)('filter', filter_2.filterSynchronously, [
{
name: 'array'
},
{
name: 'arrow',
defaultValue: null
}
]),
(0, filter_1.createSynchronousFilter)('first', first_1.firstSynchronously, []),
(0, filter_1.createSynchronousFilter)('format', format_1.formatSynchronously, [], {
is_variadic: true
}),
(0, filter_1.createSynchronousFilter)('join', join_1.joinSynchronously, [
{
name: 'glue',
defaultValue: ''
},
{
name: 'and',
defaultValue: null
}
]),
(0, filter_1.createSynchronousFilter)('json_encode', json_encode_1.jsonEncodeSynchronously, [
{
name: 'options',
defaultValue: null
}
]),
(0, filter_1.createSynchronousFilter)('keys', keys_1.keysSynchronously, []),
(0, filter_1.createSynchronousFilter)('last', last_1.lastSynchronously, []),
(0, filter_1.createSynchronousFilter)('length', length_1.lengthSynchronously, []),
(0, filter_1.createSynchronousFilter)('lower', lower_1.lowerSynchronously, []),
(0, filter_1.createSynchronousFilter)('map', map_1.mapSynchronously, [
{
name: 'arrow'
}
]),
(0, filter_1.createSynchronousFilter)('merge', merge_1.mergeSynchronously, [
{
name: 'source'
}
]),
(0, filter_1.createSynchronousFilter)('nl2br', nl2br_1.nl2brSynchronously, []),
(0, filter_1.createSynchronousFilter)('number_format', number_format_1.numberFormatSynchronously, [
{
name: 'decimal',
defaultValue: null
},
{
name: 'decimal_point',
defaultValue: null
},
{
name: 'thousand_sep',
defaultValue: null
}
]),
(0, filter_1.createSynchronousFilter)('raw', raw_1.rawSynchronously, []),
(0, filter_1.createSynchronousFilter)('reduce', reduce_1.reduceSynchronously, [
{
name: 'arrow'
},
{
name: 'initial',
defaultValue: null
}
]),
(0, filter_1.createSynchronousFilter)('replace', replace_1.replaceSynchronously, [
{
name: 'from'
}
]),
(0, filter_1.createSynchronousFilter)('reverse', reverse_1.reverseSynchronously, [
{
name: 'preserve_keys',
defaultValue: false
}
]),
(0, filter_1.createSynchronousFilter)('round', round_1.roundSynchronously, [
{
name: 'precision',
defaultValue: 0
},
{
name: 'method',
defaultValue: 'common'
}
]),
(0, filter_1.createSynchronousFilter)('slice', slice_1.sliceSynchronously, [
{
name: 'start'
},
{
name: 'length',
defaultValue: null
},
{
name: 'preserve_keys',
defaultValue: false
}
]),
(0, filter_1.createSynchronousFilter)('sort', sort_1.sortSynchronously, [{
name: 'arrow',
defaultValue: null
}]),
(0, filter_1.createSynchronousFilter)('spaceless', spaceless_1.spacelessSynchronously, []),
(0, filter_1.createSynchronousFilter)('split', split_1.splitSynchronously, [
{
name: 'delimiter'
},
{
name: 'limit',
defaultValue: null
}
]),
(0, filter_1.createSynchronousFilter)('striptags', striptags_1.striptagsSynchronously, [
{
name: 'allowable_tags',
defaultValue: ''
}
]),
(0, filter_1.createSynchronousFilter)('title', title_1.titleSynchronously, []),
(0, filter_1.createSynchronousFilter)('trim', trim_1.trimSynchronously, [
{
name: 'character_mask',
defaultValue: null
},
{
name: 'side',
defaultValue: 'both'
}
]),
(0, filter_1.createSynchronousFilter)('upper', upper_1.upperSynchronously, []),
(0, filter_1.createSynchronousFilter)('url_encode', url_encode_1.urlEncodeSynchronously, []),
];
},
get functions() {
return [
(0, function_1.createSynchronousFunction)('constant', constant_1.constantSynchronously, [
{ name: 'name' },
{ name: 'object', defaultValue: null }
]),
(0, function_1.createSynchronousFunction)('cycle', cycle_1.cycleSynchronously, [
{
name: 'values'
},
{
name: 'position'
}
]),
(0, function_1.createSynchronousFunction)('date', date_2.dateSynchronously, [
{
name: 'date',
defaultValue: null
},
{
name: 'timezone',
defaultValue: null
}
]),
(0, function_1.createSynchronousFunction)('dump', dump_1.dumpSynchronously, [], {
is_variadic: true
}),
(0, function_1.createSynchronousFunction)('include', include_1.includeSynchronously, [
{
name: 'template'
},
{
name: 'variables',
defaultValue: {}
},
{
name: 'with_context',
defaultValue: true
},
{
name: 'ignore_missing',
defaultValue: false
},
{
name: 'sandboxed',
defaultValue: false
}
]),
(0, function_1.createSynchronousFunction)('max', max_1.maxSynchronously, [], {
is_variadic: true
}),
(0, function_1.createSynchronousFunction)('min', min_1.minSynchronously, [], {
is_variadic: true
}),
(0, function_1.createSynchronousFunction)('random', random_1.randomSynchronously, [
{
name: 'values',
defaultValue: null
},
{
name: 'max',
defaultValue: null
}
]),
(0, function_1.createSynchronousFunction)('range', range_2.rangeSynchronously, [
{
name: 'low'
},
{
name: 'high'
},
{
name: 'step',
defaultValue: 1
}
]),
(0, function_1.createSynchronousFunction)('source', source_1.sourceSynchronously, [
{
name: 'name'
},
{
name: 'ignore_missing',
defaultValue: false
}
]),
(0, function_1.createSynchronousFunction)('template_from_string', template_from_string_1.templateFromStringSynchronously, [
{
name: 'template'
},
{
name: 'name',
defaultValue: null
}
])
];
},
get nodeVisitors() {
return [];
},
get operators() {
return getOperators();
},
get tagHandlers() {
return [];
},
get tests() {
return [
(0, test_1.createSynchronousTest)('constant', is_constant_1.isConstantSynchronously, [
{
name: 'constant'
},
{
name: 'object',
defaultValue: null
}
]),
(0, test_1.createSynchronousTest)('divisible by', is_divisible_by_1.isDivisibleBySynchronously, [
{
name: 'divisor'
}
]),
(0, test_1.createSynchronousTest)('defined', is_defined_1.isDefinedSynchronously, []),
(0, test_1.createSynchronousTest)('empty', is_empty_1.isEmptySynchronously, []),
(0, test_1.createSynchronousTest)('even', is_even_1.isEvenSynchronously, []),
(0, test_1.createSynchronousTest)('iterable', is_iterable_1.isIterableSynchronously, []),
(0, test_1.createSynchronousTest)('none', is_null_1.isNullSynchronously, []),
(0, test_1.createSynchronousTest)('null', is_null_1.isNullSynchronously, []),
(0, test_1.createSynchronousTest)('odd', is_odd_1.isOddSynchronously, []),
(0, test_1.createSynchronousTest)('same as', is_same_as_1.isSameAsSynchronously, [
{
name: 'comparand'
}
]),
];
}
};
};
exports.createSynchronousCoreExtension = createSynchronousCoreExtension;