Skip to content

Commit

Permalink
Sync types between initial configure and reconfigure
Browse files Browse the repository at this point in the history
  • Loading branch information
remcohaszing committed Jul 1, 2022
1 parent f1c58aa commit e24d5ed
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 11 deletions.
14 changes: 7 additions & 7 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import {
} from './languageFeatures.js'
import { UnifiedWorker } from './worker.js'

export interface MonacoUnifiedOptions {
export interface MonacoUnifiedOptions<Configuration> {
/**
* The label to use for the worker.
*
Expand All @@ -25,7 +25,7 @@ export interface MonacoUnifiedOptions {
/**
* The configuration that will be sent to the worker.
*/
configuration?: unknown
configuration?: Configuration

/**
* By default `monaco-unified` supports formatting using unified. Set this to `false` to disable.
Expand All @@ -42,11 +42,11 @@ export interface MonacoUnifiedOptions {
validation?: boolean
}

export interface MonacoUnified extends IDisposable {
export interface MonacoUnified<Configuration> extends IDisposable {
/**
* Update the configuration.
*/
reconfigure: (configuration: unknown) => void
reconfigure: (configuration: Configuration) => void
}

/**
Expand All @@ -56,10 +56,10 @@ export interface MonacoUnified extends IDisposable {
* @param options - Options to configure `monaco-unified`.
* @returns A disposable
*/
export function configureMonacoUnified(
export function configureMonacoUnified<Configuration>(
monaco: typeof import('monaco-editor'),
options: MonacoUnifiedOptions,
): MonacoUnified {
options: MonacoUnifiedOptions<Configuration>,
): MonacoUnified<Configuration> {
const workerManager = createWorkerManager<UnifiedWorker>(monaco, {
label: options.label,
moduleId: options.label,
Expand Down
8 changes: 4 additions & 4 deletions src/worker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ export interface UnifiedWorker {
/**
* A function for getting a processor to use for validation and formatting.
*/
export type ProcessorGetter<T> = (
export type ProcessorGetter<Configuration> = (
file: VFile,
configuration: T,
configuration: Configuration,
) => Processor | PromiseLike<Processor>

/**
Expand Down Expand Up @@ -84,8 +84,8 @@ function vfileMessageToMarkerData(message: VFileMessage): SerializableMarkerData
*
* @param getProcessor - A function for getting a processor.
*/
export function initialize<T>(getProcessor: ProcessorGetter<T>): void {
initializeWorker<UnifiedWorker, T>((ctx, createData) => {
export function initialize<Configuration>(getProcessor: ProcessorGetter<Configuration>): void {
initializeWorker<UnifiedWorker, Configuration>((ctx, createData) => {
const getVFile = (uri: string): VFile | undefined => {
const models = ctx.getMirrorModels()
for (const model of models) {
Expand Down

0 comments on commit e24d5ed

Please sign in to comment.