listClass top-level property

ClassInfo<List> listClass
getter/setter pair

Implementation

ClassInfo<List> listClass = ClassInfo<List>(
    name: "DartList",
    newInstance: (_,__) => [],
    functions: {
      "set": JsFunction.ins((obj, argv) => obj[_toIndex(argv[0])] = argv[1]),
      "get": JsFunction.ins((obj, argv) => obj[_toIndex(argv[0])]),
      "toJSON": JsFunction.ins((obj, argv) => dartToJsValue((argv[0] as JsValue).script, obj)),
    },
    fields: {
      "length": JsField.ins(
          get: (obj) => obj.length,
          set: (obj, argv) => obj.length = argv[0]
      )
    }
);