xwidget_el 0.5.0 copy "xwidget_el: ^0.5.0" to clipboard
xwidget_el: ^0.5.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!"
  });

  @override
  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)),
          ]),
    ))));
  }
}
6
likes
160
points
238
downloads

Documentation

API reference

Publisher

verified publisherappfluent.us

Weekly Downloads

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

Repository (GitHub)
View/report issues

Topics

#data-model #data-transformation #expression-language #parser #reactive

License

MIT (license)

Dependencies

flutter, intl, logging, petitparser, type_plus

More

Packages that depend on xwidget_el