rn-shiki 0.0.37-12 → 0.0.37-14

Sign up to get free protection for your applications and to get access to all the features.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "rn-shiki",
3
3
  "type": "module",
4
- "version": "0.0.37-12",
4
+ "version": "0.0.37-14",
5
5
  "description": "Shiki syntax highlighter for React Native.",
6
6
  "author": "Ryan Skinner <hello@ryanskinner.com>",
7
7
  "license": "MIT",
@@ -23,8 +23,7 @@ const styles = StyleSheet.create({
23
23
  })
24
24
 
25
25
  const SyntaxHighlighter: React.FC<SyntaxHighlighterProps> = ({ text, language, languageId, theme }) => {
26
- console.log('Received theme:', theme)
27
-
26
+ console.log('theme:', theme)
28
27
  const stylesheet = useMemo(() => {
29
28
  const styles = getRNStylesFromShikiStyle(theme as ReactStyle)
30
29
  console.log('Generated stylesheet:', styles)
@@ -1,6 +1,6 @@
1
1
  import type { CSSProperties } from 'react'
2
2
  import type { TextStyle } from 'react-native'
3
- import transform from 'css-to-react-native'
3
+ import transform, { type StyleTuple } from 'css-to-react-native'
4
4
 
5
5
  export interface HighlighterStyleSheet {
6
6
  [key: string]: TextStyle
@@ -16,20 +16,15 @@ const ALLOWED_STYLE_PROPERTIES: Record<string, boolean> = {
16
16
  }
17
17
 
18
18
  export function getRNStylesFromShikiStyle(shikiStyle: ReactStyle): HighlighterStyleSheet {
19
- return Object.fromEntries(
20
- Object.entries(shikiStyle)
21
- .map(([className, style]) => {
22
- // Filter the styles based on allowed properties
23
- const filteredStyle = Object.fromEntries(
24
- Object.entries(style).filter(([property]) => ALLOWED_STYLE_PROPERTIES[property]),
25
- )
19
+ return Object.fromEntries(Object.entries(shikiStyle).map(([className, style]) => [className, cleanStyle(style)]))
20
+ }
26
21
 
27
- // Convert the filtered style to React Native style
28
- const rnStyle: TextStyle = transform(Object.entries(filteredStyle)) as TextStyle
22
+ export function cleanStyle(style: CSSProperties) {
23
+ const styles = Object.entries(style)
24
+ .filter(([key]) => ALLOWED_STYLE_PROPERTIES[key])
25
+ .map<StyleTuple>(([key, value]) => [key, value])
29
26
 
30
- console.log(`Converted style for ${className}:`, rnStyle)
27
+ console.log('Filtered styles:', styles) // Add this line
31
28
 
32
- return [className, rnStyle] // Return the class name and the converted style
33
- }),
34
- )
29
+ return transform(styles)
35
30
  }