From 48a7af4f0470115945ab166b540d0bedc7e5eb20 Mon Sep 17 00:00:00 2001 From: ST-DDT Date: Mon, 6 Nov 2023 09:40:49 +0100 Subject: refactor: simplify module creation (#2485) --- src/internal/module-base.ts | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/internal/module-base.ts (limited to 'src/internal') diff --git a/src/internal/module-base.ts b/src/internal/module-base.ts new file mode 100644 index 00000000..aceba703 --- /dev/null +++ b/src/internal/module-base.ts @@ -0,0 +1,25 @@ +import type { Faker } from '../faker'; +import type { SimpleFaker } from '../simple-faker'; +import { bindThisToMemberFunctions } from './bind-this-to-member-functions'; + +/** + * Base class for all modules that use a `SimpleFaker` instance. + * + * @internal + */ +export abstract class SimpleModuleBase { + constructor(protected readonly faker: SimpleFaker) { + bindThisToMemberFunctions(this); + } +} + +/** + * Base class for all modules that use a `Faker` instance. + * + * @internal + */ +export abstract class ModuleBase extends SimpleModuleBase { + constructor(protected readonly faker: Faker) { + super(faker); + } +} -- cgit v1.2.3