From dc43e690b6483b52174eec13d67c3096a3859ff3 Mon Sep 17 00:00:00 2001 From: Zach Wang Date: Mon, 14 Aug 2023 17:00:46 +1200 Subject: [PATCH 1/2] feat: add sex generator --- package-lock.json | 8 ++++---- package.json | 2 +- src/constants/enums.ts | 1 + src/core/generators/Sex/Sex.tsx | 35 ++++++++++++++++++++++++++++++++ src/core/generators/Sex/index.ts | 13 ++++++++++++ src/core/generators/index.ts | 2 ++ src/locale/translations/en.ts | 4 ++++ src/locale/translations/jaJP.ts | 4 ++++ src/locale/translations/zhCN.ts | 4 ++++ 9 files changed, 68 insertions(+), 5 deletions(-) create mode 100644 src/core/generators/Sex/Sex.tsx create mode 100644 src/core/generators/Sex/index.ts diff --git a/package-lock.json b/package-lock.json index 5ee8657..6d9b942 100644 --- a/package-lock.json +++ b/package-lock.json @@ -37,7 +37,7 @@ "react-redux": "^8.0.5", "react-reflex": "^4.1.0", "redux-persist": "^6.0.0", - "sass": "^1.63.4", + "sass": "^1.65.1", "tailwindcss": "^3.3.2", "tsx": "^3.12.7", "uuidjs": "^5.0.1" @@ -7635,9 +7635,9 @@ "dev": true }, "node_modules/sass": { - "version": "1.63.4", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.63.4.tgz", - "integrity": "sha512-Sx/+weUmK+oiIlI+9sdD0wZHsqpbgQg8wSwSnGBjwb5GwqFhYNwwnI+UWZtLjKvKyFlKkatRK235qQ3mokyPoQ==", + "version": "1.65.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.65.1.tgz", + "integrity": "sha512-9DINwtHmA41SEd36eVPQ9BJKpn7eKDQmUHmpI0y5Zv2Rcorrh0zS+cFrt050hdNbmmCNKTW3hV5mWfuegNRsEA==", "dependencies": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", diff --git a/package.json b/package.json index d01128b..2003394 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "react-redux": "^8.0.5", "react-reflex": "^4.1.0", "redux-persist": "^6.0.0", - "sass": "^1.63.4", + "sass": "^1.65.1", "tailwindcss": "^3.3.2", "tsx": "^3.12.7", "uuidjs": "^5.0.1" diff --git a/src/constants/enums.ts b/src/constants/enums.ts index d824c53..09f1566 100644 --- a/src/constants/enums.ts +++ b/src/constants/enums.ts @@ -30,6 +30,7 @@ export enum DataTypeCategory { } export enum DataType { + SEX = "sex", NUMBER = "number", EMAIL = "email", // DATE_TIME = "dateTime", diff --git a/src/core/generators/Sex/Sex.tsx b/src/core/generators/Sex/Sex.tsx new file mode 100644 index 0000000..9d3cd5a --- /dev/null +++ b/src/core/generators/Sex/Sex.tsx @@ -0,0 +1,35 @@ +import React from "react"; +import {GenerateResult, GeneratorOptionsComponentInterface} from "@/types/generator"; +import {ExportValueType} from "@/constants/enums"; +import {faker} from "@faker-js/faker"; + +// ------------------------------------------------------------------------------------------------------------- +// types +export interface SexGeneratorOptions { + +} + +// ------------------------------------------------------------------------------------------------------------- +// default options +export const SexGeneratorDefaultOptions:SexGeneratorOptions = { +} + +// ------------------------------------------------------------------------------------------------------------- +// generate method +export const generate = (options: any): GenerateResult => { + const value = faker.person.sex(); + + return { + value: value, + stringValue: value, + type: ExportValueType.STRING + } +} + +// ------------------------------------------------------------------------------------------------------------- +// options component +export const SexGeneratorOptionsComponent: React.FunctionComponent = ({...props}) => { + const {options, onOptionsChange} = props; + // TODO: implement your own options component here + return null; +} \ No newline at end of file diff --git a/src/core/generators/Sex/index.ts b/src/core/generators/Sex/index.ts new file mode 100644 index 0000000..dda9432 --- /dev/null +++ b/src/core/generators/Sex/index.ts @@ -0,0 +1,13 @@ +import {Generator} from "@/types/generator"; +import {DataType, DataTypeCategory} from "@/constants/enums"; +import {SexGeneratorDefaultOptions, SexGeneratorOptionsComponent, generate} from "./Sex"; + +export const SexGenerator: Generator = { + type: DataType.SEX, + category: DataTypeCategory.PERSON, + generate: generate, + optionsComponent: SexGeneratorOptionsComponent, + defaultOptions: SexGeneratorDefaultOptions, + exampleLines: ['"male"', '"female"'] +} + \ No newline at end of file diff --git a/src/core/generators/index.ts b/src/core/generators/index.ts index a3db32d..922a3c7 100644 --- a/src/core/generators/index.ts +++ b/src/core/generators/index.ts @@ -1,3 +1,4 @@ +import {SexGenerator} from "@/core/generators/Sex"; import {BooleanGenerator} from "@/core/generators/Boolean"; import {NumberGenerator} from "@/core/generators/Number"; import {FullNameGenerator} from "@/core/generators/FullName"; @@ -6,6 +7,7 @@ import {CompanyNameGenerator} from "@/core/generators/CompanyName"; import {DataType} from "@/constants/enums"; export const generators = { + [DataType.SEX]: SexGenerator, [DataType.BOOLEAN]: BooleanGenerator, [DataType.NUMBER]: NumberGenerator, [DataType.FULL_NAME]: FullNameGenerator, diff --git a/src/locale/translations/en.ts b/src/locale/translations/en.ts index 62c0a13..a8bba6a 100644 --- a/src/locale/translations/en.ts +++ b/src/locale/translations/en.ts @@ -31,6 +31,10 @@ export const en = { // ------------------------------------------------------------------------------------------------------------- // data types + + // sex + "dataType.sex": "Sex", + // number "dataType.number": "Number", "dataType.number.kind.label": "Kind", diff --git a/src/locale/translations/jaJP.ts b/src/locale/translations/jaJP.ts index 73acf05..5d52d35 100644 --- a/src/locale/translations/jaJP.ts +++ b/src/locale/translations/jaJP.ts @@ -22,6 +22,10 @@ export const jaJP = { // ------------------------------------------------------------------------------------------------------------- // data types + + // sex + "dataType.sex": "Sex", + // data type category "dataType.category.all": "全て", "dataType.category.basic": "基本", diff --git a/src/locale/translations/zhCN.ts b/src/locale/translations/zhCN.ts index ee31201..019c51f 100644 --- a/src/locale/translations/zhCN.ts +++ b/src/locale/translations/zhCN.ts @@ -30,6 +30,10 @@ export const zhCN = { // ------------------------------------------------------------------------------------------------------------- // data types + + // sex + "dataType.sex": "性别(生物学)", + // number "dataType.number": "数字", "dataType.number.kind.label": "种类", From 68fcc790364fb6b27f449e660f3fa5157493163b Mon Sep 17 00:00:00 2001 From: Zach Wang Date: Fri, 18 Aug 2023 20:31:29 +1200 Subject: [PATCH 2/2] feat: add some generators under the "person" directory --- scripts/addNewGenerator.ts | 12 +++- src/constants/enums.ts | 6 +- .../common/selectOptions/SexSelectOptions.tsx | 19 ++++++ src/core/generators/FirstName/FirstName.tsx | 58 ++++++++++++++++++ src/core/generators/FirstName/index.ts | 13 ++++ src/core/generators/FullName/FullName.tsx | 20 +------ src/core/generators/LastName/LastName.tsx | 58 ++++++++++++++++++ src/core/generators/LastName/index.ts | 13 ++++ src/core/generators/MiddleName/MiddleName.tsx | 58 ++++++++++++++++++ src/core/generators/MiddleName/index.ts | 13 ++++ .../generators/PersonTitle/PersonTitle.tsx | 59 +++++++++++++++++++ src/core/generators/PersonTitle/index.ts | 13 ++++ src/core/generators/Sex/index.ts | 2 +- src/core/generators/index.ts | 8 +++ src/locale/translations/en.ts | 18 +++++- src/locale/translations/jaJP.ts | 16 +++++ src/locale/translations/zhCN.ts | 18 +++++- 17 files changed, 379 insertions(+), 25 deletions(-) create mode 100644 src/core/common/selectOptions/SexSelectOptions.tsx create mode 100644 src/core/generators/FirstName/FirstName.tsx create mode 100644 src/core/generators/FirstName/index.ts create mode 100644 src/core/generators/LastName/LastName.tsx create mode 100644 src/core/generators/LastName/index.ts create mode 100644 src/core/generators/MiddleName/MiddleName.tsx create mode 100644 src/core/generators/MiddleName/index.ts create mode 100644 src/core/generators/PersonTitle/PersonTitle.tsx create mode 100644 src/core/generators/PersonTitle/index.ts diff --git a/scripts/addNewGenerator.ts b/scripts/addNewGenerator.ts index 0f043a9..547412c 100644 --- a/scripts/addNewGenerator.ts +++ b/scripts/addNewGenerator.ts @@ -74,7 +74,7 @@ const checkIfGeneratorExists = (generatorName: string): boolean => { const formatFolderName = (folderName: string): string => { const firstLetter = folderName.charAt(0).toUpperCase(); - const restLetters = folderName.slice(1).toLowerCase(); + const restLetters = folderName.slice(1); return `${firstLetter}${restLetters}`; }; @@ -114,19 +114,25 @@ export const generate = (options: any): GenerateResult => { value: 'NOT IMPLEMENTED', stringValue: 'NOT IMPLEMENTED', type: ExportValueType.STRING - } + }; } // ------------------------------------------------------------------------------------------------------------- // options component export const ${generatorName}GeneratorOptionsComponent: React.FunctionComponent = ({...props}) => { const {options, onOptionsChange} = props; + + const handleOptionsChange = (changedFieldName: string, value: any) => { + let newOptions = {...options, [changedFieldName]: value}; + onOptionsChange(newOptions); + }; + // TODO: implement your own options component here return (
NOT IMPLEMENTED
- ) + ); }`; } diff --git a/src/constants/enums.ts b/src/constants/enums.ts index 09f1566..efaa3db 100644 --- a/src/constants/enums.ts +++ b/src/constants/enums.ts @@ -30,11 +30,13 @@ export enum DataTypeCategory { } export enum DataType { + PERSONTITLE = "persontitle", + MIDDLENAME = "middlename", + LASTNAME = "lastname", + FIRSTNAME = "firstname", SEX = "sex", NUMBER = "number", EMAIL = "email", - // DATE_TIME = "dateTime", - // ACCOUNT_NUMBER = "accountNumber", BOOLEAN = "boolean", FULL_NAME = "fullName", COMPANY_NAME = "companyName", diff --git a/src/core/common/selectOptions/SexSelectOptions.tsx b/src/core/common/selectOptions/SexSelectOptions.tsx new file mode 100644 index 0000000..8f3a3f3 --- /dev/null +++ b/src/core/common/selectOptions/SexSelectOptions.tsx @@ -0,0 +1,19 @@ +import {SelectOption} from "@/components/Utils"; +import {FormattedMessage} from "@/locale"; +import {Sex} from "@/constants/enums"; +import React from "react"; + +export const SexSelectOptions: SelectOption[] = [ + { + label: , + value: Sex.ALL + }, + { + label: , + value: Sex.MALE, + }, + { + label: , + value: Sex.FEMALE + } +] diff --git a/src/core/generators/FirstName/FirstName.tsx b/src/core/generators/FirstName/FirstName.tsx new file mode 100644 index 0000000..e7c1aeb --- /dev/null +++ b/src/core/generators/FirstName/FirstName.tsx @@ -0,0 +1,58 @@ +import React from "react"; +import {GenerateResult, GeneratorOptionsComponentInterface} from "@/types/generator"; +import {ExportValueType, Sex} from "@/constants/enums"; +import {faker} from "@faker-js/faker"; +import {FormattedMessage} from "@/locale"; +import {OptionsSelect} from "@/components/Utils"; +import {SexSelectOptions} from "@/core/common/selectOptions/SexSelectOptions"; + +// ------------------------------------------------------------------------------------------------------------- +// types +export interface FirstNameGeneratorOptions { + sex: Sex; +} + +// ------------------------------------------------------------------------------------------------------------- +// default options +export const FirstNameGeneratorDefaultOptions:FirstNameGeneratorOptions = { + sex: Sex.ALL +} + +// ------------------------------------------------------------------------------------------------------------- +// generate method +export const generate = (options: any): GenerateResult => { + let config = null; + if(options.sex !== Sex.ALL ){ + config = options.sex; + } + + const value = faker.person.firstName(config); + + return { + value: value, + stringValue: value, + type: ExportValueType.STRING + }; +} + +// ------------------------------------------------------------------------------------------------------------- +// options component +export const FirstNameGeneratorOptionsComponent: React.FunctionComponent = ({...props}) => { + const {options, onOptionsChange} = props; + + const handleOptionsChange = (changedFieldName: string, value: any) => { + let newOptions = {...options, [changedFieldName]: value}; + onOptionsChange(newOptions); + }; + + return ( + <> + } + selectOptions={SexSelectOptions} + value={options.sex} + style={{width: '150px'}} + onChange={(v) => handleOptionsChange("sex", v)}/> + + ); +} diff --git a/src/core/generators/FirstName/index.ts b/src/core/generators/FirstName/index.ts new file mode 100644 index 0000000..52d108d --- /dev/null +++ b/src/core/generators/FirstName/index.ts @@ -0,0 +1,13 @@ +import {Generator} from "@/types/generator"; +import {DataType, DataTypeCategory} from "@/constants/enums"; +import {FirstNameGeneratorDefaultOptions, FirstNameGeneratorOptionsComponent, generate} from "./FirstName"; + +export const FirstNameGenerator: Generator = { + type: DataType.FIRSTNAME, + category: DataTypeCategory.PERSON, + generate: generate, + optionsComponent: FirstNameGeneratorOptionsComponent, + defaultOptions: FirstNameGeneratorDefaultOptions, + exampleLines: ["Javier", "Luis", "Tom"] +} + \ No newline at end of file diff --git a/src/core/generators/FullName/FullName.tsx b/src/core/generators/FullName/FullName.tsx index 2abcd0c..f56a8aa 100644 --- a/src/core/generators/FullName/FullName.tsx +++ b/src/core/generators/FullName/FullName.tsx @@ -5,6 +5,7 @@ import {FormattedMessage} from "@/locale"; import {ExportValueType, Sex} from "@/constants/enums"; import {faker} from "@faker-js/faker"; import {isNullOrWhiteSpace} from "@/utils/stringUtils"; +import {SexSelectOptions} from "@/core/common/selectOptions/SexSelectOptions"; // ------------------------------------------------------------------------------------------------------------- @@ -63,7 +64,7 @@ export const FullNameGeneratorOptionsComponent: React.FunctionComponent } - selectOptions={sexSelectOptions} + selectOptions={SexSelectOptions} value={fullNameOptions.sex} style={{width: '150px'}} onChange={(v) => handleOptionsChange("sex", v)}/> @@ -83,19 +84,4 @@ export const FullNameGeneratorOptionsComponent: React.FunctionComponent ) -}; - -export const sexSelectOptions: SelectOption[] = [ - { - label: , - value: Sex.ALL - }, - { - label: , - value: Sex.MALE, - }, - { - label: , - value: Sex.FEMALE - } -] +}; \ No newline at end of file diff --git a/src/core/generators/LastName/LastName.tsx b/src/core/generators/LastName/LastName.tsx new file mode 100644 index 0000000..1f9bdce --- /dev/null +++ b/src/core/generators/LastName/LastName.tsx @@ -0,0 +1,58 @@ +import React from "react"; +import {GenerateResult, GeneratorOptionsComponentInterface} from "@/types/generator"; +import {ExportValueType, Sex} from "@/constants/enums"; +import {faker} from "@faker-js/faker"; +import {OptionsSelect} from "@/components/Utils"; +import {FormattedMessage} from "@/locale"; +import {SexSelectOptions} from "@/core/common/selectOptions/SexSelectOptions"; + +// ------------------------------------------------------------------------------------------------------------- +// types +export interface LastNameGeneratorOptions { + sex: Sex; +} + +// ------------------------------------------------------------------------------------------------------------- +// default options +export const LastNameGeneratorDefaultOptions:LastNameGeneratorOptions = { + sex: Sex.ALL +} + +// ------------------------------------------------------------------------------------------------------------- +// generate method +export const generate = (options: any): GenerateResult => { + let config = null; + if(options.sex !== Sex.ALL ){ + config = options.sex; + } + + const value = faker.person.lastName(config); + + return { + value: value, + stringValue: value, + type: ExportValueType.STRING + }; +} + +// ------------------------------------------------------------------------------------------------------------- +// options component +export const LastNameGeneratorOptionsComponent: React.FunctionComponent = ({...props}) => { + const {options, onOptionsChange} = props; + + const handleOptionsChange = (changedFieldName: string, value: any) => { + let newOptions = {...options, [changedFieldName]: value}; + onOptionsChange(newOptions); + } + + return ( + <> + } + selectOptions={SexSelectOptions} + value={options.sex} + style={{width: '150px'}} + onChange={(v) => handleOptionsChange("sex", v)}/> + + ); +} \ No newline at end of file diff --git a/src/core/generators/LastName/index.ts b/src/core/generators/LastName/index.ts new file mode 100644 index 0000000..b8641d8 --- /dev/null +++ b/src/core/generators/LastName/index.ts @@ -0,0 +1,13 @@ +import {Generator} from "@/types/generator"; +import {DataType, DataTypeCategory} from "@/constants/enums"; +import {LastNameGeneratorDefaultOptions, LastNameGeneratorOptionsComponent, generate} from "./LastName"; + +export const LastNameGenerator: Generator = { + type: DataType.LASTNAME, + category: DataTypeCategory.PERSON, + generate: generate, + optionsComponent: LastNameGeneratorOptionsComponent, + defaultOptions: LastNameGeneratorDefaultOptions, + exampleLines: ["Hegmann", "Parker", "Wang"] +} + \ No newline at end of file diff --git a/src/core/generators/MiddleName/MiddleName.tsx b/src/core/generators/MiddleName/MiddleName.tsx new file mode 100644 index 0000000..c7de7c8 --- /dev/null +++ b/src/core/generators/MiddleName/MiddleName.tsx @@ -0,0 +1,58 @@ +import React from "react"; +import {GenerateResult, GeneratorOptionsComponentInterface} from "@/types/generator"; +import {ExportValueType, Sex} from "@/constants/enums"; +import {faker} from "@faker-js/faker"; +import {OptionsSelect} from "@/components/Utils"; +import {FormattedMessage} from "@/locale"; +import {SexSelectOptions} from "@/core/common/selectOptions/SexSelectOptions"; + +// ------------------------------------------------------------------------------------------------------------- +// types +export interface MiddleNameGeneratorOptions { + sex: Sex; +} + +// ------------------------------------------------------------------------------------------------------------- +// default options +export const MiddleNameGeneratorDefaultOptions:MiddleNameGeneratorOptions = { + sex: Sex.ALL +} + +// ------------------------------------------------------------------------------------------------------------- +// generate method +export const generate = (options: any): GenerateResult => { + let config = null; + if(options.sex !== Sex.ALL ){ + config = options.sex; + } + + const value = faker.person.middleName(config); + + return { + value: value, + stringValue: value, + type: ExportValueType.STRING + }; +} + +// ------------------------------------------------------------------------------------------------------------- +// options component +export const MiddleNameGeneratorOptionsComponent: React.FunctionComponent = ({...props}) => { + const {options, onOptionsChange} = props; + + const handleOptionsChange = (changedFieldName: string, value: any) => { + let newOptions = {...options, [changedFieldName]: value}; + onOptionsChange(newOptions); + }; + + return ( + <> + } + selectOptions={SexSelectOptions} + value={options.sex} + style={{width: '150px'}} + onChange={(v) => handleOptionsChange("sex", v)}/> + + ); +} \ No newline at end of file diff --git a/src/core/generators/MiddleName/index.ts b/src/core/generators/MiddleName/index.ts new file mode 100644 index 0000000..219e572 --- /dev/null +++ b/src/core/generators/MiddleName/index.ts @@ -0,0 +1,13 @@ +import {Generator} from "@/types/generator"; +import {DataType, DataTypeCategory} from "@/constants/enums"; +import {MiddleNameGeneratorDefaultOptions, MiddleNameGeneratorOptionsComponent, generate} from "./MiddleName"; + +export const MiddleNameGenerator: Generator = { + type: DataType.MIDDLENAME, + category: DataTypeCategory.PERSON, + generate: generate, + optionsComponent: MiddleNameGeneratorOptionsComponent, + defaultOptions: MiddleNameGeneratorDefaultOptions, + exampleLines: ["Elliott", "Taylor", "Bailey"] +} + \ No newline at end of file diff --git a/src/core/generators/PersonTitle/PersonTitle.tsx b/src/core/generators/PersonTitle/PersonTitle.tsx new file mode 100644 index 0000000..74e6e7d --- /dev/null +++ b/src/core/generators/PersonTitle/PersonTitle.tsx @@ -0,0 +1,59 @@ +import React from "react"; +import {GenerateResult, GeneratorOptionsComponentInterface} from "@/types/generator"; +import {ExportValueType, Sex} from "@/constants/enums"; +import {faker} from "@faker-js/faker"; +import {OptionsSelect} from "@/components/Utils"; +import {FormattedMessage} from "@/locale"; +import {SexSelectOptions} from "@/core/common/selectOptions/SexSelectOptions"; + +// ------------------------------------------------------------------------------------------------------------- +// types +export interface PersonTitleGeneratorOptions { + sex: Sex; +} + +// ------------------------------------------------------------------------------------------------------------- +// default options +export const PersonTitleGeneratorDefaultOptions:PersonTitleGeneratorOptions = { + sex: Sex.ALL +} + +// ------------------------------------------------------------------------------------------------------------- +// generate method +export const generate = (options: any): GenerateResult => { + let config = null; + if(options.sex !== Sex.ALL ){ + config = options.sex; + } + + const value = faker.person.prefix(config); + + return { + value: value, + stringValue: value, + type: ExportValueType.STRING + }; +} + +// ------------------------------------------------------------------------------------------------------------- +// options component +export const PersonTitleGeneratorOptionsComponent: React.FunctionComponent = ({...props}) => { + const {options, onOptionsChange} = props; + + const handleOptionsChange = (changedFieldName: string, value: any) => { + let newOptions = {...options, [changedFieldName]: value}; + onOptionsChange(newOptions); + }; + + // TODO: implement your own options component here + return ( + <> + } + selectOptions={SexSelectOptions} + value={options.sex} + style={{width: '150px'}} + onChange={(v) => handleOptionsChange("sex", v)}/> + + ); +} \ No newline at end of file diff --git a/src/core/generators/PersonTitle/index.ts b/src/core/generators/PersonTitle/index.ts new file mode 100644 index 0000000..8c8e92c --- /dev/null +++ b/src/core/generators/PersonTitle/index.ts @@ -0,0 +1,13 @@ +import {Generator} from "@/types/generator"; +import {DataType, DataTypeCategory} from "@/constants/enums"; +import {PersonTitleGeneratorDefaultOptions, PersonTitleGeneratorOptionsComponent, generate} from "./PersonTitle"; + +export const PersonTitleGenerator: Generator = { + type: DataType.PERSONTITLE, + category: DataTypeCategory.PERSON, + generate: generate, + optionsComponent: PersonTitleGeneratorOptionsComponent, + defaultOptions: PersonTitleGeneratorDefaultOptions, + exampleLines: ["Miss", "Mr.", "Dr."] +} + \ No newline at end of file diff --git a/src/core/generators/Sex/index.ts b/src/core/generators/Sex/index.ts index dda9432..3d7d34c 100644 --- a/src/core/generators/Sex/index.ts +++ b/src/core/generators/Sex/index.ts @@ -8,6 +8,6 @@ export const SexGenerator: Generator = { generate: generate, optionsComponent: SexGeneratorOptionsComponent, defaultOptions: SexGeneratorDefaultOptions, - exampleLines: ['"male"', '"female"'] + exampleLines: ['male', 'female'] } \ No newline at end of file diff --git a/src/core/generators/index.ts b/src/core/generators/index.ts index 922a3c7..a1b2522 100644 --- a/src/core/generators/index.ts +++ b/src/core/generators/index.ts @@ -1,3 +1,7 @@ +import {PersonTitleGenerator} from "@/core/generators/PersonTitle"; +import {MiddleNameGenerator} from "@/core/generators/MiddleName"; +import {LastNameGenerator} from "@/core/generators/LastName"; +import {FirstNameGenerator} from "@/core/generators/FirstName"; import {SexGenerator} from "@/core/generators/Sex"; import {BooleanGenerator} from "@/core/generators/Boolean"; import {NumberGenerator} from "@/core/generators/Number"; @@ -7,6 +11,10 @@ import {CompanyNameGenerator} from "@/core/generators/CompanyName"; import {DataType} from "@/constants/enums"; export const generators = { + [DataType.PERSONTITLE]: PersonTitleGenerator, + [DataType.MIDDLENAME]: MiddleNameGenerator, + [DataType.LASTNAME]: LastNameGenerator, + [DataType.FIRSTNAME]: FirstNameGenerator, [DataType.SEX]: SexGenerator, [DataType.BOOLEAN]: BooleanGenerator, [DataType.NUMBER]: NumberGenerator, diff --git a/src/locale/translations/en.ts b/src/locale/translations/en.ts index a8bba6a..0a181be 100644 --- a/src/locale/translations/en.ts +++ b/src/locale/translations/en.ts @@ -32,6 +32,22 @@ export const en = { // data types + + + + + // persontitle + "dataType.persontitle": "Person Title", + + // middlename + "dataType.middlename": "Middle Name", + + // lastname + "dataType.lastname": "Last Name", + + // firstname + "dataType.firstname": "First Name", + // sex "dataType.sex": "Sex", @@ -59,7 +75,7 @@ export const en = { "dataType.boolean.format.label": "Format", // full name - "dataType.fullName": "Person Full Name", + "dataType.fullName": "Full Name", "dataType.fullName.sex.label": "Sex", "dataType.fullName.sex.selectOptions.all": "Male, Female", "dataType.fullName.sex.selectOptions.male": "Male", diff --git a/src/locale/translations/jaJP.ts b/src/locale/translations/jaJP.ts index 5d52d35..944b7f9 100644 --- a/src/locale/translations/jaJP.ts +++ b/src/locale/translations/jaJP.ts @@ -23,6 +23,22 @@ export const jaJP = { // data types + + + + + // persontitle + "dataType.persontitle": "PersonTitle", + + // middlename + "dataType.middlename": "MiddleName", + + // lastname + "dataType.lastname": "LastName", + + // firstname + "dataType.firstname": "FirstName", + // sex "dataType.sex": "Sex", diff --git a/src/locale/translations/zhCN.ts b/src/locale/translations/zhCN.ts index 019c51f..be6d88b 100644 --- a/src/locale/translations/zhCN.ts +++ b/src/locale/translations/zhCN.ts @@ -31,8 +31,24 @@ export const zhCN = { // data types + + + + + // persontitle + "dataType.persontitle": "人物称谓", + + // middlename + "dataType.middlename": "中间名", + + // lastname + "dataType.lastname": "姓氏", + + // firstname + "dataType.firstname": "名字", + // sex - "dataType.sex": "性别(生物学)", + "dataType.sex": "性别", // number "dataType.number": "数字",