export function isValidPingInternalRepresentation()

in glean/src/core/pings/database.ts [289:304]


export function isValidPingInternalRepresentation(v: unknown): v is PingInternalRepresentation {
  if (isObject(v)) {
    const hasValidCollectionDate =
      "collectionDate" in v &&
      isString(v.collectionDate) &&
      isNumber(new Date(v.collectionDate).getTime());
    const hasValidPath = "path" in v && isString(v.path);
    const hasValidPayload = "payload" in v && isJSONValue(v.payload) && isObject(v.payload);
    const hasValidHeaders = !("headers" in v) || (isJSONValue(v.headers) && isObject(v.headers));
    if (!hasValidCollectionDate || !hasValidPath || !hasValidPayload || !hasValidHeaders) {
      return false;
    }
    return true;
  }
  return false;
}