diff --git a/qlib/Mapper.qm b/qlib/Mapper.qm index 827e48203c..662de3911e 100644 --- a/qlib/Mapper.qm +++ b/qlib/Mapper.qm @@ -871,7 +871,7 @@ Mapper mapv(DataMap); "API", opts.input_provider.getName(), self.className()); } - if (!input) { + if (!exists input) { error("\"input_provider\" %y passed to %s::constructor() has an empty record type", input_provider.getName(), self.className()); } @@ -888,10 +888,10 @@ Mapper mapv(DataMap); private:internal *hash getFields(string pfx, AbstractDataProviderType type) { *hash fields = type.getFields(); - if (!fields) { + if (!fields && pfx != "input") { error("%s provider provides type %y which cannot be mapped", pfx, type.getName()); } - return fields; + return fields ?? {}; } private setOutputProvider(hash opts) {