├── .editorconfig ├── .gitignore ├── .vscode └── settings.json ├── README.md ├── config ├── docgen.json ├── eslint.config.ts ├── tsconfig.base.json ├── tsconfig.dev.json ├── tsconfig.json ├── tsconfig.lib.json ├── tsconfig.tests.json ├── typedoc.json └── vitest.config.ts ├── dev ├── build-all ├── build-docs ├── clean ├── demo.ts ├── publish ├── publish-docs ├── repl-history ├── run-examples └── tsconfig.json ├── docs ├── catalog-of-laws.html ├── catalog │ ├── css │ │ ├── arrows.css │ │ ├── catalog-of-laws.css │ │ ├── footer.css │ │ ├── fx-dark.css │ │ ├── fx-light.css │ │ ├── header.css │ │ ├── lines.css │ │ ├── link.css │ │ ├── poster-elements.css │ │ ├── scroll-box.css │ │ ├── table.css │ │ └── text.css │ └── js │ │ ├── base.js │ │ ├── catalog-of-laws.js │ │ ├── configuration.js │ │ ├── dom.js │ │ ├── footer.js │ │ ├── icon-link.js │ │ ├── jsconfig.json │ │ ├── katex.js │ │ ├── law-link.js │ │ ├── link-to.js │ │ ├── measure.js │ │ ├── poster-elements.d.ts │ │ ├── poster-elements.js │ │ └── scroll-box.js ├── resources │ ├── fonts │ │ ├── CMUConcrete.woff │ │ └── Symbola.ttf │ └── screenshots │ │ ├── numeric-addition-semigroup-verbose-off.png │ │ ├── numeric-addition-semigroup-verbose-on.png │ │ ├── option-is-covariant.png │ │ ├── option-typeclass-laws.png │ │ ├── synopsis-option.png │ │ └── synopsis-tuple.png ├── status.html └── user-guide.md ├── package.json ├── pnpm-lock.yaml ├── src ├── README.md ├── arbitrary.ts ├── arbitrary │ ├── README.md │ ├── data.ts │ ├── effect.ts │ ├── equivalence.ts │ ├── function.ts │ ├── instances.ts │ ├── time.ts │ └── types.ts ├── compose.ts ├── index.ts ├── law.ts ├── law │ ├── README.md │ ├── docs │ │ └── law.png │ ├── equivalence.ts │ ├── law.ts │ └── lawSet.ts ├── laws.ts ├── laws │ ├── algebra.ts │ ├── schema.ts │ └── typeclass │ │ ├── build.ts │ │ ├── concrete │ │ ├── Bounded.ts │ │ ├── Equivalence.ts │ │ ├── Isomorphism.ts │ │ ├── Monoid.ts │ │ ├── Order.ts │ │ ├── README.md │ │ ├── Semigroup.ts │ │ ├── catalog.ts │ │ ├── docs │ │ │ └── concrete.png │ │ └── given.ts │ │ ├── harness.ts │ │ ├── monomorphic │ │ ├── build.ts │ │ ├── given.ts │ │ ├── mono.ts │ │ └── props.ts │ │ └── parameterized │ │ ├── Alternative.ts │ │ ├── Applicative.ts │ │ ├── Bicovariant.ts │ │ ├── Contravariant.ts │ │ ├── Covariant.ts │ │ ├── Filterable.ts │ │ ├── FlatMap.ts │ │ ├── Foldable.ts │ │ ├── Invariant.ts │ │ ├── Monad.ts │ │ ├── README.md │ │ ├── RightFoldable.ts │ │ ├── SemiAlternative.ts │ │ ├── Traversable.ts │ │ ├── catalog.ts │ │ ├── compose.ts │ │ ├── given.ts │ │ └── internal.ts ├── typeclass.ts ├── typeclass │ ├── Dual.ts │ ├── Isomorphism.ts │ ├── RightFoldable.ts │ └── data │ │ ├── Array.ts │ │ ├── Cause.ts │ │ ├── Endo.ts │ │ ├── Function.ts │ │ ├── List.ts │ │ └── Option.ts ├── util.ts ├── vitest.ts └── vitest │ ├── README.md │ ├── concrete.ts │ ├── monomorphic.ts │ ├── parameterized.ts │ ├── schema.ts │ ├── testLaw.ts │ └── testLaws.ts ├── tests ├── arbitrary │ ├── effect.spec.ts │ ├── function.spec.ts │ ├── instances.spec.ts │ └── time.spec.ts ├── documentation.examples.spec.ts ├── effect-ts │ ├── Array.spec.ts │ ├── BigDecimal.spec.ts │ ├── BigInt.spec.ts │ ├── Boolean.spec.ts │ ├── Cause.spec.ts │ ├── DateTime.spec.ts │ ├── Duration.spec.ts │ ├── Either.spec.ts │ ├── Identity.spec.ts │ ├── List.spec.ts │ ├── Number.spec.ts │ ├── Option.spec.ts │ ├── Predicate.spec.ts │ ├── Record.spec.ts │ ├── String.spec.ts │ ├── Struct.spec.ts │ └── Tuple.spec.ts ├── fast-check.spec.ts ├── law │ ├── law.spec.ts │ └── lawSet.spec.ts ├── laws │ ├── schema.spec.ts │ └── typeclass │ │ ├── Alternative.spec.ts │ │ ├── Applicative.spec.ts │ │ ├── Contravariant.spec.ts │ │ ├── Covariant.spec.ts │ │ ├── Equivalence.spec.ts │ │ ├── Foldable.spec.ts │ │ ├── Invariant.spec.ts │ │ ├── Isomorphism.spec.ts │ │ ├── Monad.spec.ts │ │ ├── Monoid.spec.ts │ │ ├── Order.spec.ts │ │ ├── README.md │ │ ├── SemiAlternative.spec.ts │ │ ├── Semigroup.spec.ts │ │ ├── Traversable.spec.ts │ │ ├── helpers.ts │ │ ├── runner.spec.ts │ │ └── underlyingProps.spec.ts ├── typeclass │ ├── Dual.spec.ts │ ├── Endo.spec.ts │ └── Function.spec.ts └── vitest.setup.ts └── tsconfig.json /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/.editorconfig -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/.gitignore -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/README.md -------------------------------------------------------------------------------- /config/docgen.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/config/docgen.json -------------------------------------------------------------------------------- /config/eslint.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/config/eslint.config.ts -------------------------------------------------------------------------------- /config/tsconfig.base.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/config/tsconfig.base.json -------------------------------------------------------------------------------- /config/tsconfig.dev.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/config/tsconfig.dev.json -------------------------------------------------------------------------------- /config/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/config/tsconfig.json -------------------------------------------------------------------------------- /config/tsconfig.lib.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/config/tsconfig.lib.json -------------------------------------------------------------------------------- /config/tsconfig.tests.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/config/tsconfig.tests.json -------------------------------------------------------------------------------- /config/typedoc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/config/typedoc.json -------------------------------------------------------------------------------- /config/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/config/vitest.config.ts -------------------------------------------------------------------------------- /dev/build-all: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/dev/build-all -------------------------------------------------------------------------------- /dev/build-docs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/dev/build-docs -------------------------------------------------------------------------------- /dev/clean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/dev/clean -------------------------------------------------------------------------------- /dev/demo.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/dev/demo.ts -------------------------------------------------------------------------------- /dev/publish: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/dev/publish -------------------------------------------------------------------------------- /dev/publish-docs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/dev/publish-docs -------------------------------------------------------------------------------- /dev/repl-history: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/dev/repl-history -------------------------------------------------------------------------------- /dev/run-examples: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/dev/run-examples -------------------------------------------------------------------------------- /dev/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/dev/tsconfig.json -------------------------------------------------------------------------------- /docs/catalog-of-laws.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog-of-laws.html -------------------------------------------------------------------------------- /docs/catalog/css/arrows.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog/css/arrows.css -------------------------------------------------------------------------------- /docs/catalog/css/catalog-of-laws.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog/css/catalog-of-laws.css -------------------------------------------------------------------------------- /docs/catalog/css/footer.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog/css/footer.css -------------------------------------------------------------------------------- /docs/catalog/css/fx-dark.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog/css/fx-dark.css -------------------------------------------------------------------------------- /docs/catalog/css/fx-light.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog/css/fx-light.css -------------------------------------------------------------------------------- /docs/catalog/css/header.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog/css/header.css -------------------------------------------------------------------------------- /docs/catalog/css/lines.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog/css/lines.css -------------------------------------------------------------------------------- /docs/catalog/css/link.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog/css/link.css -------------------------------------------------------------------------------- /docs/catalog/css/poster-elements.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog/css/poster-elements.css -------------------------------------------------------------------------------- /docs/catalog/css/scroll-box.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog/css/scroll-box.css -------------------------------------------------------------------------------- /docs/catalog/css/table.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog/css/table.css -------------------------------------------------------------------------------- /docs/catalog/css/text.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog/css/text.css -------------------------------------------------------------------------------- /docs/catalog/js/base.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog/js/base.js -------------------------------------------------------------------------------- /docs/catalog/js/catalog-of-laws.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog/js/catalog-of-laws.js -------------------------------------------------------------------------------- /docs/catalog/js/configuration.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog/js/configuration.js -------------------------------------------------------------------------------- /docs/catalog/js/dom.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog/js/dom.js -------------------------------------------------------------------------------- /docs/catalog/js/footer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog/js/footer.js -------------------------------------------------------------------------------- /docs/catalog/js/icon-link.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog/js/icon-link.js -------------------------------------------------------------------------------- /docs/catalog/js/jsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog/js/jsconfig.json -------------------------------------------------------------------------------- /docs/catalog/js/katex.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog/js/katex.js -------------------------------------------------------------------------------- /docs/catalog/js/law-link.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog/js/law-link.js -------------------------------------------------------------------------------- /docs/catalog/js/link-to.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog/js/link-to.js -------------------------------------------------------------------------------- /docs/catalog/js/measure.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog/js/measure.js -------------------------------------------------------------------------------- /docs/catalog/js/poster-elements.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog/js/poster-elements.d.ts -------------------------------------------------------------------------------- /docs/catalog/js/poster-elements.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog/js/poster-elements.js -------------------------------------------------------------------------------- /docs/catalog/js/scroll-box.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/catalog/js/scroll-box.js -------------------------------------------------------------------------------- /docs/resources/fonts/CMUConcrete.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/resources/fonts/CMUConcrete.woff -------------------------------------------------------------------------------- /docs/resources/fonts/Symbola.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/resources/fonts/Symbola.ttf -------------------------------------------------------------------------------- /docs/resources/screenshots/numeric-addition-semigroup-verbose-off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/resources/screenshots/numeric-addition-semigroup-verbose-off.png -------------------------------------------------------------------------------- /docs/resources/screenshots/numeric-addition-semigroup-verbose-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/resources/screenshots/numeric-addition-semigroup-verbose-on.png -------------------------------------------------------------------------------- /docs/resources/screenshots/option-is-covariant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/resources/screenshots/option-is-covariant.png -------------------------------------------------------------------------------- /docs/resources/screenshots/option-typeclass-laws.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/resources/screenshots/option-typeclass-laws.png -------------------------------------------------------------------------------- /docs/resources/screenshots/synopsis-option.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/resources/screenshots/synopsis-option.png -------------------------------------------------------------------------------- /docs/resources/screenshots/synopsis-tuple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/resources/screenshots/synopsis-tuple.png -------------------------------------------------------------------------------- /docs/status.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/status.html -------------------------------------------------------------------------------- /docs/user-guide.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/docs/user-guide.md -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /src/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/README.md -------------------------------------------------------------------------------- /src/arbitrary.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/arbitrary.ts -------------------------------------------------------------------------------- /src/arbitrary/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/arbitrary/README.md -------------------------------------------------------------------------------- /src/arbitrary/data.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/arbitrary/data.ts -------------------------------------------------------------------------------- /src/arbitrary/effect.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/arbitrary/effect.ts -------------------------------------------------------------------------------- /src/arbitrary/equivalence.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/arbitrary/equivalence.ts -------------------------------------------------------------------------------- /src/arbitrary/function.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/arbitrary/function.ts -------------------------------------------------------------------------------- /src/arbitrary/instances.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/arbitrary/instances.ts -------------------------------------------------------------------------------- /src/arbitrary/time.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/arbitrary/time.ts -------------------------------------------------------------------------------- /src/arbitrary/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/arbitrary/types.ts -------------------------------------------------------------------------------- /src/compose.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/compose.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/law.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/law.ts -------------------------------------------------------------------------------- /src/law/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/law/README.md -------------------------------------------------------------------------------- /src/law/docs/law.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/law/docs/law.png -------------------------------------------------------------------------------- /src/law/equivalence.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/law/equivalence.ts -------------------------------------------------------------------------------- /src/law/law.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/law/law.ts -------------------------------------------------------------------------------- /src/law/lawSet.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/law/lawSet.ts -------------------------------------------------------------------------------- /src/laws.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws.ts -------------------------------------------------------------------------------- /src/laws/algebra.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/algebra.ts -------------------------------------------------------------------------------- /src/laws/schema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/schema.ts -------------------------------------------------------------------------------- /src/laws/typeclass/build.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/build.ts -------------------------------------------------------------------------------- /src/laws/typeclass/concrete/Bounded.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/concrete/Bounded.ts -------------------------------------------------------------------------------- /src/laws/typeclass/concrete/Equivalence.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/concrete/Equivalence.ts -------------------------------------------------------------------------------- /src/laws/typeclass/concrete/Isomorphism.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/concrete/Isomorphism.ts -------------------------------------------------------------------------------- /src/laws/typeclass/concrete/Monoid.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/concrete/Monoid.ts -------------------------------------------------------------------------------- /src/laws/typeclass/concrete/Order.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/concrete/Order.ts -------------------------------------------------------------------------------- /src/laws/typeclass/concrete/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/concrete/README.md -------------------------------------------------------------------------------- /src/laws/typeclass/concrete/Semigroup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/concrete/Semigroup.ts -------------------------------------------------------------------------------- /src/laws/typeclass/concrete/catalog.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/concrete/catalog.ts -------------------------------------------------------------------------------- /src/laws/typeclass/concrete/docs/concrete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/concrete/docs/concrete.png -------------------------------------------------------------------------------- /src/laws/typeclass/concrete/given.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/concrete/given.ts -------------------------------------------------------------------------------- /src/laws/typeclass/harness.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/harness.ts -------------------------------------------------------------------------------- /src/laws/typeclass/monomorphic/build.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/monomorphic/build.ts -------------------------------------------------------------------------------- /src/laws/typeclass/monomorphic/given.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/monomorphic/given.ts -------------------------------------------------------------------------------- /src/laws/typeclass/monomorphic/mono.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/monomorphic/mono.ts -------------------------------------------------------------------------------- /src/laws/typeclass/monomorphic/props.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/monomorphic/props.ts -------------------------------------------------------------------------------- /src/laws/typeclass/parameterized/Alternative.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/parameterized/Alternative.ts -------------------------------------------------------------------------------- /src/laws/typeclass/parameterized/Applicative.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/parameterized/Applicative.ts -------------------------------------------------------------------------------- /src/laws/typeclass/parameterized/Bicovariant.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/parameterized/Bicovariant.ts -------------------------------------------------------------------------------- /src/laws/typeclass/parameterized/Contravariant.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/parameterized/Contravariant.ts -------------------------------------------------------------------------------- /src/laws/typeclass/parameterized/Covariant.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/parameterized/Covariant.ts -------------------------------------------------------------------------------- /src/laws/typeclass/parameterized/Filterable.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/parameterized/Filterable.ts -------------------------------------------------------------------------------- /src/laws/typeclass/parameterized/FlatMap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/parameterized/FlatMap.ts -------------------------------------------------------------------------------- /src/laws/typeclass/parameterized/Foldable.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/parameterized/Foldable.ts -------------------------------------------------------------------------------- /src/laws/typeclass/parameterized/Invariant.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/parameterized/Invariant.ts -------------------------------------------------------------------------------- /src/laws/typeclass/parameterized/Monad.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/parameterized/Monad.ts -------------------------------------------------------------------------------- /src/laws/typeclass/parameterized/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/parameterized/README.md -------------------------------------------------------------------------------- /src/laws/typeclass/parameterized/RightFoldable.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/parameterized/RightFoldable.ts -------------------------------------------------------------------------------- /src/laws/typeclass/parameterized/SemiAlternative.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/parameterized/SemiAlternative.ts -------------------------------------------------------------------------------- /src/laws/typeclass/parameterized/Traversable.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/parameterized/Traversable.ts -------------------------------------------------------------------------------- /src/laws/typeclass/parameterized/catalog.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/parameterized/catalog.ts -------------------------------------------------------------------------------- /src/laws/typeclass/parameterized/compose.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/parameterized/compose.ts -------------------------------------------------------------------------------- /src/laws/typeclass/parameterized/given.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/parameterized/given.ts -------------------------------------------------------------------------------- /src/laws/typeclass/parameterized/internal.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/laws/typeclass/parameterized/internal.ts -------------------------------------------------------------------------------- /src/typeclass.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/typeclass.ts -------------------------------------------------------------------------------- /src/typeclass/Dual.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/typeclass/Dual.ts -------------------------------------------------------------------------------- /src/typeclass/Isomorphism.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/typeclass/Isomorphism.ts -------------------------------------------------------------------------------- /src/typeclass/RightFoldable.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/typeclass/RightFoldable.ts -------------------------------------------------------------------------------- /src/typeclass/data/Array.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/typeclass/data/Array.ts -------------------------------------------------------------------------------- /src/typeclass/data/Cause.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/typeclass/data/Cause.ts -------------------------------------------------------------------------------- /src/typeclass/data/Endo.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/typeclass/data/Endo.ts -------------------------------------------------------------------------------- /src/typeclass/data/Function.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/typeclass/data/Function.ts -------------------------------------------------------------------------------- /src/typeclass/data/List.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/typeclass/data/List.ts -------------------------------------------------------------------------------- /src/typeclass/data/Option.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/typeclass/data/Option.ts -------------------------------------------------------------------------------- /src/util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/util.ts -------------------------------------------------------------------------------- /src/vitest.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/vitest.ts -------------------------------------------------------------------------------- /src/vitest/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/vitest/README.md -------------------------------------------------------------------------------- /src/vitest/concrete.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/vitest/concrete.ts -------------------------------------------------------------------------------- /src/vitest/monomorphic.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/vitest/monomorphic.ts -------------------------------------------------------------------------------- /src/vitest/parameterized.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/vitest/parameterized.ts -------------------------------------------------------------------------------- /src/vitest/schema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/vitest/schema.ts -------------------------------------------------------------------------------- /src/vitest/testLaw.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/vitest/testLaw.ts -------------------------------------------------------------------------------- /src/vitest/testLaws.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/src/vitest/testLaws.ts -------------------------------------------------------------------------------- /tests/arbitrary/effect.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/arbitrary/effect.spec.ts -------------------------------------------------------------------------------- /tests/arbitrary/function.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/arbitrary/function.spec.ts -------------------------------------------------------------------------------- /tests/arbitrary/instances.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/arbitrary/instances.spec.ts -------------------------------------------------------------------------------- /tests/arbitrary/time.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/arbitrary/time.spec.ts -------------------------------------------------------------------------------- /tests/documentation.examples.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/documentation.examples.spec.ts -------------------------------------------------------------------------------- /tests/effect-ts/Array.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/effect-ts/Array.spec.ts -------------------------------------------------------------------------------- /tests/effect-ts/BigDecimal.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/effect-ts/BigDecimal.spec.ts -------------------------------------------------------------------------------- /tests/effect-ts/BigInt.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/effect-ts/BigInt.spec.ts -------------------------------------------------------------------------------- /tests/effect-ts/Boolean.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/effect-ts/Boolean.spec.ts -------------------------------------------------------------------------------- /tests/effect-ts/Cause.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/effect-ts/Cause.spec.ts -------------------------------------------------------------------------------- /tests/effect-ts/DateTime.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/effect-ts/DateTime.spec.ts -------------------------------------------------------------------------------- /tests/effect-ts/Duration.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/effect-ts/Duration.spec.ts -------------------------------------------------------------------------------- /tests/effect-ts/Either.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/effect-ts/Either.spec.ts -------------------------------------------------------------------------------- /tests/effect-ts/Identity.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/effect-ts/Identity.spec.ts -------------------------------------------------------------------------------- /tests/effect-ts/List.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/effect-ts/List.spec.ts -------------------------------------------------------------------------------- /tests/effect-ts/Number.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/effect-ts/Number.spec.ts -------------------------------------------------------------------------------- /tests/effect-ts/Option.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/effect-ts/Option.spec.ts -------------------------------------------------------------------------------- /tests/effect-ts/Predicate.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/effect-ts/Predicate.spec.ts -------------------------------------------------------------------------------- /tests/effect-ts/Record.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/effect-ts/Record.spec.ts -------------------------------------------------------------------------------- /tests/effect-ts/String.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/effect-ts/String.spec.ts -------------------------------------------------------------------------------- /tests/effect-ts/Struct.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/effect-ts/Struct.spec.ts -------------------------------------------------------------------------------- /tests/effect-ts/Tuple.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/effect-ts/Tuple.spec.ts -------------------------------------------------------------------------------- /tests/fast-check.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/fast-check.spec.ts -------------------------------------------------------------------------------- /tests/law/law.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/law/law.spec.ts -------------------------------------------------------------------------------- /tests/law/lawSet.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/law/lawSet.spec.ts -------------------------------------------------------------------------------- /tests/laws/schema.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/laws/schema.spec.ts -------------------------------------------------------------------------------- /tests/laws/typeclass/Alternative.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/laws/typeclass/Alternative.spec.ts -------------------------------------------------------------------------------- /tests/laws/typeclass/Applicative.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/laws/typeclass/Applicative.spec.ts -------------------------------------------------------------------------------- /tests/laws/typeclass/Contravariant.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/laws/typeclass/Contravariant.spec.ts -------------------------------------------------------------------------------- /tests/laws/typeclass/Covariant.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/laws/typeclass/Covariant.spec.ts -------------------------------------------------------------------------------- /tests/laws/typeclass/Equivalence.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/laws/typeclass/Equivalence.spec.ts -------------------------------------------------------------------------------- /tests/laws/typeclass/Foldable.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/laws/typeclass/Foldable.spec.ts -------------------------------------------------------------------------------- /tests/laws/typeclass/Invariant.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/laws/typeclass/Invariant.spec.ts -------------------------------------------------------------------------------- /tests/laws/typeclass/Isomorphism.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/laws/typeclass/Isomorphism.spec.ts -------------------------------------------------------------------------------- /tests/laws/typeclass/Monad.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/laws/typeclass/Monad.spec.ts -------------------------------------------------------------------------------- /tests/laws/typeclass/Monoid.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/laws/typeclass/Monoid.spec.ts -------------------------------------------------------------------------------- /tests/laws/typeclass/Order.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/laws/typeclass/Order.spec.ts -------------------------------------------------------------------------------- /tests/laws/typeclass/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/laws/typeclass/README.md -------------------------------------------------------------------------------- /tests/laws/typeclass/SemiAlternative.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/laws/typeclass/SemiAlternative.spec.ts -------------------------------------------------------------------------------- /tests/laws/typeclass/Semigroup.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/laws/typeclass/Semigroup.spec.ts -------------------------------------------------------------------------------- /tests/laws/typeclass/Traversable.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/laws/typeclass/Traversable.spec.ts -------------------------------------------------------------------------------- /tests/laws/typeclass/helpers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/laws/typeclass/helpers.ts -------------------------------------------------------------------------------- /tests/laws/typeclass/runner.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/laws/typeclass/runner.spec.ts -------------------------------------------------------------------------------- /tests/laws/typeclass/underlyingProps.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/laws/typeclass/underlyingProps.spec.ts -------------------------------------------------------------------------------- /tests/typeclass/Dual.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/typeclass/Dual.spec.ts -------------------------------------------------------------------------------- /tests/typeclass/Endo.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/typeclass/Endo.spec.ts -------------------------------------------------------------------------------- /tests/typeclass/Function.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tests/typeclass/Function.spec.ts -------------------------------------------------------------------------------- /tests/vitest.setup.ts: -------------------------------------------------------------------------------- 1 | import fc from 'fast-check' 2 | 3 | fc.configureGlobal({numRuns: 100, endOnFailure: true}) 4 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/middle-ages/effect-ts-laws/HEAD/tsconfig.json --------------------------------------------------------------------------------