react-native-marked 1.3.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"names":["Markdown","value","flatListProps","styles","userStyles","systemTheme","useColorScheme","useMemo","getStyles","rnElements","parser","Parser","tokens","marked","lexer","parse","renderItem","useCallback","item","keyExtractor","_","index","toString","container","memo"],"sources":["Markdown.tsx"],"sourcesContent":["import React, { memo, ReactNode, useCallback, useMemo } from 'react';\nimport { FlatList, useColorScheme } from 'react-native';\nimport { marked } from 'marked';\nimport Parser from './Parser';\nimport getStyles from '../theme/styles';\nimport type { MarkdownProps } from './types';\n\nconst Markdown = ({\n value,\n flatListProps,\n styles: userStyles,\n}: MarkdownProps) => {\n const systemTheme = useColorScheme();\n const styles = useMemo(\n () => getStyles(userStyles, systemTheme),\n [userStyles, systemTheme]\n );\n\n const rnElements = useMemo(() => {\n const parser = new Parser({\n styles,\n });\n const tokens = marked.lexer(value);\n\n return parser.parse(tokens);\n }, [value, styles]);\n\n const renderItem = useCallback(({ item }: { item: ReactNode }) => {\n return <>{item}</>;\n }, []);\n\n const keyExtractor = useCallback((_, index) => index.toString(), []);\n\n return (\n <FlatList\n keyExtractor={keyExtractor}\n maxToRenderPerBatch={8}\n initialNumToRender={8}\n removeClippedSubviews\n style={styles.container}\n {...flatListProps}\n data={rnElements}\n renderItem={renderItem}\n />\n );\n};\n\nexport default memo(Markdown);\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAGA,MAAMA,QAAQ,GAAG,QAII;EAAA,IAJH;IAChBC,KADgB;IAEhBC,aAFgB;IAGhBC,MAAM,EAAEC;EAHQ,CAIG;EACnB,MAAMC,WAAW,GAAG,IAAAC,2BAAA,GAApB;EACA,MAAMH,MAAM,GAAG,IAAAI,cAAA,EACb,MAAM,IAAAC,eAAA,EAAUJ,UAAV,EAAsBC,WAAtB,CADO,EAEb,CAACD,UAAD,EAAaC,WAAb,CAFa,CAAf;EAKA,MAAMI,UAAU,GAAG,IAAAF,cAAA,EAAQ,MAAM;IAC/B,MAAMG,MAAM,GAAG,IAAIC,eAAJ,CAAW;MACxBR;IADwB,CAAX,CAAf;;IAGA,MAAMS,MAAM,GAAGC,cAAA,CAAOC,KAAP,CAAab,KAAb,CAAf;;IAEA,OAAOS,MAAM,CAACK,KAAP,CAAaH,MAAb,CAAP;EACD,CAPkB,EAOhB,CAACX,KAAD,EAAQE,MAAR,CAPgB,CAAnB;EASA,MAAMa,UAAU,GAAG,IAAAC,kBAAA,EAAY,SAAmC;IAAA,IAAlC;MAAEC;IAAF,CAAkC;IAChE,oBAAO,4DAAGA,IAAH,CAAP;EACD,CAFkB,EAEhB,EAFgB,CAAnB;EAIA,MAAMC,YAAY,GAAG,IAAAF,kBAAA,EAAY,CAACG,CAAD,EAAIC,KAAJ,KAAcA,KAAK,CAACC,QAAN,EAA1B,EAA4C,EAA5C,CAArB;EAEA,oBACE,6BAAC,qBAAD;IACE,YAAY,EAAEH,YADhB;IAEE,mBAAmB,EAAE,CAFvB;IAGE,kBAAkB,EAAE,CAHtB;IAIE,qBAAqB,MAJvB;IAKE,KAAK,EAAEhB,MAAM,CAACoB;EALhB,GAMMrB,aANN;IAOE,IAAI,EAAEO,UAPR;IAQE,UAAU,EAAEO;EARd,GADF;AAYD,CAtCD;;4BAwCe,IAAAQ,WAAA,EAAKxB,QAAL,C"}
1
+ {"version":3,"names":["Markdown","value","flatListProps","styles","userStyles","systemTheme","useColorScheme","useMemo","getStyles","rnElements","parser","Parser","tokens","marked","lexer","parse","renderItem","useCallback","item","keyExtractor","_","index","toString","container","memo"],"sources":["Markdown.tsx"],"sourcesContent":["import React, { memo, ReactNode, useCallback, useMemo } from 'react';\nimport { FlatList, useColorScheme } from 'react-native';\nimport { marked } from 'marked';\nimport Parser from './Parser';\nimport getStyles from '../theme/styles';\nimport type { MarkdownProps } from './types';\n\nconst Markdown = ({\n value,\n flatListProps,\n styles: userStyles,\n}: MarkdownProps) => {\n const systemTheme = useColorScheme();\n const styles = useMemo(\n () => getStyles(userStyles, systemTheme),\n [userStyles, systemTheme]\n );\n\n const rnElements = useMemo(() => {\n const parser = new Parser({\n styles,\n });\n const tokens = marked.lexer(value);\n\n return parser.parse(tokens);\n }, [value, styles]);\n\n const renderItem = useCallback(({ item }: { item: ReactNode }) => {\n return <>{item}</>;\n }, []);\n\n const keyExtractor = useCallback(\n (_: ReactNode, index: number) => index.toString(),\n []\n );\n\n return (\n <FlatList\n keyExtractor={keyExtractor}\n maxToRenderPerBatch={8}\n initialNumToRender={8}\n removeClippedSubviews\n style={styles.container}\n {...flatListProps}\n data={rnElements}\n renderItem={renderItem}\n />\n );\n};\n\nexport default memo(Markdown);\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAGA,MAAMA,QAAQ,GAAG,QAII;EAAA,IAJH;IAChBC,KADgB;IAEhBC,aAFgB;IAGhBC,MAAM,EAAEC;EAHQ,CAIG;EACnB,MAAMC,WAAW,GAAG,IAAAC,2BAAA,GAApB;EACA,MAAMH,MAAM,GAAG,IAAAI,cAAA,EACb,MAAM,IAAAC,eAAA,EAAUJ,UAAV,EAAsBC,WAAtB,CADO,EAEb,CAACD,UAAD,EAAaC,WAAb,CAFa,CAAf;EAKA,MAAMI,UAAU,GAAG,IAAAF,cAAA,EAAQ,MAAM;IAC/B,MAAMG,MAAM,GAAG,IAAIC,eAAJ,CAAW;MACxBR;IADwB,CAAX,CAAf;;IAGA,MAAMS,MAAM,GAAGC,cAAA,CAAOC,KAAP,CAAab,KAAb,CAAf;;IAEA,OAAOS,MAAM,CAACK,KAAP,CAAaH,MAAb,CAAP;EACD,CAPkB,EAOhB,CAACX,KAAD,EAAQE,MAAR,CAPgB,CAAnB;EASA,MAAMa,UAAU,GAAG,IAAAC,kBAAA,EAAY,SAAmC;IAAA,IAAlC;MAAEC;IAAF,CAAkC;IAChE,oBAAO,4DAAGA,IAAH,CAAP;EACD,CAFkB,EAEhB,EAFgB,CAAnB;EAIA,MAAMC,YAAY,GAAG,IAAAF,kBAAA,EACnB,CAACG,CAAD,EAAeC,KAAf,KAAiCA,KAAK,CAACC,QAAN,EADd,EAEnB,EAFmB,CAArB;EAKA,oBACE,6BAAC,qBAAD;IACE,YAAY,EAAEH,YADhB;IAEE,mBAAmB,EAAE,CAFvB;IAGE,kBAAkB,EAAE,CAHtB;IAIE,qBAAqB,MAJvB;IAKE,KAAK,EAAEhB,MAAM,CAACoB;EALhB,GAMMrB,aANN;IAOE,IAAI,EAAEO,UAPR;IAQE,UAAU,EAAEO;EARd,GADF;AAYD,CAzCD;;4BA2Ce,IAAAQ,WAAA,EAAKxB,QAAL,C"}
@@ -10,7 +10,7 @@ exports.generateRandomString = void 0;
10
10
  * @returns string
11
11
  */
12
12
  const generateRandomString = () => {
13
- return (Math.random() + 1).toString(36).substring(7);
13
+ return Math.random().toString(36).substring(7);
14
14
  };
15
15
 
16
16
  exports.generateRandomString = generateRandomString;
@@ -1 +1 @@
1
- {"version":3,"names":["generateRandomString","Math","random","toString","substring"],"sources":["string.ts"],"sourcesContent":["/**\n * Generates a random string\n * @returns string\n */\nexport const generateRandomString = () => {\n return (Math.random() + 1).toString(36).substring(7);\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACO,MAAMA,oBAAoB,GAAG,MAAM;EACxC,OAAO,CAACC,IAAI,CAACC,MAAL,KAAgB,CAAjB,EAAoBC,QAApB,CAA6B,EAA7B,EAAiCC,SAAjC,CAA2C,CAA3C,CAAP;AACD,CAFM"}
1
+ {"version":3,"names":["generateRandomString","Math","random","toString","substring"],"sources":["string.ts"],"sourcesContent":["/**\n * Generates a random string\n * @returns string\n */\nexport const generateRandomString = () => {\n return Math.random().toString(36).substring(7);\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACO,MAAMA,oBAAoB,GAAG,MAAM;EACxC,OAAOC,IAAI,CAACC,MAAL,GAAcC,QAAd,CAAuB,EAAvB,EAA2BC,SAA3B,CAAqC,CAArC,CAAP;AACD,CAFM"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","useCallback","useMemo","FlatList","useColorScheme","marked","Parser","getStyles","Markdown","value","flatListProps","styles","userStyles","systemTheme","rnElements","parser","tokens","lexer","parse","renderItem","item","keyExtractor","_","index","toString","container"],"sources":["Markdown.tsx"],"sourcesContent":["import React, { memo, ReactNode, useCallback, useMemo } from 'react';\nimport { FlatList, useColorScheme } from 'react-native';\nimport { marked } from 'marked';\nimport Parser from './Parser';\nimport getStyles from '../theme/styles';\nimport type { MarkdownProps } from './types';\n\nconst Markdown = ({\n value,\n flatListProps,\n styles: userStyles,\n}: MarkdownProps) => {\n const systemTheme = useColorScheme();\n const styles = useMemo(\n () => getStyles(userStyles, systemTheme),\n [userStyles, systemTheme]\n );\n\n const rnElements = useMemo(() => {\n const parser = new Parser({\n styles,\n });\n const tokens = marked.lexer(value);\n\n return parser.parse(tokens);\n }, [value, styles]);\n\n const renderItem = useCallback(({ item }: { item: ReactNode }) => {\n return <>{item}</>;\n }, []);\n\n const keyExtractor = useCallback((_, index) => index.toString(), []);\n\n return (\n <FlatList\n keyExtractor={keyExtractor}\n maxToRenderPerBatch={8}\n initialNumToRender={8}\n removeClippedSubviews\n style={styles.container}\n {...flatListProps}\n data={rnElements}\n renderItem={renderItem}\n />\n );\n};\n\nexport default memo(Markdown);\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,IAAhB,EAAiCC,WAAjC,EAA8CC,OAA9C,QAA6D,OAA7D;AACA,SAASC,QAAT,EAAmBC,cAAnB,QAAyC,cAAzC;AACA,SAASC,MAAT,QAAuB,QAAvB;AACA,OAAOC,MAAP,MAAmB,UAAnB;AACA,OAAOC,SAAP,MAAsB,iBAAtB;;AAGA,MAAMC,QAAQ,GAAG,QAII;EAAA,IAJH;IAChBC,KADgB;IAEhBC,aAFgB;IAGhBC,MAAM,EAAEC;EAHQ,CAIG;EACnB,MAAMC,WAAW,GAAGT,cAAc,EAAlC;EACA,MAAMO,MAAM,GAAGT,OAAO,CACpB,MAAMK,SAAS,CAACK,UAAD,EAAaC,WAAb,CADK,EAEpB,CAACD,UAAD,EAAaC,WAAb,CAFoB,CAAtB;EAKA,MAAMC,UAAU,GAAGZ,OAAO,CAAC,MAAM;IAC/B,MAAMa,MAAM,GAAG,IAAIT,MAAJ,CAAW;MACxBK;IADwB,CAAX,CAAf;IAGA,MAAMK,MAAM,GAAGX,MAAM,CAACY,KAAP,CAAaR,KAAb,CAAf;IAEA,OAAOM,MAAM,CAACG,KAAP,CAAaF,MAAb,CAAP;EACD,CAPyB,EAOvB,CAACP,KAAD,EAAQE,MAAR,CAPuB,CAA1B;EASA,MAAMQ,UAAU,GAAGlB,WAAW,CAAC,SAAmC;IAAA,IAAlC;MAAEmB;IAAF,CAAkC;IAChE,oBAAO,0CAAGA,IAAH,CAAP;EACD,CAF6B,EAE3B,EAF2B,CAA9B;EAIA,MAAMC,YAAY,GAAGpB,WAAW,CAAC,CAACqB,CAAD,EAAIC,KAAJ,KAAcA,KAAK,CAACC,QAAN,EAAf,EAAiC,EAAjC,CAAhC;EAEA,oBACE,oBAAC,QAAD;IACE,YAAY,EAAEH,YADhB;IAEE,mBAAmB,EAAE,CAFvB;IAGE,kBAAkB,EAAE,CAHtB;IAIE,qBAAqB,MAJvB;IAKE,KAAK,EAAEV,MAAM,CAACc;EALhB,GAMMf,aANN;IAOE,IAAI,EAAEI,UAPR;IAQE,UAAU,EAAEK;EARd,GADF;AAYD,CAtCD;;AAwCA,4BAAenB,IAAI,CAACQ,QAAD,CAAnB"}
1
+ {"version":3,"names":["React","memo","useCallback","useMemo","FlatList","useColorScheme","marked","Parser","getStyles","Markdown","value","flatListProps","styles","userStyles","systemTheme","rnElements","parser","tokens","lexer","parse","renderItem","item","keyExtractor","_","index","toString","container"],"sources":["Markdown.tsx"],"sourcesContent":["import React, { memo, ReactNode, useCallback, useMemo } from 'react';\nimport { FlatList, useColorScheme } from 'react-native';\nimport { marked } from 'marked';\nimport Parser from './Parser';\nimport getStyles from '../theme/styles';\nimport type { MarkdownProps } from './types';\n\nconst Markdown = ({\n value,\n flatListProps,\n styles: userStyles,\n}: MarkdownProps) => {\n const systemTheme = useColorScheme();\n const styles = useMemo(\n () => getStyles(userStyles, systemTheme),\n [userStyles, systemTheme]\n );\n\n const rnElements = useMemo(() => {\n const parser = new Parser({\n styles,\n });\n const tokens = marked.lexer(value);\n\n return parser.parse(tokens);\n }, [value, styles]);\n\n const renderItem = useCallback(({ item }: { item: ReactNode }) => {\n return <>{item}</>;\n }, []);\n\n const keyExtractor = useCallback(\n (_: ReactNode, index: number) => index.toString(),\n []\n );\n\n return (\n <FlatList\n keyExtractor={keyExtractor}\n maxToRenderPerBatch={8}\n initialNumToRender={8}\n removeClippedSubviews\n style={styles.container}\n {...flatListProps}\n data={rnElements}\n renderItem={renderItem}\n />\n );\n};\n\nexport default memo(Markdown);\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,IAAhB,EAAiCC,WAAjC,EAA8CC,OAA9C,QAA6D,OAA7D;AACA,SAASC,QAAT,EAAmBC,cAAnB,QAAyC,cAAzC;AACA,SAASC,MAAT,QAAuB,QAAvB;AACA,OAAOC,MAAP,MAAmB,UAAnB;AACA,OAAOC,SAAP,MAAsB,iBAAtB;;AAGA,MAAMC,QAAQ,GAAG,QAII;EAAA,IAJH;IAChBC,KADgB;IAEhBC,aAFgB;IAGhBC,MAAM,EAAEC;EAHQ,CAIG;EACnB,MAAMC,WAAW,GAAGT,cAAc,EAAlC;EACA,MAAMO,MAAM,GAAGT,OAAO,CACpB,MAAMK,SAAS,CAACK,UAAD,EAAaC,WAAb,CADK,EAEpB,CAACD,UAAD,EAAaC,WAAb,CAFoB,CAAtB;EAKA,MAAMC,UAAU,GAAGZ,OAAO,CAAC,MAAM;IAC/B,MAAMa,MAAM,GAAG,IAAIT,MAAJ,CAAW;MACxBK;IADwB,CAAX,CAAf;IAGA,MAAMK,MAAM,GAAGX,MAAM,CAACY,KAAP,CAAaR,KAAb,CAAf;IAEA,OAAOM,MAAM,CAACG,KAAP,CAAaF,MAAb,CAAP;EACD,CAPyB,EAOvB,CAACP,KAAD,EAAQE,MAAR,CAPuB,CAA1B;EASA,MAAMQ,UAAU,GAAGlB,WAAW,CAAC,SAAmC;IAAA,IAAlC;MAAEmB;IAAF,CAAkC;IAChE,oBAAO,0CAAGA,IAAH,CAAP;EACD,CAF6B,EAE3B,EAF2B,CAA9B;EAIA,MAAMC,YAAY,GAAGpB,WAAW,CAC9B,CAACqB,CAAD,EAAeC,KAAf,KAAiCA,KAAK,CAACC,QAAN,EADH,EAE9B,EAF8B,CAAhC;EAKA,oBACE,oBAAC,QAAD;IACE,YAAY,EAAEH,YADhB;IAEE,mBAAmB,EAAE,CAFvB;IAGE,kBAAkB,EAAE,CAHtB;IAIE,qBAAqB,MAJvB;IAKE,KAAK,EAAEV,MAAM,CAACc;EALhB,GAMMf,aANN;IAOE,IAAI,EAAEI,UAPR;IAQE,UAAU,EAAEK;EARd,GADF;AAYD,CAzCD;;AA2CA,4BAAenB,IAAI,CAACQ,QAAD,CAAnB"}
@@ -3,6 +3,6 @@
3
3
  * @returns string
4
4
  */
5
5
  export const generateRandomString = () => {
6
- return (Math.random() + 1).toString(36).substring(7);
6
+ return Math.random().toString(36).substring(7);
7
7
  };
8
8
  //# sourceMappingURL=string.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["generateRandomString","Math","random","toString","substring"],"sources":["string.ts"],"sourcesContent":["/**\n * Generates a random string\n * @returns string\n */\nexport const generateRandomString = () => {\n return (Math.random() + 1).toString(36).substring(7);\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA,OAAO,MAAMA,oBAAoB,GAAG,MAAM;EACxC,OAAO,CAACC,IAAI,CAACC,MAAL,KAAgB,CAAjB,EAAoBC,QAApB,CAA6B,EAA7B,EAAiCC,SAAjC,CAA2C,CAA3C,CAAP;AACD,CAFM"}
1
+ {"version":3,"names":["generateRandomString","Math","random","toString","substring"],"sources":["string.ts"],"sourcesContent":["/**\n * Generates a random string\n * @returns string\n */\nexport const generateRandomString = () => {\n return Math.random().toString(36).substring(7);\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA,OAAO,MAAMA,oBAAoB,GAAG,MAAM;EACxC,OAAOC,IAAI,CAACC,MAAL,GAAcC,QAAd,CAAuB,EAAvB,EAA2BC,SAA3B,CAAqC,CAArC,CAAP;AACD,CAFM"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-marked",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "description": "Markdown renderer for React Native powered by marked.js",
5
5
  "main": "dist/commonjs/index",
6
6
  "module": "dist/module/index",
@@ -46,39 +46,39 @@
46
46
  "registry": "https://registry.npmjs.org/"
47
47
  },
48
48
  "devDependencies": {
49
- "@babel/core": "^7.19.0",
50
- "@babel/eslint-parser": "^7.18.2",
51
- "@babel/preset-env": "^7.19.0",
52
- "@commitlint/config-conventional": "^17.0.2",
53
- "@evilmartians/lefthook": "^1.1.1",
54
- "@react-native-community/eslint-config": "^3.0.2",
55
- "@release-it/conventional-changelog": "^5.0.0",
56
- "@testing-library/jest-native": "^5.0.0",
57
- "@testing-library/react-native": "^11.2.0",
58
- "@types/jest": "^29.1.1",
59
- "@types/marked": "^4.0.3",
60
- "@types/react": "~17.0.21",
61
- "@types/react-native": "0.68.0",
62
- "@typescript-eslint/eslint-plugin": "^5.34.0",
63
- "@typescript-eslint/parser": "^5.34.0",
64
- "commitlint": "^17.0.2",
65
- "eslint": "^8.4.1",
66
- "eslint-config-prettier": "^8.5.0",
67
- "eslint-plugin-jest": "^27.0.4",
68
- "eslint-plugin-prettier": "^4.0.0",
69
- "jest": "^29.1.2",
70
- "jest-environment-jsdom": "^29.1.2",
71
- "pod-install": "^0.1.0",
72
- "prettier": "^2.0.5",
73
- "react": "17.0.2",
74
- "react-native": "0.68.2",
75
- "react-native-builder-bob": "^0.18.3",
76
- "react-test-renderer": "^17.0.2",
77
- "release-it": "^15.4.1",
78
- "typescript": "^4.5.2"
49
+ "@babel/core": "7.19.3",
50
+ "@babel/eslint-parser": "7.19.1",
51
+ "@babel/preset-env": "7.19.4",
52
+ "@commitlint/config-conventional": "17.1.0",
53
+ "@evilmartians/lefthook": "1.1.2",
54
+ "@react-native-community/eslint-config": "3.1.0",
55
+ "@release-it/conventional-changelog": "5.1.1",
56
+ "@testing-library/jest-native": "5.0.0",
57
+ "@testing-library/react-native": "11.2.0",
58
+ "@types/jest": "29.1.2",
59
+ "@types/marked": "4.0.7",
60
+ "@types/react": "18.0.21",
61
+ "@types/react-native": "0.70.4",
62
+ "@typescript-eslint/eslint-plugin": "5.40.0",
63
+ "@typescript-eslint/parser": "5.40.0",
64
+ "commitlint": "17.1.2",
65
+ "eslint": "8.25.0",
66
+ "eslint-config-prettier": "8.5.0",
67
+ "eslint-plugin-jest": "27.1.1",
68
+ "eslint-plugin-prettier": "4.2.1",
69
+ "jest": "29.1.2",
70
+ "jest-environment-jsdom": "29.1.2",
71
+ "pod-install": "0.1.38",
72
+ "prettier": "2.7.1",
73
+ "react": "18.2.0",
74
+ "react-native": "0.70.3",
75
+ "react-native-builder-bob": "0.18.3",
76
+ "react-test-renderer": "18.2.0",
77
+ "release-it": "15.5.0",
78
+ "typescript": "4.8.4"
79
79
  },
80
80
  "resolutions": {
81
- "@types/react": "17.0.21"
81
+ "@types/react": "18.0.21"
82
82
  },
83
83
  "peerDependencies": {
84
84
  "react": "^16.8.6 || ^17.0.0 || ^18.0.0",
@@ -130,7 +130,8 @@
130
130
  "publish": true
131
131
  },
132
132
  "github": {
133
- "release": true
133
+ "release": true,
134
+ "web": true
134
135
  },
135
136
  "plugins": {
136
137
  "@release-it/conventional-changelog": {
@@ -29,7 +29,10 @@ const Markdown = ({
29
29
  return <>{item}</>;
30
30
  }, []);
31
31
 
32
- const keyExtractor = useCallback((_, index) => index.toString(), []);
32
+ const keyExtractor = useCallback(
33
+ (_: ReactNode, index: number) => index.toString(),
34
+ []
35
+ );
33
36
 
34
37
  return (
35
38
  <FlatList
@@ -3,5 +3,5 @@
3
3
  * @returns string
4
4
  */
5
5
  export const generateRandomString = () => {
6
- return (Math.random() + 1).toString(36).substring(7);
6
+ return Math.random().toString(36).substring(7);
7
7
  };