├── .editorconfig ├── .eslintignore ├── .eslintrc.js ├── .gitignore ├── .npmignore ├── .npmrc ├── .travis.yml ├── .vscode └── launch.json ├── LICENSE ├── README.md ├── index.js ├── lib ├── Context.js ├── Engine.js ├── closure │ ├── Closure.js │ ├── ClosureReducer.js │ ├── ClosureRegistry.js │ ├── FunctionalClosure.js │ ├── Rule.js │ └── RuleFlow.js ├── common │ ├── action │ │ ├── error.js │ │ ├── identity.js │ │ ├── setResult.js │ │ └── undefined.js │ ├── condition │ │ ├── always.js │ │ ├── dateRange.js │ │ ├── default.js │ │ ├── equal.js │ │ ├── never.js │ │ └── random.js │ ├── index.js │ └── transformer │ │ ├── fixedValue.js │ │ └── get.js └── util.js ├── package.json ├── test ├── Engine.test.js ├── closure │ ├── ClosureReducer.test.js │ ├── ClosureRegistry.test.js │ ├── FunctionalClosure.test.js │ ├── Rule.test.js │ ├── RuleFlow.test.js │ ├── builtinTransformer.test.js │ └── dateRange.test.js ├── flows │ ├── async-actions.flow.json │ ├── chained-actions.flow.json │ ├── conditional-reducers.flow.json │ ├── date-range.flow.json │ ├── default-condition.flow.json │ ├── generic-set-rule.flow.json │ ├── index.js │ ├── nested-rules.flow.json │ ├── simple-rules.flow.json │ └── sugar-coated.flow.json └── parse │ ├── closure-library.flow.json │ └── parseClosureLibrary.test.js └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/.editorconfig -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | coverage 2 | .nyc_output 3 | node_modules 4 | docs 5 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/.eslintrc.js -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | *.sublime* 4 | npm-debug* 5 | coverage 6 | .nyc_output 7 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/.npmignore -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/.npmrc -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/.travis.yml -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/README.md -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = require("./lib/Engine"); 4 | -------------------------------------------------------------------------------- /lib/Context.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/lib/Context.js -------------------------------------------------------------------------------- /lib/Engine.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/lib/Engine.js -------------------------------------------------------------------------------- /lib/closure/Closure.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/lib/closure/Closure.js -------------------------------------------------------------------------------- /lib/closure/ClosureReducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/lib/closure/ClosureReducer.js -------------------------------------------------------------------------------- /lib/closure/ClosureRegistry.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/lib/closure/ClosureRegistry.js -------------------------------------------------------------------------------- /lib/closure/FunctionalClosure.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/lib/closure/FunctionalClosure.js -------------------------------------------------------------------------------- /lib/closure/Rule.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/lib/closure/Rule.js -------------------------------------------------------------------------------- /lib/closure/RuleFlow.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/lib/closure/RuleFlow.js -------------------------------------------------------------------------------- /lib/common/action/error.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/lib/common/action/error.js -------------------------------------------------------------------------------- /lib/common/action/identity.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/lib/common/action/identity.js -------------------------------------------------------------------------------- /lib/common/action/setResult.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/lib/common/action/setResult.js -------------------------------------------------------------------------------- /lib/common/action/undefined.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/lib/common/action/undefined.js -------------------------------------------------------------------------------- /lib/common/condition/always.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/lib/common/condition/always.js -------------------------------------------------------------------------------- /lib/common/condition/dateRange.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/lib/common/condition/dateRange.js -------------------------------------------------------------------------------- /lib/common/condition/default.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/lib/common/condition/default.js -------------------------------------------------------------------------------- /lib/common/condition/equal.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/lib/common/condition/equal.js -------------------------------------------------------------------------------- /lib/common/condition/never.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/lib/common/condition/never.js -------------------------------------------------------------------------------- /lib/common/condition/random.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/lib/common/condition/random.js -------------------------------------------------------------------------------- /lib/common/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/lib/common/index.js -------------------------------------------------------------------------------- /lib/common/transformer/fixedValue.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/lib/common/transformer/fixedValue.js -------------------------------------------------------------------------------- /lib/common/transformer/get.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/lib/common/transformer/get.js -------------------------------------------------------------------------------- /lib/util.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/lib/util.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/package.json -------------------------------------------------------------------------------- /test/Engine.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/test/Engine.test.js -------------------------------------------------------------------------------- /test/closure/ClosureReducer.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/test/closure/ClosureReducer.test.js -------------------------------------------------------------------------------- /test/closure/ClosureRegistry.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/test/closure/ClosureRegistry.test.js -------------------------------------------------------------------------------- /test/closure/FunctionalClosure.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/test/closure/FunctionalClosure.test.js -------------------------------------------------------------------------------- /test/closure/Rule.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/test/closure/Rule.test.js -------------------------------------------------------------------------------- /test/closure/RuleFlow.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/test/closure/RuleFlow.test.js -------------------------------------------------------------------------------- /test/closure/builtinTransformer.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/test/closure/builtinTransformer.test.js -------------------------------------------------------------------------------- /test/closure/dateRange.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/test/closure/dateRange.test.js -------------------------------------------------------------------------------- /test/flows/async-actions.flow.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/test/flows/async-actions.flow.json -------------------------------------------------------------------------------- /test/flows/chained-actions.flow.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/test/flows/chained-actions.flow.json -------------------------------------------------------------------------------- /test/flows/conditional-reducers.flow.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/test/flows/conditional-reducers.flow.json -------------------------------------------------------------------------------- /test/flows/date-range.flow.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/test/flows/date-range.flow.json -------------------------------------------------------------------------------- /test/flows/default-condition.flow.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/test/flows/default-condition.flow.json -------------------------------------------------------------------------------- /test/flows/generic-set-rule.flow.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/test/flows/generic-set-rule.flow.json -------------------------------------------------------------------------------- /test/flows/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/test/flows/index.js -------------------------------------------------------------------------------- /test/flows/nested-rules.flow.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/test/flows/nested-rules.flow.json -------------------------------------------------------------------------------- /test/flows/simple-rules.flow.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/test/flows/simple-rules.flow.json -------------------------------------------------------------------------------- /test/flows/sugar-coated.flow.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/test/flows/sugar-coated.flow.json -------------------------------------------------------------------------------- /test/parse/closure-library.flow.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/test/parse/closure-library.flow.json -------------------------------------------------------------------------------- /test/parse/parseClosureLibrary.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/test/parse/parseClosureLibrary.test.js -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bluealba/rules-js/HEAD/yarn.lock --------------------------------------------------------------------------------