-
-
Notifications
You must be signed in to change notification settings - Fork 47
/
.eslintcache
1 lines (1 loc) · 27.7 KB
/
.eslintcache
1
[{"/Users/lethanh/CuThanh/refi-client/src/index.tsx":"1","/Users/lethanh/CuThanh/refi-client/src/serviceWorker.ts":"2","/Users/lethanh/CuThanh/refi-client/src/App.tsx":"3","/Users/lethanh/CuThanh/refi-client/src/components/DocForm/index.tsx":"4","/Users/lethanh/CuThanh/refi-client/src/components/Modal/index.tsx":"5","/Users/lethanh/CuThanh/refi-client/src/pages/main/index.tsx":"6","/Users/lethanh/CuThanh/refi-client/src/pages/main/main.tsx":"7","/Users/lethanh/CuThanh/refi-client/src/components/FieldForm/index.tsx":"8","/Users/lethanh/CuThanh/refi-client/src/components/TreeView/index.tsx":"9","/Users/lethanh/CuThanh/refi-client/src/components/PathInput/index.tsx":"10","/Users/lethanh/CuThanh/refi-client/src/atoms/navigator.ts":"11","/Users/lethanh/CuThanh/refi-client/src/components/DataTable/index.tsx":"12","/Users/lethanh/CuThanh/refi-client/src/components/DataTable/scroll-bar-width.js":"13","/Users/lethanh/CuThanh/refi-client/src/utils/common.ts":"14","/Users/lethanh/CuThanh/refi-client/src/components/FieldViewer/index.tsx":"15","/Users/lethanh/CuThanh/refi-client/src/components/ThemeForm/index.tsx":"16"},{"size":783,"mtime":1610594749331,"results":"17","hashOfConfig":"18"},{"size":5278,"mtime":1610594749331,"results":"19","hashOfConfig":"18"},{"size":737,"mtime":1610594749329,"results":"20","hashOfConfig":"18"},{"size":3291,"mtime":1610850672379,"results":"21","hashOfConfig":"18"},{"size":1828,"mtime":1610702292005,"results":"22","hashOfConfig":"18"},{"size":1060,"mtime":1610594749331,"results":"23","hashOfConfig":"18"},{"size":435,"mtime":1610594749331,"results":"24","hashOfConfig":"18"},{"size":11451,"mtime":1610704562937,"results":"25","hashOfConfig":"18"},{"size":2728,"mtime":1610594749330,"results":"26","hashOfConfig":"18"},{"size":969,"mtime":1610594749330,"results":"27","hashOfConfig":"18"},{"size":168,"mtime":1610594749329,"results":"28","hashOfConfig":"18"},{"size":3946,"mtime":1610594749329,"results":"29","hashOfConfig":"18"},{"size":486,"mtime":1610594749329,"results":"30","hashOfConfig":"18"},{"size":125,"mtime":1610594749331,"results":"31","hashOfConfig":"18"},{"size":1926,"mtime":1610594749330,"results":"32","hashOfConfig":"18"},{"size":2560,"mtime":1610850587528,"results":"33","hashOfConfig":"18"},{"filePath":"34","messages":"35","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"36"},"dcqnm3",{"filePath":"37","messages":"38","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"36"},{"filePath":"39","messages":"40","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"36"},{"filePath":"41","messages":"42","errorCount":0,"warningCount":15,"fixableErrorCount":0,"fixableWarningCount":0,"source":"43","usedDeprecatedRules":"36"},{"filePath":"44","messages":"45","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"36"},{"filePath":"46","messages":"47","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"36"},{"filePath":"48","messages":"49","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"50","usedDeprecatedRules":"36"},{"filePath":"51","messages":"52","errorCount":0,"warningCount":8,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"53","messages":"54","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"55","usedDeprecatedRules":"36"},{"filePath":"56","messages":"57","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"36"},{"filePath":"58","messages":"59","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"36"},{"filePath":"60","messages":"61","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"62","usedDeprecatedRules":"36"},{"filePath":"63","messages":"64","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"65"},{"filePath":"66","messages":"67","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"36"},{"filePath":"68","messages":"69","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"70","usedDeprecatedRules":"71"},{"filePath":"72","messages":"73","errorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":"74","usedDeprecatedRules":"36"},"/Users/lethanh/CuThanh/refi-client/src/index.tsx",[],["75","76"],"/Users/lethanh/CuThanh/refi-client/src/serviceWorker.ts",[],"/Users/lethanh/CuThanh/refi-client/src/App.tsx",[],"/Users/lethanh/CuThanh/refi-client/src/components/DocForm/index.tsx",["77","78","79","80","81","82","83","84","85","86","87","88","89","90","91"],"import { useForm, useFieldArray, FormProvider } from \"react-hook-form\";\nimport FieldForm from \"@/components/FieldForm\";\nimport { useEffect, useState } from \"react\";\nimport Editor from '@monaco-editor/react';\nimport Form from '@rjsf/core';\nimport ThemeForm from '../ThemeForm/index';\n\n\nconst fieldTypes = [\n \"string\",\n \"number\",\n \"boolean\",\n \"map\",\n \"array\",\n \"null\",\n \"timestamp\",\n \"geopoint\",\n];\n\nconst DocForm = () => {\n const [docValue, setDocValue] = useState(\"\");\n const formRef = useForm();\n const { register, handleSubmit, control, errors } = formRef;\n const onSubmit = (data: any) => console.log(data);\n\n window.form = formRef;\n\n const { fields, append, prepend, remove, swap, move, insert } = useFieldArray(\n {\n control,\n name: \"mainObject\",\n }\n );\n\n useEffect(() => {\n append({ fieldName: \"\", fieldValue: \"\", fieldType: \"string\" });\n }, []);\n\n return (\n <div className=\"flex flex-row\">\n <div className=\"flex-1\">\n <Editor language=\"json\" value={JSON.stringify(docValue)} options={{\n minimap: {\n enabled: false,\n },\n automaticLayout: true,\n }} />\n </div>\n <div className=\"flex-1\">\n <ThemeForm\n schema={{\n type: \"array\",\n items: {\n $ref: '#/definitions/field'\n },\n definitions: {\n field: {\n type: \"object\",\n allOf: [\n {\n properties: {\n name: {\n type: \"string\"\n },\n type: { type: \"string\", enum: [\"string\", \"number\", \"map\", \"array\", \"geopoint\", \"null\", \"timestamp\"] }\n }\n }, {\n oneOf: [\n {\n title: \"string\",\n properties: {\n value: { type: 'string' }\n }\n },\n {\n title: \"number\",\n properties: {\n value: { type: 'number' }\n }\n },\n {\n title: \"map\",\n properties: {\n value: {\n $ref: '#/definitions/field'\n }\n }\n },\n {\n title: \"array\",\n properties: {\n value: {\n type: 'array', items: {\n $ref: '#/definitions/field'\n }\n }\n }\n },\n {\n title: \"null\",\n properties: {\n value: { type: 'null' }\n }\n }\n ]\n }\n ]\n }\n }\n }}\n formData={docValue}\n onChange={value => setDocValue(value.formData)}\n />\n </div>\n </div>\n );\n};\n\nexport default DocForm;\n","/Users/lethanh/CuThanh/refi-client/src/components/Modal/index.tsx",[],"/Users/lethanh/CuThanh/refi-client/src/pages/main/index.tsx",[],"/Users/lethanh/CuThanh/refi-client/src/pages/main/main.tsx",["92"],"import React from \"react\";\nimport DataTable from \"@/components/DataTable\";\nimport { navigatorPath } from \"@/atoms/navigator\";\nimport { useRecoilState } from \"recoil\";\n\nfunction Main() {\n const [path, setPath] = useRecoilState(navigatorPath);\n\n return (\n <div className=\"h-full p-2 border border-gray-300 rounded shadow-sm main \">\n <div>Filter here</div>\n <DataTable key={path} />\n </div>\n );\n}\n\nexport default Main;\n","/Users/lethanh/CuThanh/refi-client/src/components/FieldForm/index.tsx",["93","94","95","96","97","98","99","100"],"/Users/lethanh/CuThanh/refi-client/src/components/TreeView/index.tsx",["101"],"import { useEffect, useRef, useState } from \"react\";\nimport * as immutable from \"object-path-immutable\";\nimport Tree from \"rc-tree\";\nimport \"rc-tree/assets/index.css\";\nimport { useRecoilState, useResetRecoilState } from \"recoil\";\nimport { navigatorPath } from \"@/atoms/navigator\";\n\ninterface TreeNode {\n key: string;\n title: string;\n children: TreeNode[];\n isCollection: boolean;\n}\n\nfunction buildTree(\n mapObj: Record<string, any>,\n result: TreeNode[],\n parent: string = \"\",\n isCollection: boolean = true\n): TreeNode[] {\n result = Object.keys(mapObj).map((key) => ({\n key: [parent, key].join(\"/\"),\n title: key,\n children: [],\n isCollection: isCollection,\n }));\n\n Object.keys(mapObj).forEach((key) => {\n const parent = result.find((node: TreeNode) => node.title === key);\n if (parent) {\n parent.children = buildTree(mapObj[key], [], parent.key, !isCollection);\n }\n });\n\n return result;\n}\n\nfunction TreeView() {\n const [path, setPath] = useRecoilState(navigatorPath);\n const [data, setData] = useState<TreeNode[]>([]);\n const structTree = useRef({});\n\n const constructData = (data: any[]) => {\n const newObject = immutable.wrap(structTree.current);\n\n data.forEach((doc: any) => {\n newObject.merge(doc?.ref?.path.replaceAll(\"/\", \".\"), {});\n });\n\n structTree.current = newObject.value();\n setData(buildTree(structTree.current, []));\n };\n\n useEffect(() => {\n const collections = path\n .split(\"/\")\n .reduce((prev: string[], current: string) => {\n const lastPath = prev[prev.length - 1];\n return [...prev, [lastPath, current].join(\"/\").replace(\"//\", \"/\")];\n }, [])\n .filter((collection, index) => index % 2);\n const listeners = collections.map((collection) => {\n return window.listen(collection, (data: any[]) => constructData(data));\n });\n\n const ids = Promise.all(\n collections.map((collection) => {\n return window\n .send(\"fs.pathExplorer.subscribe\", {\n topic: collection,\n path: collection,\n })\n .then((response) => {\n return response.id;\n }) as Promise<string>;\n })\n );\n\n console.log(ids);\n\n return () => {\n listeners.forEach((listener) => listener());\n // Promise.all(\n // ids.map((id: string) =>\n // window.send(\"fs.unsubscribe\", {\n // id,\n // })\n // )\n // );\n };\n }, [path]);\n\n const handleSelectTree = (keys: React.ReactText[]) => {\n if (keys.length > 0) {\n setPath(keys[0] as string);\n }\n };\n\n return (\n <div>\n <Tree showLine treeData={data} onSelect={handleSelectTree} height={500} />\n </div>\n );\n}\n\nexport default TreeView;\n","/Users/lethanh/CuThanh/refi-client/src/components/PathInput/index.tsx",[],"/Users/lethanh/CuThanh/refi-client/src/atoms/navigator.ts",[],"/Users/lethanh/CuThanh/refi-client/src/components/DataTable/index.tsx",["102"],"import React, { useEffect, useState } from \"react\";\nimport { useTable, useBlockLayout } from \"react-table\";\nimport { FixedSizeList } from \"react-window\";\nimport scrollbarWidth from \"./scroll-bar-width\";\nimport FieldViewer from \"@/components/FieldViewer\";\nimport { navigatorPath } from \"@/atoms/navigator\";\nimport { useRecoilState } from \"recoil\";\nimport { isCollection } from \"@/utils/common\";\n\ninterface IUser extends Record<string, any> {\n username: string;\n gender: string;\n}\n\nfunction Table({ columns, data }: { columns: any[]; data: any[] }) {\n // Use the state and functions returned from useTable to build your UI\n\n const defaultColumn = React.useMemo(\n () => ({\n width: 150,\n }),\n []\n );\n\n const scrollBarSize = React.useMemo(() => scrollbarWidth(), []);\n\n const {\n getTableProps,\n getTableBodyProps,\n headerGroups,\n rows,\n totalColumnsWidth,\n prepareRow,\n } = useTable(\n {\n columns,\n data,\n defaultColumn,\n },\n useBlockLayout\n );\n\n const RenderRow = React.useCallback(\n ({ index, style }) => {\n const row = rows[index];\n prepareRow(row);\n return (\n <div\n {...row.getRowProps({\n style,\n })}\n className=\"tr\"\n >\n {row.cells.map((cell: any) => {\n return (\n <div {...cell.getCellProps()} className=\"td\">\n {cell.render(\"Cell\")}\n </div>\n );\n })}\n </div>\n );\n },\n [prepareRow, rows]\n );\n\n // Render the UI for your table\n return (\n <div {...getTableProps()} className=\"table\">\n <div>\n {headerGroups.map((headerGroup: any) => (\n <div {...headerGroup.getHeaderGroupProps()} className=\"tr\">\n {headerGroup.headers.map((column: any) => (\n <div {...column.getHeaderProps()} className=\"th\">\n {column.render(\"Header\")}\n </div>\n ))}\n </div>\n ))}\n </div>\n\n <div {...getTableBodyProps()}>\n <FixedSizeList\n height={400}\n itemCount={rows.length}\n itemSize={35}\n width={totalColumnsWidth + scrollBarSize}\n >\n {RenderRow}\n </FixedSizeList>\n </div>\n </div>\n );\n}\n\nfunction DataTable() {\n const [data, setData] = useState<IUser[]>([]);\n const [path, setPath] = useRecoilState(navigatorPath);\n\n const columns = React.useMemo(() => {\n if (data?.length > 0) {\n // TODO: Sort column by alphabet like firebase\n return Object.keys(data[0])\n .filter((key) => key !== \"__METADATA\")\n .sort((a, b) => a.localeCompare(b))\n .map((key) => ({\n Header: key,\n accessor: key,\n Cell: ({\n row,\n value,\n column,\n }: {\n row: any;\n value: any;\n column: any;\n }) => {\n return (\n <FieldViewer\n value={value}\n type={row?.original?.__METADATA?.type?.[column.id] || \"Object\"}\n />\n );\n },\n }));\n }\n\n return [];\n }, [data]);\n\n useEffect(() => {\n const topicKey = `${path}.table`;\n const isCollectionType = isCollection(path);\n const listener = window.listen(topicKey, (data: any) => {\n if (isCollectionType) {\n setData(data as IUser[]);\n } else {\n console.log(data);\n }\n });\n const handler = isCollectionType\n ? \"fs.queryCollection.subscribe\"\n : \"fs.queryDoc.subscribe\";\n const id = window\n .send(handler, {\n topic: topicKey,\n path,\n })\n .then((a) => console.log(a));\n\n console.log({\n topic: topicKey,\n path,\n });\n\n return () => {\n listener();\n window.send(\"fs.unsubscribe\", {\n id,\n });\n };\n }, [path]);\n\n return <Table columns={columns} data={data} />;\n}\n\nexport default DataTable;\n","/Users/lethanh/CuThanh/refi-client/src/components/DataTable/scroll-bar-width.js",[],["103","104"],"/Users/lethanh/CuThanh/refi-client/src/utils/common.ts",[],"/Users/lethanh/CuThanh/refi-client/src/components/FieldViewer/index.tsx",["105","106","107"],"import React, { useEffect, useState } from \"react\";\n\nfunction getFieldType(value: any): string {\n const fieldType = typeof value;\n switch (fieldType) {\n case \"string\":\n case \"number\":\n case \"boolean\":\n return fieldType;\n case \"object\":\n if (value?._latitude && value?._longitude) {\n return \"geopoint\";\n }\n\n if (value === null) {\n return \"null\";\n }\n\n if (Array.isArray(value)) {\n return \"array\";\n }\n\n // Ref case\n\n return \"map\";\n }\n\n return \"object\";\n}\n\nconst fieldValueMapper: Record<string, Function> = {\n String: ({ value }: { value: string }) => <div>{value}</div>,\n Number: ({ value }: { value: number }) => <div>No: {value}</div>,\n Boolean: ({ value }: { value: boolean }) => <div>Value: {String(value)}</div>,\n Map: ({ value }: { value: any }) => <div>{JSON.stringify(value)}</div>,\n Geopoint: ({ value }: { value: any }) => (\n <div>Geopoint {JSON.stringify(value)}</div>\n ),\n Array: ({ value }: { value: any[] }) => (\n <div>Array {JSON.stringify(value)}</div>\n ),\n Timestamp: ({\n value: { _seconds, _nanoseconds },\n }: {\n value: { _seconds: number; _nanoseconds: number };\n }) => (\n <div>Time {new Date(_seconds * 1000 + _nanoseconds).toISOString()}</div>\n ),\n};\n\n// TODO: Implement highlight when update here\nfunction FieldViewer({ value, type = \"Map\" }: { value: any; type?: string }) {\n const [isUpdated, setUpdated] = useState(false);\n\n // useEffect(() => {\n // setUpdated(true);\n // // console.log(\"updated\", value);\n // setTimeout(() => {\n // setUpdated(false);\n // }, 5000);\n // }, [value, type]);\n\n if (typeof value === \"undefined\") {\n return null;\n }\n\n const FieldComp = fieldValueMapper[type] || fieldValueMapper[\"Map\"];\n return (\n <div className={isUpdated ? \"updated\" : \"\"}>\n <FieldComp value={value} />\n </div>\n );\n}\n\nexport default React.memo(FieldViewer);\n",["108","109"],"/Users/lethanh/CuThanh/refi-client/src/components/ThemeForm/index.tsx",["110","111","112","113"],"import { WidgetProps, withTheme, utils, ArrayFieldTemplateProps, ObjectFieldTemplateProps } from '@rjsf/core';\nimport { Listbox, Transition } from \"@headlessui/react\";\n\nconst { getDefaultRegistry } = utils;\nconst { fields, widgets } = getDefaultRegistry();\n\nfunction MyArrayFieldTemplate(props: ArrayFieldTemplateProps) {\n return (\n <div>\n {props.items.map((element: any) => element.children)}\n {props.canAdd && <button\n type=\"button\"\n className=\"flex items-center secondary-btn\"\n onClick={props.onAddClick}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n className=\"w-6 h-6 mr-1 fill-current text-grey hover:text-grey-darkest\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm1-11a1 1 0 10-2 0v2H7a1 1 0 100 2h2v2a1 1 0 102 0v-2h2a1 1 0 100-2h-2V7z\"\n clipRule=\"evenodd\"\n />\n </svg>{\" \"}\n Add field\n </button>}\n </div>\n );\n}\n\nfunction MyErrorListTemplate({ errors }: { errors: any[] }) {\n return (\n <ul>\n {errors.map(error => (\n <li key={error.stack}>\n {error.stack}\n </li>\n ))}\n </ul>\n );\n}\n\nfunction TextWidget(props: WidgetProps) {\n return (\n <input\n type=\"text\"\n className=\"input-field\"\n value={props.value}\n required={props.required}\n onChange={(event) => props.onChange(event.target.value)} />\n )\n}\n\nfunction SelectWidget(props: WidgetProps) {\n const { enumOptions, enumDisabled } = props.options;\n return (\n <div className=\"w-full max-w-xs mx-auto\">\n <select\n tabIndex={-1}\n id=\"fieldType\"\n className=\"input-field\"\n defaultValue=\"string\"\n onChange={(event) => props.onChange(event.target.value)}\n value={props.value}\n >\n {(enumOptions as any[])?.map(({ value, label }) => (\n <option value={value} key={value}>\n {label}\n </option>\n ))}\n </select>\n </div>\n )\n}\n\nfunction ObjectFieldTemplate(props: ObjectFieldTemplateProps) {\n return (\n <div>\n {props.title}\n {/* {props.description} */}\n {props.properties.map(element => <div className=\"property-wrapper\">{element.content}</div>)}\n </div>\n );\n}\n\nconst ThemeObject = {\n ArrayFieldTemplate: MyArrayFieldTemplate,\n ErrorList: MyErrorListTemplate,\n ObjectFieldTemplate,\n widgets: {\n ...widgets,\n TextWidget,\n SelectWidget\n }\n}\nexport default withTheme(ThemeObject);",{"ruleId":"114","replacedBy":"115"},{"ruleId":"116","replacedBy":"117"},{"ruleId":"118","severity":1,"message":"119","line":1,"column":34,"nodeType":"120","messageId":"121","endLine":1,"endColumn":46},{"ruleId":"118","severity":1,"message":"122","line":2,"column":8,"nodeType":"120","messageId":"121","endLine":2,"endColumn":17},{"ruleId":"118","severity":1,"message":"123","line":5,"column":8,"nodeType":"120","messageId":"121","endLine":5,"endColumn":12},{"ruleId":"118","severity":1,"message":"124","line":9,"column":7,"nodeType":"120","messageId":"121","endLine":9,"endColumn":17},{"ruleId":"118","severity":1,"message":"125","line":23,"column":11,"nodeType":"120","messageId":"121","endLine":23,"endColumn":19},{"ruleId":"118","severity":1,"message":"126","line":23,"column":21,"nodeType":"120","messageId":"121","endLine":23,"endColumn":33},{"ruleId":"118","severity":1,"message":"127","line":23,"column":44,"nodeType":"120","messageId":"121","endLine":23,"endColumn":50},{"ruleId":"118","severity":1,"message":"128","line":24,"column":9,"nodeType":"120","messageId":"121","endLine":24,"endColumn":17},{"ruleId":"118","severity":1,"message":"129","line":28,"column":11,"nodeType":"120","messageId":"121","endLine":28,"endColumn":17},{"ruleId":"118","severity":1,"message":"130","line":28,"column":27,"nodeType":"120","messageId":"121","endLine":28,"endColumn":34},{"ruleId":"118","severity":1,"message":"131","line":28,"column":36,"nodeType":"120","messageId":"121","endLine":28,"endColumn":42},{"ruleId":"118","severity":1,"message":"132","line":28,"column":44,"nodeType":"120","messageId":"121","endLine":28,"endColumn":48},{"ruleId":"118","severity":1,"message":"133","line":28,"column":50,"nodeType":"120","messageId":"121","endLine":28,"endColumn":54},{"ruleId":"118","severity":1,"message":"134","line":28,"column":56,"nodeType":"120","messageId":"121","endLine":28,"endColumn":62},{"ruleId":"135","severity":1,"message":"136","line":37,"column":6,"nodeType":"137","endLine":37,"endColumn":8,"suggestions":"138"},{"ruleId":"118","severity":1,"message":"139","line":7,"column":16,"nodeType":"120","messageId":"121","endLine":7,"endColumn":23},{"ruleId":"118","severity":1,"message":"140","line":1,"column":30,"nodeType":"120","messageId":"121","endLine":1,"endColumn":38},{"ruleId":"118","severity":1,"message":"141","line":193,"column":20,"nodeType":"120","messageId":"121","endLine":193,"endColumn":28},{"ruleId":"118","severity":1,"message":"130","line":194,"column":27,"nodeType":"120","messageId":"121","endLine":194,"endColumn":34},{"ruleId":"118","severity":1,"message":"132","line":194,"column":44,"nodeType":"120","messageId":"121","endLine":194,"endColumn":48},{"ruleId":"118","severity":1,"message":"133","line":194,"column":50,"nodeType":"120","messageId":"121","endLine":194,"endColumn":54},{"ruleId":"118","severity":1,"message":"134","line":194,"column":56,"nodeType":"120","messageId":"121","endLine":194,"endColumn":62},{"ruleId":"135","severity":1,"message":"142","line":204,"column":6,"nodeType":"137","endLine":204,"endColumn":8,"suggestions":"143"},{"ruleId":"135","severity":1,"message":"144","line":406,"column":6,"nodeType":"137","endLine":406,"endColumn":17,"suggestions":"145"},{"ruleId":"118","severity":1,"message":"146","line":5,"column":26,"nodeType":"120","messageId":"121","endLine":5,"endColumn":45},{"ruleId":"118","severity":1,"message":"139","line":98,"column":16,"nodeType":"120","messageId":"121","endLine":98,"endColumn":23},{"ruleId":"114","replacedBy":"115"},{"ruleId":"116","replacedBy":"117"},{"ruleId":"118","severity":1,"message":"147","line":1,"column":17,"nodeType":"120","messageId":"121","endLine":1,"endColumn":26},{"ruleId":"118","severity":1,"message":"148","line":3,"column":10,"nodeType":"120","messageId":"121","endLine":3,"endColumn":22},{"ruleId":"118","severity":1,"message":"149","line":53,"column":21,"nodeType":"120","messageId":"121","endLine":53,"endColumn":31},{"ruleId":"114","replacedBy":"150"},{"ruleId":"116","replacedBy":"151"},{"ruleId":"118","severity":1,"message":"152","line":2,"column":10,"nodeType":"120","messageId":"121","endLine":2,"endColumn":17},{"ruleId":"118","severity":1,"message":"153","line":2,"column":19,"nodeType":"120","messageId":"121","endLine":2,"endColumn":29},{"ruleId":"118","severity":1,"message":"129","line":5,"column":9,"nodeType":"120","messageId":"121","endLine":5,"endColumn":15},{"ruleId":"118","severity":1,"message":"154","line":58,"column":24,"nodeType":"120","messageId":"121","endLine":58,"endColumn":36},"no-native-reassign",["155"],"no-negated-in-lhs",["156"],"@typescript-eslint/no-unused-vars","'FormProvider' is defined but never used.","Identifier","unusedVar","'FieldForm' is defined but never used.","'Form' is defined but never used.","'fieldTypes' is assigned a value but never used.","'register' is assigned a value but never used.","'handleSubmit' is assigned a value but never used.","'errors' is assigned a value but never used.","'onSubmit' is assigned a value but never used.","'fields' is assigned a value but never used.","'prepend' is assigned a value but never used.","'remove' is assigned a value but never used.","'swap' is assigned a value but never used.","'move' is assigned a value but never used.","'insert' is assigned a value but never used.","react-hooks/exhaustive-deps","React Hook useEffect has a missing dependency: 'append'. Either include it or remove the dependency array.","ArrayExpression",["157"],"'setPath' is assigned a value but never used.","'useState' is defined but never used.","'setValue' is assigned a value but never used.","React Hook useEffect has missing dependencies: 'append' and 'getValues'. Either include them or remove the dependency array.",["158"],"React Hook useEffect has missing dependencies: 'fieldValuePath', 'getValues', 'previousType', and 'setValue'. Either include them or remove the dependency array.",["159"],"'useResetRecoilState' is defined but never used.","'useEffect' is defined but never used.","'getFieldType' is defined but never used.","'setUpdated' is assigned a value but never used.",["155"],["156"],"'Listbox' is defined but never used.","'Transition' is defined but never used.","'enumDisabled' is assigned a value but never used.","no-global-assign","no-unsafe-negation",{"desc":"160","fix":"161"},{"desc":"162","fix":"163"},{"desc":"164","fix":"165"},"Update the dependencies array to be: [append]",{"range":"166","text":"167"},"Update the dependencies array to be: [append, getValues]",{"range":"168","text":"169"},"Update the dependencies array to be: [fieldType, fieldValuePath, getValues, previousType, setValue]",{"range":"170","text":"171"},[883,885],"[append]",[4685,4687],"[append, getValues]",[10280,10291],"[fieldType, fieldValuePath, getValues, previousType, setValue]"]