createTestMapper function
RdfMapper
createTestMapper({})
Implementation
RdfMapper createTestMapper(
{required Map<Type, IriTerm> resourceTypes,
IriTermFactory? iriTermFactory,
RdfCore? rdfCore,
required RdfMapper Function(
RdfMapper rdfMapper,
IriTermMapper<(String id,)> Function<T>(Type) indexItemIriFactory,
IriTermMapper<(String id,)> Function<T>(RootIriConfig)
resourceIriFactory,
IriTermMapper<String> Function<T>(Type) resourceRefFactory)
initRdfMapper}) {
// Initialize mapper exactly as in Locorda.setup()
iriTermFactory ??= IriTerm.validated;
rdfCore ??= RdfCore.withStandardCodecs();
final localResourceLocator =
LocalResourceLocator(iriTermFactory: iriTermFactory);
final iriService = LocalResourceIriService(localResourceLocator);
final context = MappingContext(
resourceIriFactory: iriService.createResourceIriMapper,
resourceRefFactory: iriService.createResourceRefMapper,
indexItemIriFactory: iriService.createIndexItemIriMapper,
baseRdfMapper: RdfMapper(
registry: RdfMapperRegistry(),
iriTermFactory: iriTermFactory,
rdfCore: rdfCore,
),
);
RdfMapper mapper = initRdfMapper(
context.baseRdfMapper,
context.indexItemIriFactory,
context.resourceIriFactory,
context.resourceRefFactory,
);
final validation = iriService.finishSetupAndValidate(
ResourceTypeCache(resourceTypes),
);
validation.throwIfInvalid();
return mapper;
}