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": "种类",