on master help sign in
javascript: address fields directly via ['fieldname']
c999e14raichoo
src/IRTS/CodegenJavaScript.hs+9−1
@@ -368,7 +368,15 @@ translateExpression (SForeign _ _ fun args)
368
368
369 | "[]" `isSuffixOf` fun
369 | "[]" `isSuffixOf` fun
370 , (obj:idx:[]) <- args =
370 , (obj:idx:[]) <- args =
371− concat [object obj, index idx]
371+ object obj ++ index idx
372+
373+ | "[" `isPrefixOf` fun && "]=" `isSuffixOf` fun
374+ , (obj:val:[]) <- args =
375+ concat [object obj, '[' : name ++ "]", assign val]
376+
377+ | "[" `isPrefixOf` fun && "]" `isSuffixOf` fun
378+ , (obj:[]) <- args =
379+ object obj ++ '[' : name ++ "]"
372
380
373 | "." `isPrefixOf` fun, "=" `isSuffixOf` fun
381 | "." `isPrefixOf` fun, "=" `isSuffixOf` fun
374 , (obj:val:[]) <- args =
382 , (obj:val:[]) <- args =