Skip to content

Commit 9866d14

Browse files
committed
refactor: move function tokens to mockValueGenerator
1 parent 4c19722 commit 9866d14

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

src/index.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { pascalCase } from 'pascal-case';
55
import { upperCase } from 'upper-case';
66
import { sentenceCase } from 'sentence-case';
77
import a from 'indefinite';
8-
import { CasualMockValueGenerator } from './mockValueGenerator';
8+
import { casualFunctionTokens, CasualMockValueGenerator } from './mockValueGenerator';
99

1010
type NamingConvention = 'upper-case#upperCase' | 'pascal-case#pascalCase' | 'keep';
1111

@@ -105,10 +105,10 @@ const getNamedType = (opts: Options<NamedTypeNode>): string | number | boolean =
105105
return '';
106106
}
107107

108-
if (!opts.dynamicValues) casual.seed(hashedString(opts.typeName + opts.fieldName));
108+
const mockValueGenerator = new CasualMockValueGenerator({ dynamicValues: opts.dynamicValues });
109+
if (!opts.dynamicValues) mockValueGenerator.seed(hashedString(opts.typeName + opts.fieldName));
109110
const name = opts.currentType.name.value;
110111
const casedName = createNameConverter(opts.typenamesConvention, opts.transformUnderscore)(name);
111-
const mockValueGenerator = new CasualMockValueGenerator({ dynamicValues: opts.dynamicValues });
112112
switch (name) {
113113
case 'String':
114114
return mockValueGenerator.word();
@@ -539,11 +539,11 @@ export const plugin: PluginFunction<TypescriptMocksPluginConfig> = (schema, docu
539539
.join('\n');
540540

541541
let mockFile = '';
542-
if (config.dynamicValues) mockFile += "import casual from 'casual';\n";
542+
if (config.dynamicValues) mockFile += `${casualFunctionTokens.import}\n`;
543543
mockFile += typesFileImport;
544-
if (config.dynamicValues) mockFile += '\ncasual.seed(0);\n';
544+
if (config.dynamicValues) mockFile += `\n${casualFunctionTokens.seed}\n`;
545545
mockFile += mockFns;
546-
if (config.dynamicValues) mockFile += '\n\nexport const seedMocks = (seed: number) => casual.seed(seed);';
546+
if (config.dynamicValues) mockFile += `\n\n${casualFunctionTokens.seedFunction}`;
547547
mockFile += '\n';
548548
return mockFile;
549549
};

src/mockValueGenerator.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,15 @@ interface MockValueGenerator {
88
integer: () => number | string;
99
float: () => number | string;
1010
date: () => string;
11+
seed: (seed: number) => void;
1112
}
1213

1314
type MockValueGeneratorOptions = {
1415
dynamicValues: boolean;
1516
};
1617

18+
type FunctionTokens = Record<'import' | 'seed' | 'seedFunction', string>;
19+
1720
export class CasualMockValueGenerator implements MockValueGenerator {
1821
dynamicValues: boolean;
1922

@@ -33,4 +36,11 @@ export class CasualMockValueGenerator implements MockValueGenerator {
3336
this.dynamicValues
3437
? `new Date(casual.unix_time).toISOString()`
3538
: `'${new Date(casual.unix_time).toISOString()}'`;
39+
seed = (seed: number) => casual.seed(seed);
3640
}
41+
42+
export const casualFunctionTokens: FunctionTokens = {
43+
import: `import casual from 'casual';`,
44+
seed: 'casual.seed(0);',
45+
seedFunction: 'export const seedMocks = (seed: number) => casual.seed(seed);',
46+
};

0 commit comments

Comments
 (0)