v0.3.1 with Saxon fully working
This commit is contained in:
27
src/transform/transformService.ts
Normal file
27
src/transform/transformService.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { nativeXsltEngine } from './nativeXsltEngine';
|
||||
import { saxonJsDynamicEngine } from './saxonJsDynamicEngine';
|
||||
|
||||
import type {
|
||||
TransformEngine,
|
||||
TransformEngineId,
|
||||
TransformRequest,
|
||||
TransformResult,
|
||||
} from './transformTypes';
|
||||
|
||||
const engines: Record<TransformEngineId, TransformEngine> = {
|
||||
'saxon-js-dynamic': saxonJsDynamicEngine,
|
||||
'native-xsltprocessor': nativeXsltEngine,
|
||||
};
|
||||
|
||||
export function getTransformEngine(id: TransformEngineId): TransformEngine {
|
||||
return engines[id] ?? saxonJsDynamicEngine;
|
||||
}
|
||||
|
||||
export async function runTransformation(
|
||||
request: TransformRequest
|
||||
): Promise<TransformResult> {
|
||||
const engine = getTransformEngine(request.engine);
|
||||
return engine.transform(request);
|
||||
}
|
||||
|
||||
export const availableTransformEngines = Object.values(engines);
|
||||
Reference in New Issue
Block a user