예제 #1
0
 public void Initialize(ITypeSystemContext context)
 {
     context.EvaluateJavascript(Scripts.Io);
     var io = new JsrIoInterop(context);
     context.RegisterInteropObject("$jsr_interop$jsr$io$internal", io);
     context.EvaluateJavascript("jsr.register_namespace('jsr.io.internal', $jsr_interop$jsr$io$internal);");
 }
예제 #2
0
        public void RegisterTypeSystem(ITypeSystemContext context, ITypeSystemExtension typeSystem)
        {
            var interoperableTypeSystem = typeSystem as IInteroperableTypeSystem;
            if (interoperableTypeSystem == null)
            {
                return;
            }

            var interopObject = interoperableTypeSystem.CreateInteropObject(context);
            var hiddenObjectName = GenerateHiddenObjectName(interopObject);
            _context.SetParameter(hiddenObjectName, interopObject.Object);
            EvaluateJavascript(string.Format("jsr.register_namespace(\"{0}\", {1});", interopObject.Namespace, hiddenObjectName));
        }
예제 #3
0
 public InteropObject CreateInteropObject(ITypeSystemContext context)
 {
     return new JsrHttpInterop().ToInteropObject("jsr.http");
 }
예제 #4
0
 public void Initialize(ITypeSystemContext context)
 {
 }
예제 #5
0
 public InteropObject CreateInteropObject(ITypeSystemContext context)
 {
     return new JsrConsoleInterop().ToInteropObject("jsr.con");
 }
예제 #6
0
 public JsrIoInterop(ITypeSystemContext context)
 {
     _context = context;
 }
예제 #7
0
 public void Initialize(ITypeSystemContext context)
 {
     context.EvaluateJavascript(Scripts.Json);
 }
예제 #8
0
 public InteropObject CreateInteropObject(ITypeSystemContext context)
 {
     return new JsrAppInterop(context).ToInteropObject("jsr.app");
 }
예제 #9
0
 public JsrAppInterop([NotNull] ITypeSystemContext context)
 {
     _context = context;
 }