Skip to content

Commit

Permalink
[compiler] Add flag for lowering context access
Browse files Browse the repository at this point in the history
*This is only for internal profiling, not intended to ship.*

[ghstack-poisoned]
  • Loading branch information
gsathya committed Jul 31, 2024
1 parent 19963f1 commit 2a6b779
Showing 1 changed file with 19 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -434,6 +434,25 @@ const EnvironmentConfigSchema = z.object({
* Here the variables `ref` and `myRef` will be typed as Refs.
*/
enableTreatRefLikeIdentifiersAsRefs: z.boolean().nullable().default(false),

/*
* If enabled, this lowers any calls to `useContext` hook to use a selector
* function.
*
* The compiler automatically figures out the keys by looking for the immediate
* destructuring of the return value from the useContext call. In the future,
* this can be extended to different kinds of context access like property
* loads and accesses over multiple statements as well.
*
* ```
* // input
* const {foo, bar} = useContext(MyContext);
*
* // output
* const {foo, bar} = useContext(MyContext, (c) => [c.foo, c.bar]);
* ```
*/
enableLowerContextAccess: z.boolean().nullable().default(false),
});

export type EnvironmentConfig = z.infer<typeof EnvironmentConfigSchema>;
Expand Down

0 comments on commit 2a6b779

Please sign in to comment.