div_expressions_resolver 0.4.3 copy "div_expressions_resolver: ^0.4.3" to clipboard
div_expressions_resolver: ^0.4.3 copied to clipboard

discontinuedreplaced by: divkit
PlatformAndroidiOS

DivKit expressions resolver plugin for Flutter. Wraps native iOS and Android implementations to resolve expressions with variables, operators, and functions.

div_expressions_resolver #

Pub DivKit expressions resolver plugin for Flutter client.

Overview #

This library provides a wrapper around native implementation of ExpressionResolver for iOS and Evaluator for Android.

Features #

The calculated part of the expression is written using the @{} construction and may contain variables, operators, and functions.

Calculated expressions support the following constructions:

  • Logical operators: ==, !=, !, >, >=, <, =, &&, ||.
  • Arithmetic operators: +, -, *, /, %.
  • Ternary operator: counter > 0 ? true : false.
  • Grouping logical expressions: logging_enabled && (user_name == 'John' || user_email != '').
  • Function calls: mult(total_price, .83)
  • Using calculated parts within strings and string-type calculated expressions: "mail: @{'@{username}@ya.ru'}" is converted to mail: john@ya.ru

So fully supports of DivKit specification:

Usage #

    final nativeResolver = NativeDivExpressionsResolver();
    
    // Use simple math
    fianl r1 = await nativeResolver.resolve( // Result: 1
        "@{0 + 1}",
        context: {},
    );

    // Use variables
    fianl r2 = await nativeResolver.resolve( // Result: 2
        "@{a + b}",
        context: {
            "a" : 1,
            "b" : 1,
        },
    );

    // Use embedded functions
    fianl r3 = await nativeResolver.resolve( // Result: 3
        "@{sum(a, b)}",
        context: {
            "a" : 1,
            "b" : 2,
        },
    );
    
    // Use branching and more!
    fianl r3 = await nativeResolver.resolve( // Result: 4
        "@{sum(a, b) == 5 ? 4 : 0}",
        context: {
            "a" : 3,
            "b" : 2,
        },
    );
3
likes
140
points
33
downloads

Publisher

verified publisherdivkit.tech

Weekly Downloads

DivKit expressions resolver plugin for Flutter. Wraps native iOS and Android implementations to resolve expressions with variables, operators, and functions.

Repository (GitHub)
View/report issues
Contributing

Documentation

API reference

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on div_expressions_resolver

Packages that implement div_expressions_resolver