Skip to content

Commit

Permalink
refactor(extensions)!: rename extension
Browse files Browse the repository at this point in the history
  • Loading branch information
exuanbo committed Jul 18, 2023
1 parent b130914 commit 828a7ae
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 11 deletions.
2 changes: 2 additions & 0 deletions .yarn/versions/14690e0c.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
releases:
"@codemirror-toolkit/extensions": minor
4 changes: 2 additions & 2 deletions examples/react/with-update-listener/src/App.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import './App.css'

import { EditorView } from '@codemirror/view'
import { addUpdateListener, updateListeners } from '@codemirror-toolkit/extensions'
import { addUpdateListener, updateListener } from '@codemirror-toolkit/extensions'
import { createCodeMirror } from '@codemirror-toolkit/react'
import { useState } from 'react'

Expand All @@ -13,7 +13,7 @@ const { useViewEffect, useContainerRef } = createCodeMirror<HTMLDivElement>((pre
border: '1px solid gray',
},
}),
updateListeners(),
updateListener(),
],
}))

Expand Down
2 changes: 1 addition & 1 deletion packages/extensions/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
export * from './extensionManager.js'
export * from './updateListeners.js'
export * from './updateListener.js'
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ export const UpdateListenerEffect = /*#__PURE__*/ StateEffect.define<UpdateListe

type UpdateListenerSet = Set<UpdateListener>

const updateListenersField = /*#__PURE__*/ StateField.define<UpdateListenerSet>({
const updateListenerField = /*#__PURE__*/ StateField.define<UpdateListenerSet>({
create() {
return new Set()
},
Expand All @@ -39,20 +39,20 @@ const updateListenersField = /*#__PURE__*/ StateField.define<UpdateListenerSet>(
},
})

export function updateListeners(...initialListeners: UpdateListener[]): Extension {
return updateListenersField.init(() => new Set(initialListeners))
export function updateListener(...initialListeners: UpdateListener[]): Extension {
return updateListenerField.init(() => new Set(initialListeners))
}

function assertUpdateListenersField(view: EditorView): void {
if (!view.state.field(updateListenersField, /* require: */ false)) {
throw new Error('updateListeners extension is not enabled')
function assertUpdateListenerField(view: EditorView): void {
if (!view.state.field(updateListenerField, /* require: */ false)) {
throw new Error('updateListener extension is not enabled')
}
}

export type Unsubscribe = () => void

export function addUpdateListener(view: EditorView, listener: UpdateListener): Unsubscribe {
assertUpdateListenersField(view)
assertUpdateListenerField(view)
view.dispatch({
effects: UpdateListenerEffect.of({ add: [listener] }),
})
Expand All @@ -62,7 +62,7 @@ export function addUpdateListener(view: EditorView, listener: UpdateListener): U
}

export function removeUpdateListener(view: EditorView, listener: UpdateListener): void {
assertUpdateListenersField(view)
assertUpdateListenerField(view)
view.dispatch({
effects: UpdateListenerEffect.of({ remove: [listener] }),
})
Expand Down

0 comments on commit 828a7ae

Please sign in to comment.