class Rule { static final String rulesName = 'rules'; static final String RULE_ADJUSTMENT_BASED_ON_SELECTED_FIELD_VALUE = "adjustment-based-on-selected-field-value"; static final String RULE_SELECT_LIMIT_IF_FIELD_EQUALS_TO = "select-limit-if-field-equals-to"; static final String RULE_DISABLED_IF_FIELD_EQUALS_TO = "disabled-if-field-equals-to"; static final String RULE_EXCLUSIVE_SELECTION = "exclusive-selection"; static final String RULE_MAX_QTY_LIMIT = "max-qty-limit"; static final String RULE_ACTUAL_QTY_IS = "actual-quantity-is"; static final String RULE_KEY_FORCE_LIMITED = 'force_limited'; static final String RULE_KEY_FIELD_KEY = 'field-key'; static dynamic getRule(Map json, String ruleName) { if (json != null && json.containsKey(rulesName)) { if ((json[rulesName] as Map).containsKey(ruleName)) { if (json[rulesName][ruleName] is bool) { return {ruleName: true}; } else if (json[rulesName][ruleName] is int) { return {ruleName: json[rulesName][ruleName]}; } return json[rulesName][ruleName]; } } return null; } }