UNPKG

expression-language

Version:

Javascript implementation of symfony/expression-language

62 lines (61 loc) 2.89 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _ExpressionFunction = _interopRequireDefault(require("../ExpressionFunction")); var _AbstractProvider = _interopRequireDefault(require("./AbstractProvider")); var _explode = require("locutus/php/strings/explode"); var _strlen = require("locutus/php/strings/strlen"); var _strtolower = require("locutus/php/strings/strtolower"); var _strtoupper = require("locutus/php/strings/strtoupper"); var _substr = require("locutus/php/strings/substr"); var _strstr = require("locutus/php/strings/strstr"); var _stristr = require("locutus/php/strings/stristr"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } class StringProvider extends _AbstractProvider.default { getFunctions() { return [new _ExpressionFunction.default('strtolower', str => { return '__runtime.strtolower(' + str + ')'; }, (args, str) => { return (0, _strtolower.strtolower)(str); }), new _ExpressionFunction.default('strtoupper', str => { return '__runtime.strtoupper(' + str + ')'; }, (args, str) => { return (0, _strtoupper.strtoupper)(str); }), new _ExpressionFunction.default('explode', (delimiter, string, limit = 'null') => { return `__runtime.explode(${delimiter}, ${string}, ${limit})`; }, (values, delimiter, string, limit = null) => { return (0, _explode.explode)(delimiter, string, limit); }), new _ExpressionFunction.default('strlen', function compiler(str) { return `__runtime.strlen(${str})`; }, function evaluator(values, str) { return (0, _strlen.strlen)(str); }), new _ExpressionFunction.default('strstr', function compiler(haystack, needle, before_needle) { let remaining = ''; if (before_needle) { remaining = `, ${before_needle}`; } return `__runtime.strstr(${haystack}, ${needle}${remaining})`; }, function evaluator(values, haystack, needle, before_needle) { return (0, _strstr.strstr)(haystack, needle, before_needle); }), new _ExpressionFunction.default('stristr', function compiler(haystack, needle, before_needle) { let remaining = ''; if (before_needle) { remaining = `, ${before_needle}`; } return `__runtime.stristr(${haystack}, ${needle}${remaining})`; }, function evaluator(values, haystack, needle, before_needle) { return (0, _stristr.stristr)(haystack, needle, before_needle); }), new _ExpressionFunction.default('substr', function compiler(str, start, length) { let remaining = ''; if (length) { remaining = `, ${length}`; } return `__runtime.substr(${str}, ${start}${remaining})`; }, function evaluator(values, str, start, length) { return (0, _substr.substr)(str, start, length); })]; } } exports.default = StringProvider;