UNPKG

twing

Version:

First-class Twig engine for Node.js

975 lines (974 loc) 44.6 kB
"use strict"; 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;