98
let disableAllMemoization = false;
99
let validateRefAccessDuringRender = true;
100
let enableEmitFreeze = null;
101
+ let enableCodegenLoweredFunctionExpressions = false;
102
if (firstLine.indexOf("@forgetDirective") !== -1) {
103
enableOnlyOnUseForgetDirective = true;
104
}
104
- if (firstLine.indexOf("@gating") !== -1) {
105
+ if (firstLine.includes("@gating")) {
106
gating = {
107
source: "ReactForgetFeatureFlag",
108
importSpecifierName: "isForgetEnabled_Fixtures",
109
};
110
}
110
- if (firstLine.indexOf("@instrumentForget") !== -1) {
111
+ if (firstLine.includes("@instrumentForget")) {
112
instrumentForget = {
113
source: "react-forget-runtime",
114
importSpecifierName: "useRenderCounter",
115
};
116
}
116
- if (firstLine.indexOf("@panicOnBailout false") !== -1) {
117
+ if (firstLine.includes("@panicOnBailout false")) {
118
panicOnBailout = false;
119
}
119
- if (firstLine.indexOf("@memoizeJsxElements false") !== -1) {
120
+ if (firstLine.includes("@memoizeJsxElements false")) {
121
memoizeJsxElements = false;
122
}
122
- if (firstLine.indexOf("@enableAssumeHooksFollowRulesOfReact true") !== -1) {
123
+ if (firstLine.includes("@enableAssumeHooksFollowRulesOfReact true")) {
124
enableAssumeHooksFollowRulesOfReact = true;
125
}
125
- if (firstLine.indexOf("@enableTreatHooksAsFunctions false") !== -1) {
126
+ if (firstLine.includes("@enableTreatHooksAsFunctions false")) {
127
enableTreatHooksAsFunctions = false;
128
}
128
- if (firstLine.indexOf("@disableAllMemoization true") !== -1) {
129
+ if (firstLine.includes("@disableAllMemoization true")) {
130
disableAllMemoization = true;
131
}
131
- if (firstLine.indexOf("@validateRefAccessDuringRender false") !== -1) {
132
+ if (firstLine.includes("@validateRefAccessDuringRender false")) {
133
validateRefAccessDuringRender = false;
134
}
134
- if (firstLine.indexOf("@enableEmitFreeze") !== -1) {
135
+ if (firstLine.includes("@enableCodegenLoweredFunctionExpressions")) {
136
+ enableCodegenLoweredFunctionExpressions = true;
137
+ }
138
+ if (firstLine.includes("@enableEmitFreeze")) {
139
enableEmitFreeze = {
140
source: "react-forget-runtime",
141
importSpecifierName: "makeReadOnly",
166
validateRefAccessDuringRender,
167
validateFrozenLambdas: true,
168
enableEmitFreeze,
169
+ enableCodegenLoweredFunctionExpressions,
170
},
171
logger: null,
172
gating,