def METHOD_NAME(indicts, reports_directory):
    vals_file_path = reports_directory / "reportvals.js"
    with SynchronizedTable(vals_file_path) as vals_file:
        for indict in indicts:
            tags = indict.get("tags", dict())
            vals = indict.get("vals", dict())
            if len(vals) > 0 and "sub" in tags:  # only for first level
                outdict = FuncTagsSchema().dump(tags)
                assert isinstance(outdict, dict)
                for key, value in vals.items():
                    if key in frozenset(["sdc_method", "fallback_registration"]):
                        continue
                    if isinstance(value, (int, float)):
                        outdict[key] = value
                        continue
                    continuous = Continuous.load(value)
                    if continuous is not None:
                        outdict[key] = continuous.mean
                        continue
                    logger.warning(
                        f'Omitting invalid key-value pair "{key}={value}"'
                        " from reportvals.json"
                    )
                outdict.update(vals)
                vals_file.put(outdict)
        vals_file.to_table()