zam_block_architecture 0.3.0 copy "zam_block_architecture: ^0.3.0" to clipboard
zam_block_architecture: ^0.3.0 copied to clipboard

Architecture that bridges the gap between Business Analysts and Developers.

Block Architecture #

Architecture that bridges the gap between Business Analysts and Developers.

What's inside the package #

Check out all the components in detail here

How to use #

class OddNumberRule extends CustomRule<int, int> {
  final int fact;
  int get value => fact;

  const OddNumberRule(this.fact);

  bool isSatisfied(int fact) {
    return fact % 2 != 0;
  }
}

class UpperBoundRule extends CustomRule<int, int> {
  final int fact;
  final int limit;
  int get value => fact;

  const UpperBoundRule(this.fact, this.limit);

  bool isSatisfied(int fact) {
    return fact < limit;
  }
}

void main() {
  final input = 13;
  final rule = SatisfyAllRule(input, input, children: [
    OddNumberRule(input),
    UpperBoundRule(input, 20),
  ]);
  final ruleResponse = rule.execute();
  print(ruleResponse.isSuccess); // prints true

  final input2 = 21;
  final rule2 = SatisfyAllRule(input2, input2, children: [
    OddNumberRule(input2),
    UpperBoundRule(input2, 20),
  ]);
  final ruleResponse2 = rule2.execute();
  print(ruleResponse2.isSuccess); // prints false
}

To learn more, move on to the example section or check out these dedicated examples in github.

Status #

Build

Contributors #

License #

BSD 3-Clause License

1
likes
140
pub points
0%
popularity

Publisher

verified publisherzamstation.com

Architecture that bridges the gap between Business Analysts and Developers.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (LICENSE)

Dependencies

zam_command_pattern, zam_core

More

Packages that depend on zam_block_architecture