├── .eslintrc.json ├── .gitignore ├── .prettierrc ├── LICENSE ├── README.md ├── jest.config.ts ├── package.json ├── src ├── functions │ ├── add-any-to-union.test.ts │ ├── add-any-to-union.ts │ ├── add-many-to-union.test.ts │ ├── add-many-to-union.ts │ ├── add-rule-to-union.test.ts │ ├── add-rule-to-union.ts │ ├── add-rules-to-union.test.ts │ ├── add-rules-to-union.ts │ ├── add-union-to-union.test.ts │ ├── add-union-to-union.ts │ ├── add-unions-to-union.test.ts │ ├── add-unions-to-union.ts │ ├── create-root.test.ts │ ├── create-root.ts │ ├── find-any-by-id.test.ts │ ├── find-any-by-id.ts │ ├── find-rule-by-id.test.ts │ ├── find-rule-by-id.ts │ ├── find-union-by-id.test.ts │ ├── find-union-by-id.ts │ ├── is-array-length-rule-valid.test.ts │ ├── is-array-length-rule-valid.ts │ ├── is-array-value-rule-valid.test.ts │ ├── is-array-value-rule-valid.ts │ ├── is-boolean-rule-valid.test.ts │ ├── is-boolean-rule-valid.ts │ ├── is-generic-comparison-rule-valid.test.ts │ ├── is-generic-comparison-rule-valid.ts │ ├── is-generic-type-rule-valid.test.ts │ ├── is-generic-type-rule-valid.ts │ ├── is-number-rule-valid.test.ts │ ├── is-number-rule-valid.ts │ ├── is-object-key-rule-valid.test.ts │ ├── is-object-key-rule-valid.ts │ ├── is-object-key-value-rule-valid.test.ts │ ├── is-object-key-value-rule-valid.ts │ ├── is-object-value-rule-valid.test.ts │ ├── is-object-value-rule-valid.ts │ ├── is-string-rule-valid.test.ts │ ├── is-string-rule-valid.ts │ ├── normalize.test.ts │ ├── normalize.ts │ ├── remove-all-by-id.test.ts │ ├── remove-all-by-id.ts │ ├── run.test.ts │ ├── run.ts │ ├── update-rule-by-id.test.ts │ ├── update-rule-by-id.ts │ ├── update-union-by-id.test.ts │ ├── update-union-by-id.ts │ ├── validate.test.ts │ └── validate.ts ├── index.ts ├── types │ ├── rule.ts │ └── union.ts ├── utils │ ├── is-object.test.ts │ └── is-object.ts └── validations │ ├── rule.ts │ └── union.ts └── tsconfig.json /.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/.eslintrc.json -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/.gitignore -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/.prettierrc -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/README.md -------------------------------------------------------------------------------- /jest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/jest.config.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/package.json -------------------------------------------------------------------------------- /src/functions/add-any-to-union.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/add-any-to-union.test.ts -------------------------------------------------------------------------------- /src/functions/add-any-to-union.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/add-any-to-union.ts -------------------------------------------------------------------------------- /src/functions/add-many-to-union.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/add-many-to-union.test.ts -------------------------------------------------------------------------------- /src/functions/add-many-to-union.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/add-many-to-union.ts -------------------------------------------------------------------------------- /src/functions/add-rule-to-union.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/add-rule-to-union.test.ts -------------------------------------------------------------------------------- /src/functions/add-rule-to-union.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/add-rule-to-union.ts -------------------------------------------------------------------------------- /src/functions/add-rules-to-union.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/add-rules-to-union.test.ts -------------------------------------------------------------------------------- /src/functions/add-rules-to-union.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/add-rules-to-union.ts -------------------------------------------------------------------------------- /src/functions/add-union-to-union.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/add-union-to-union.test.ts -------------------------------------------------------------------------------- /src/functions/add-union-to-union.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/add-union-to-union.ts -------------------------------------------------------------------------------- /src/functions/add-unions-to-union.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/add-unions-to-union.test.ts -------------------------------------------------------------------------------- /src/functions/add-unions-to-union.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/add-unions-to-union.ts -------------------------------------------------------------------------------- /src/functions/create-root.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/create-root.test.ts -------------------------------------------------------------------------------- /src/functions/create-root.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/create-root.ts -------------------------------------------------------------------------------- /src/functions/find-any-by-id.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/find-any-by-id.test.ts -------------------------------------------------------------------------------- /src/functions/find-any-by-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/find-any-by-id.ts -------------------------------------------------------------------------------- /src/functions/find-rule-by-id.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/find-rule-by-id.test.ts -------------------------------------------------------------------------------- /src/functions/find-rule-by-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/find-rule-by-id.ts -------------------------------------------------------------------------------- /src/functions/find-union-by-id.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/find-union-by-id.test.ts -------------------------------------------------------------------------------- /src/functions/find-union-by-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/find-union-by-id.ts -------------------------------------------------------------------------------- /src/functions/is-array-length-rule-valid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/is-array-length-rule-valid.test.ts -------------------------------------------------------------------------------- /src/functions/is-array-length-rule-valid.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/is-array-length-rule-valid.ts -------------------------------------------------------------------------------- /src/functions/is-array-value-rule-valid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/is-array-value-rule-valid.test.ts -------------------------------------------------------------------------------- /src/functions/is-array-value-rule-valid.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/is-array-value-rule-valid.ts -------------------------------------------------------------------------------- /src/functions/is-boolean-rule-valid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/is-boolean-rule-valid.test.ts -------------------------------------------------------------------------------- /src/functions/is-boolean-rule-valid.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/is-boolean-rule-valid.ts -------------------------------------------------------------------------------- /src/functions/is-generic-comparison-rule-valid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/is-generic-comparison-rule-valid.test.ts -------------------------------------------------------------------------------- /src/functions/is-generic-comparison-rule-valid.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/is-generic-comparison-rule-valid.ts -------------------------------------------------------------------------------- /src/functions/is-generic-type-rule-valid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/is-generic-type-rule-valid.test.ts -------------------------------------------------------------------------------- /src/functions/is-generic-type-rule-valid.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/is-generic-type-rule-valid.ts -------------------------------------------------------------------------------- /src/functions/is-number-rule-valid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/is-number-rule-valid.test.ts -------------------------------------------------------------------------------- /src/functions/is-number-rule-valid.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/is-number-rule-valid.ts -------------------------------------------------------------------------------- /src/functions/is-object-key-rule-valid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/is-object-key-rule-valid.test.ts -------------------------------------------------------------------------------- /src/functions/is-object-key-rule-valid.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/is-object-key-rule-valid.ts -------------------------------------------------------------------------------- /src/functions/is-object-key-value-rule-valid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/is-object-key-value-rule-valid.test.ts -------------------------------------------------------------------------------- /src/functions/is-object-key-value-rule-valid.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/is-object-key-value-rule-valid.ts -------------------------------------------------------------------------------- /src/functions/is-object-value-rule-valid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/is-object-value-rule-valid.test.ts -------------------------------------------------------------------------------- /src/functions/is-object-value-rule-valid.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/is-object-value-rule-valid.ts -------------------------------------------------------------------------------- /src/functions/is-string-rule-valid.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/is-string-rule-valid.test.ts -------------------------------------------------------------------------------- /src/functions/is-string-rule-valid.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/is-string-rule-valid.ts -------------------------------------------------------------------------------- /src/functions/normalize.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/normalize.test.ts -------------------------------------------------------------------------------- /src/functions/normalize.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/normalize.ts -------------------------------------------------------------------------------- /src/functions/remove-all-by-id.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/remove-all-by-id.test.ts -------------------------------------------------------------------------------- /src/functions/remove-all-by-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/remove-all-by-id.ts -------------------------------------------------------------------------------- /src/functions/run.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/run.test.ts -------------------------------------------------------------------------------- /src/functions/run.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/run.ts -------------------------------------------------------------------------------- /src/functions/update-rule-by-id.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/update-rule-by-id.test.ts -------------------------------------------------------------------------------- /src/functions/update-rule-by-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/update-rule-by-id.ts -------------------------------------------------------------------------------- /src/functions/update-union-by-id.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/update-union-by-id.test.ts -------------------------------------------------------------------------------- /src/functions/update-union-by-id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/update-union-by-id.ts -------------------------------------------------------------------------------- /src/functions/validate.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/validate.test.ts -------------------------------------------------------------------------------- /src/functions/validate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/functions/validate.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/types/rule.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/types/rule.ts -------------------------------------------------------------------------------- /src/types/union.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/types/union.ts -------------------------------------------------------------------------------- /src/utils/is-object.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/utils/is-object.test.ts -------------------------------------------------------------------------------- /src/utils/is-object.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/utils/is-object.ts -------------------------------------------------------------------------------- /src/validations/rule.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/validations/rule.ts -------------------------------------------------------------------------------- /src/validations/union.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/src/validations/union.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewvo89/rules-engine-ts/HEAD/tsconfig.json --------------------------------------------------------------------------------