RagpudR
Convex Community14mo ago
2 replies
Ragpud

Can I use "skip" with zQuery?

I'm trying to get a files metadata if a file id exists and "skip" would be perfect for that use case. When inspecting
useQuery
I can pass
skip
, but when I try it throws an error because of my zod schema in the query definition. Is there a workaround for this?
  const fileWithData = useQuery(
    api.files.getFile,
    stagedImageId
      ? {
          storageId: stagedImageId || "",
        }
      : "skip"
  );

zQuery definition
export const zQuery = zCustomQuery(query, NoOp);

Error
Argument of type '"skip" | { storageId: string | Id<"_storage">; }' is not assignable to parameter of type '{ storageId: string & { __tableName: "_storage"; }; } | "skip"'.
  Type '{ storageId: string | Id<"_storage">; }' is not assignable to type '{ storageId: string & { __tableName: "_storage"; }; } | "skip"'.
    Types of property 'storageId' are incompatible.
      Type 'string | Id<"_storage">' is not assignable to type '(string & { __tableName: "_storage"; }) | undefined'.
        Type 'string' is not assignable to type 'string & { __tableName: "_storage"; }'.
          Type 'string' is not assignable to type '{ __tableName: "_storage"; }'
Was this page helpful?