xwidget_el 0.1.0 copy "xwidget_el: ^0.1.0" to clipboard
xwidget_el: ^0.1.0 copied to clipboard

A powerful expression language designed for evaluating expressions within a data model.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:xwidget_el/xwidget_el.dart';

void main() {
  runApp(App());
}

class App extends StatefulWidget {
  const App({super.key});

  @override
  State<App> createState() => _AppState();
}

class _AppState extends State<App> {
  final _parser = ELParser();
  final _dependencies = Dependencies({
    "user" : {
      "first": "Mike",
      "last": "Jones",
      "email": "mjones@example.com"
    },
    "greet": (name) => "Hello, $name!"
  });

  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: SafeArea(
          child: Container(
            alignment: Alignment.center,
            padding: EdgeInsets.all(16.0),
            child: Column(
              crossAxisAlignment: CrossAxisAlignment.center,
              mainAxisAlignment: MainAxisAlignment.center,
              children: [
                Text(_parser.evaluate("greet(user.first + ' ' + user.last)", _dependencies),
                  style: TextStyle(fontSize: 28, fontWeight: FontWeight.w600)
                ),
                Text(_parser.evaluate("'The date is ' + formatDateTime('MM/dd/yyyy', now())", _dependencies),
                  style: TextStyle(fontSize: 17)
                ),
              ]
            ),
          )
        )
      )
    );
  }
}
4
likes
140
points
651
downloads

Publisher

verified publisherappfluent.us

Weekly Downloads

A powerful expression language designed for evaluating expressions within a data model.

Repository (GitHub)
View/report issues

Topics

#expression #el #model #dynamic

Documentation

API reference

License

MIT (license)

Dependencies

flutter, intl, logger, petitparser, type_plus

More

Packages that depend on xwidget_el