SetterFunction.cs 667 B

1234567891011121314151617181920212223242526
  1. using Jint.Native;
  2. using Jint.Native.Function;
  3. namespace Jint.Runtime.Interop;
  4. /// <summary>
  5. /// Represents a FunctionInstance wrapping a CLR setter.
  6. /// </summary>
  7. internal sealed class SetterFunction : Function
  8. {
  9. private static readonly JsString _name = new JsString("set");
  10. private readonly Action<JsValue, JsValue> _setter;
  11. public SetterFunction(Engine engine, Action<JsValue, JsValue> setter)
  12. : base(engine, engine.Realm, _name)
  13. {
  14. _setter = setter;
  15. }
  16. protected internal override JsValue Call(JsValue thisObject, JsCallArguments arguments)
  17. {
  18. _setter(thisObject, arguments[0]);
  19. return Null;
  20. }
  21. }