question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

v2 beta: Type 'Shape' does not satisfy the constraint 'ZodRawShape'

See original GitHub issue

When compiling with zod@2.0.0-beta.9 on TypeScript 4.0.3, I get this error:

node_modules/zod/lib/src/helpers/partialUtil.d.ts(11,39): error TS2344: Type 'Shape' does not satisfy the constraint 'ZodRawShape'.
node_modules/zod/lib/src/helpers/partialUtil.d.ts(11,94): error TS2344: Type '{ [k in keyof Shape]: DeepPartial<Shape[k]>; }' does not satisfy the constraint 'ZodRawShape'.
  Type 'DeepPartial<Shape[k]>' is not assignable to type 'ZodTypeAny'.
    Type '{ object: Shape[k] extends ZodObject<infer Shape, infer Params, ZodTypeAny, { [k in keyof addQuestionMarks<{ [k in keyof infer Shape]: infer Shape[k]["_output"]; }>]: addQuestionMarks<...>[k]; }, { [k in keyof addQuestionMarks<...>]: addQuestionMarks<...>[k]; }> ? ZodOptional<...> : never; rest: ReturnType<...>; }[S...' is not assignable to type 'ZodType<any, any, any>'.
      Type '{ object: Shape[k] extends ZodObject<infer Shape, infer Params, ZodTypeAny, { [k in keyof addQuestionMarks<{ [k in keyof infer Shape]: infer Shape[k]["_output"]; }>]: addQuestionMarks<...>[k]; }, { [k in keyof addQuestionMarks<...>]: addQuestionMarks<...>[k]; }> ? ZodOptional<...> : never; rest: ReturnType<...>; }[S...' is not assignable to type 'ZodType<any, any, any>'.
        Type '{ object: Shape[k] extends ZodObject<infer Shape, infer Params, ZodTypeAny, { [k in keyof addQuestionMarks<{ [k in keyof infer Shape]: infer Shape[k]["_output"]; }>]: addQuestionMarks<...>[k]; }, { [k in keyof addQuestionMarks<...>]: addQuestionMarks<...>[k]; }> ? ZodOptional<...> : never; rest: ReturnType<...>; }[S...' is not assignable to type 'ZodType<any, any, any>'.
          Type '{ object: Shape[k] extends ZodObject<infer Shape, infer Params, ZodTypeAny, { [k in keyof addQuestionMarks<{ [k in keyof infer Shape]: infer Shape[k]["_output"]; }>]: addQuestionMarks<...>[k]; }, { [k in keyof addQuestionMarks<...>]: addQuestionMarks<...>[k]; }> ? ZodOptional<...> : never; rest: ReturnType<...>; }[S...' is not assignable to type 'ZodType<any, any, any>'.
            Type '(Shape[k] extends ZodObject<infer Shape, infer Params, ZodTypeAny, { [k in keyof addQuestionMarks<{ [k in keyof infer Shape]: infer Shape[k]["_output"]; }>]: addQuestionMarks<{ [k in keyof infer Shape]: infer Shape[k]["_output"]; }>[k]; }, { [k in keyof addQuestionMarks<...>]: addQuestionMarks<...>[k]; }> ? ZodOptio...' is not assignable to type 'ZodType<any, any, any>'.
              Type 'ReturnType<Shape[k]["optional"]>' is not assignable to type 'ZodType<any, any, any>'.
                Type 'unknown' is not assignable to type 'ZodType<any, any, any>'.
                  Type 'ReturnType<Shape[keyof Shape]["optional"]>' is not assignable to type 'ZodType<any, any, any>'.
                    Type 'unknown' is not assignable to type 'ZodType<any, any, any>'.
                      Type 'ReturnType<Shape[string | number | symbol]["optional"]>' is not assignable to type 'ZodType<any, any, any>'.
                        Type 'unknown' is not assignable to type 'ZodType<any, any, any>'.
                          Type 'ReturnType<Shape[string]["optional"]> | ReturnType<Shape[number]["optional"]> | ReturnType<Shape[symbol]["optional"]>' is not assignable to type 'ZodType<any, any, any>'.
                            Type 'ReturnType<Shape[string]["optional"]>' is not assignable to type 'ZodType<any, any, any>'.
                              Type 'unknown' is not assignable to type 'ZodType<any, any, any>'.
node_modules/zod/lib/src/helpers/partialUtil.d.ts(12,45): error TS2344: Type 'Shape[k]' does not satisfy the constraint 'ZodTypeAny'.
  Type 'Shape[keyof Shape]' is not assignable to type 'ZodType<any, any, any>'.
    Type 'Shape[string] | Shape[number] | Shape[symbol]' is not assignable to type 'ZodType<any, any, any>'.
      Type 'Shape[string]' is not assignable to type 'ZodType<any, any, any>'.
  • zod@1.11.9 compiles fine
  • When looking at node_modules/zod/lib/src/helpers/partialUtil.d.ts(11,39) I see red squiggles in VS Code. I suspect it could be a type error in the library.

My tsconfig.json:

{
  "compilerOptions": {
    "module": "CommonJS",
    "target": "ES2019",
    "strict": true,
    "outDir": "dist",
    "esModuleInterop": true
  },
  "include": ["src"]
}

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Reactions:7
  • Comments:11 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
marlonbernardescommented, Oct 16, 2020

@pepakriz I’ve created a new issue (#192) and opened a PR (#193) which should fix it.

1reaction
max-mykhailenkocommented, Oct 7, 2020

@MajorBreakfast found that build works with “2.0.0-beta.5”

Read more comments on GitHub >

github_iconTop Results From Across the Web

Type 'Shape' does not satisfy the constraint 'ZodRawShape ...
When compiling with zod@2.0.0-beta.9 on TypeScript 4.0.3, I get this error: node_modules/zod/lib/src/helpers/partialUtil.d.ts(11,39): error ...
Read more >
Type 'MyType' does not satisfy the constraint 'ObjectShape ...
Instead of specifying the interface to the object, do it to the shape with a Record - <Record<keyof MyType, yup.AnySchema>> .
Read more >
No more need for `extends` in type definitions! : r/typescript
This approach still refines the type T and the compiler throws when it doesn't extend ZodRawShape . As I'm using composing this interface...
Read more >
ZodObject not inferred when using ZodSchema #858 - bytemeta
TS2344 : Type 'ActiveService' does not satisfy the constraint 'ZodRawShape'. Index signature for type 'string' is missing in type 'ActiveService'.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found