liquid_dart 1.0.0 copy "liquid_dart: ^1.0.0" to clipboard
liquid_dart: ^1.0.0 copied to clipboard

A LiquidJS 10.24.0 port to Dart

example/main.dart

import "package:liquid_dart/liquid_dart.dart";

class ProductDrop implements LiquidDrop {
  final String title;
  final int priceCents;

  ProductDrop(this.title, this.priceCents);

  @override
  Object? get(String key) {
    switch (key) {
      case "title":
        return title;
      case "price":
        return () => priceCents;
      default:
        return null;
    }
  }
}

Future<void> main() async {
  final fs = InMemoryFileSystem({
    "base": "Header|{% block content %}DEFAULT{% endblock %}|Footer",
    "child":
        "{% layout 'base' %}{% block content %}Hello {{ user }} {{ product.title }}{% endblock %}",
  });

  final engine = LiquidEngine(
    fileSystem: fs,
    options: const LiquidOptions(
      strictVariables: true,
      moneyFormat: r"€{{amount_with_comma_separator}}",
    ),
  );

  final out = await engine.renderFile("child", {
    "user": "Ada",
    "product": ProductDrop("Hat", 12345),
  });

  print(out);
}
3
likes
140
points
133
downloads

Publisher

verified publisherhicards.fr

Weekly Downloads

A LiquidJS 10.24.0 port to Dart

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

More

Packages that depend on liquid_dart