|
|
-{"version":3,"file":"append-extensions.js","sources":["../../../../../src/services/codemirror-editor/use-codemirror-editor/utils/append-extensions.ts"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { Compartment, Extension, StateEffect } from '@codemirror/state';\nimport { EditorView } from '@codemirror/view';\n\ntype CleanupFunctions = () => void;\nexport type AppendExtensions = (extensions: Extension | Extension[]) => CleanupFunctions | undefined;\n\nexport const useAppendExtensions = (view?: EditorView): AppendExtensions => {\n\n return useCallback((args) => {\n const extensions = Array.isArray(args)\n ? args\n : [args];\n\n const compartment = new Compartment();\n view?.dispatch({\n effects: extensions.map((extension) => {\n return StateEffect.appendConfig.of(\n compartment.of(extension),\n );\n }),\n });\n\n // return cleanup function\n return () => {\n view?.dispatch({\n effects: compartment.reconfigure([]),\n });\n };\n }, [view]);\n\n};\n"],"names":["useAppendExtensions","view","useCallback","args","extensions","compartment","Compartment","extension","StateEffect"],"mappings":";;AAQa,MAAAA,IAAsB,CAACC,MAE3BC,EAAY,CAACC,MAAS;AAC3B,QAAMC,IAAa,MAAM,QAAQD,CAAI,IACjCA,IACA,CAACA,CAAI,GAEHE,IAAc,IAAIC;AACxB,SAAAL,KAAA,QAAAA,EAAM,SAAS;AAAA,IACb,SAASG,EAAW,IAAI,CAACG,MAChBC,EAAY,aAAa;AAAA,MAC9BH,EAAY,GAAGE,CAAS;AAAA,IAAA,CAE3B;AAAA,EAAA,IAII,MAAM;AACX,IAAAN,KAAA,QAAAA,EAAM,SAAS;AAAA,MACb,SAASI,EAAY,YAAY,EAAE;AAAA,IAAA;AAAA,EACpC;AACH,GACC,CAACJ,CAAI,CAAC;"}
|
|
|