11import React , { CSSProperties , useEffect , useRef , useState } from "react"
2- import { apiMerge , DiffType } from "api-smart-diff"
2+ import { apiMerge , DiffType , Rules } from "api-smart-diff"
33
44import { DiffContext , DiffContextProps } from "../helpers/diff.context"
55import { DiffBlockData , metaKey } from "../diff-builder/common"
@@ -19,6 +19,10 @@ export interface ApiDiffViewerProps {
1919 * object after
2020 */
2121 after : object | string
22+ /**
23+ * Custom merge rules
24+ */
25+ rules ?: Rules
2226 /**
2327 * Display document diff in inline or side-by-side mode
2428 */
@@ -61,6 +65,7 @@ export const ApiDiffViewer = ({
6165 display = "side-by-side" ,
6266 format = "yaml" ,
6367 filters = [ ] ,
68+ rules,
6469 navigation = false ,
6570 useWorker = true ,
6671 height = "100vh" ,
@@ -96,9 +101,9 @@ export const ApiDiffViewer = ({
96101
97102
98103 if ( useWorker ) {
99- merge ( _before , _after , { metaKey, arrayMeta : true } )
104+ merge ( _before , _after , { metaKey, arrayMeta : true , rules } )
100105 } else {
101- setData ( apiMerge ( _before , _after , { metaKey, arrayMeta : true } ) )
106+ setData ( apiMerge ( _before , _after , { metaKey, arrayMeta : true , rules } ) )
102107 }
103108 } catch ( error ) {
104109 onError && onError ( "Unexpected data" )
0 commit comments