You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
declarevarrequire:any;varHTMLDOMPropertyConfig=require('react/lib/HTMLDOMPropertyConfig');// Populate property map with ReactJS's attribute and property mappings// TODO handle/use .Properties value eg: MUST_USE_PROPERTY is not HTML attrfor(varpropnameinHTMLDOMPropertyConfig.Properties){if(!HTMLDOMPropertyConfig.Properties.hasOwnProperty(propname)){continue;}varmapFrom=HTMLDOMPropertyConfig.DOMAttributeNames[propname]||propname.toLowerCase();}/** * Repeats a string a certain number of times. * Also: the future is bright and consists of native string repetition: * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat * * @param {string} string String to repeat * @param {number} times Number of times to repeat string. Integer. * @see http://jsperf.com/string-repeater/2 */functionrepeatString(string,times){if(times===1){returnstring;}if(times<0){thrownewError();}varrepeated='';while(times){if(times&1){repeated+=string;}if(times>>=1){string+=string;}}returnrepeated;}/** * Determine if the string ends with the specified substring. * * @param {string} haystack String to search in * @param {string} needle String to search for * @return {boolean} */functionendsWith(haystack,needle){returnhaystack.slice(-needle.length)===needle;}/** * Trim the specified substring off the string. If the string does not end * with the specified substring, this is a no-op. * * @param {string} haystack String to search in * @param {string} needle String to search for * @return {string} */functiontrimEnd(haystack,needle){returnendsWith(haystack,needle)
? haystack.slice(0,-needle.length)
: haystack;}/** * Convert a hyphenated string to camelCase. */functionhyphenToCamelCase(string){returnstring.replace(/-(.)/g,function(match,chr){returnchr.toUpperCase();});}/** * Determines if the specified string consists entirely of whitespace. */functionisEmpty(string){return!/[^\s]/.test(string);}/** * Determines if the CSS value can be converted from a * 'px' suffixed string to a numeric value * * @param {string} value CSS property value * @return {boolean} */functionisConvertiblePixelValue(value){return/^\d+px$/.test(value);}exportclassHTMLtoJSX{privateoutput: string;privatelevel: number;private_inPreTag: boolean;/** * Handles processing of the specified text node * * @param {TextNode} node */_visitText=(node)=>{varparentTag=node.parentNode&&node.parentNode.tagName.toLowerCase();if(parentTag==='textarea'||parentTag==='style'){// Ignore text content of textareas and styles, as it will have already been moved// to a "defaultValue" attribute and "dangerouslySetInnerHTML" attribute respectively.return;}vartext=''if(this._inPreTag){// If this text is contained within a <pre>, we need to ensure the JSX// whitespace coalescing rules don't eat the whitespace. This means// wrapping newlines and sequences of two or more spaces in variables.text=text.replace(/\r/g,'').replace(/({2,}|\n|\t|\{|\})/g,function(whitespace){return'{'+JSON.stringify(whitespace)+'}';});}else{// If there's a newline in the text, adjust the indent levelif(text.indexOf('\n')>-1){}}this.output+=text;}};/** * Handles parsing of inline styles */exportclassStyleParser{styles={};toJSXString=()=>{for(varkeyinthis.styles){if(!this.styles.hasOwnProperty(key)){}}}}
With TypeScript nightly we get the following errors:
C:/repos/alm/tests/success/simple/bas.tsx:141 Property 'styles' does not exist on type 'HTMLtoJSX'.
C:/repos/alm/tests/success/simple/bas.tsx:142 Property 'styles' does not exist on type 'HTMLtoJSX'.
Basically this in the class function isn't inferring to StyleParser and instead inferring to HTMLtoJSX
Sorry for not being able to narrow it down, deleting portions of the file (e.g. the HTMLtoJSX._visitText method) makes the error go away. Note that this error only appeared in the last 10 days 🌹
The text was updated successfully, but these errors were encountered:
#8849 contains the only change to checkThisExpression in the last month or two. It's probably the culprit. It now passes /*includeOuterFunctions*/ true to getFlowTypeOfReference. Not sure why this would cause this bug. I'll have to investigate.
On this file
With TypeScript nightly we get the following errors:
Basically
this
in the class function isn't inferring toStyleParser
and instead inferring toHTMLtoJSX
Sorry for not being able to narrow it down, deleting portions of the file (e.g. the
HTMLtoJSX._visitText
method) makes the error go away. Note that this error only appeared in the last 10 days 🌹The text was updated successfully, but these errors were encountered: