Skip to content

Instantly share code, notes, and snippets.

View chrisber's full-sized avatar

Christian Karl Bernasko chrisber

View GitHub Profile
@chrisber
chrisber / cli.md
Created April 9, 2018 16:28 — forked from phrawzty/2serv.py
simple http server to dump request headers
$ curl -s -H "X-Something: yeah" localhost:8000 > /dev/null
$ python serv.py
ERROR:root:User-Agent: curl/7.37.1
Host: localhost:8000
Accept: */*
X-Something: yeah
This file has been truncated, but you can view the full file.
➜ io.js git:(79dd8f6) ✗ export CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
➜ io.js git:(79dd8f6) ✗ export CXX=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
➜ io.js git:(79dd8f6) ✗ ./configure --dest-cpu=ia32
creating ./icu_config.gypi
{ 'target_defaults': { 'cflags': [],
'default_configuration': 'Release',
'defines': ['OPENSSL_NO_SSL2=1'],
'include_dirs': [],
'libraries': []},
'variables': { 'clang': 1,
@chrisber
chrisber / gcc-4.9_g++-4.9_osx_10.10
Last active August 29, 2015 14:18
gcc-4.9_g++-4.9_osx_10.10
➜ io.js git:(79dd8f6) ✗ export CC="/usr/local/bin/gcc-4.9 -fPIC"
➜ io.js git:(79dd8f6) ✗ export CXX="/usr/local/bin/g++-4.9 -fPIC"
➜ io.js git:(79dd8f6) ✗ export LINK="/usr/local/bin/g++-4.9 -fPIC"
➜ io.js git:(79dd8f6) ✗ ./configure --dest-cpu=ia32
creating ./icu_config.gypi
{ 'target_defaults': { 'cflags': [],
'default_configuration': 'Release',
'defines': ['OPENSSL_NO_SSL2=1'],
'include_dirs': [],
'libraries': []},
@chrisber
chrisber / gist:5615eb9e85696422e31a
Created March 25, 2015 10:00
v8dotnet_lldb_osx_mono
sudo lldb
(lldb) target create mono
Current executable set to 'mono' (i386).
(lldb) run --debug V8.Net-Console.exe
Process 12784 launched: '/usr/bin/mono' (i386)
warning: (i386) /Library/Frameworks/Mono.framework/Versions/3.10.0/lib/mono/4.5/mscorlib.dll.dylib empty dSYM file detected, dSYM was created with an executable with no debug info.
(lldb) c
Creating a V8Engine instance ... Done!

#V8dotnet

##Examples

  • How to create a object
  • add it at function argument
  • add it to the global space
  • How to create a function like setTimeout
  • How to create a log function
  • How to access a the function of an object
  • How to pass a parameter to a function of an object.
// Blog post from Nicholas Wolverson
// http://www.scottlogic.com/blog/2015/01/20/typescript-compiler-api.html
function getCompilerOutput(text) {
host.addFile(dummyScriptName, text);
var output = languageService.getEmitOutput(dummyScriptName).outputFiles;
return output && output.length > 0 ? output[0].text : "";
}
function getMatchingBracePosition(text, pos) {
host.addFile(dummyScriptName, text);
public static void CleanupSemanticCache()
{
var ls = v8Engine.GlobalObject.GetProperty("languageService");
var resultHandle = ls.Call("cleanupSemanticCache", null);
}
public static Diagnostic[] GetSyntacticDiagnostics(string fileName)
{
Handle fileNameHandle = v8Engine.CreateValue(fileName);
var ls = v8Engine.GlobalObject.GetProperty("languageService");
@chrisber
chrisber / gist:e8c4394f7d887426bebd
Last active August 29, 2015 14:15
dtmc statechart
dtmc
module statechart
// local state
s : [0..4] init 0;
[] s=0 -> 1.0 : (s'=1) ;
[] s=1 -> 0.2 : (s'=3) + 0.8 : (s'=2);
[] s=2 -> 1.0 : (s'=1);
@chrisber
chrisber / v8dotnet_global_function.cs
Last active August 29, 2015 14:14
#v8dotnet Adding a fuction to global context setTimeout()
public class setTimeout : V8Function
{
public override ObjectHandle Initialize(bool isConstructCall, params InternalHandle[] args)
{
Callback = setTimeoutConstructWrapper;
return base.Initialize(isConstructCall, args);
}
@chrisber
chrisber / V8dotnetTest.cs
Last active August 29, 2015 14:14
#v8dotnet acccess the function of a global object in javascript and return an object from it .
// This is the correct solution provided by jamesnw
// https://gist.github.com/rjamesnw/5ee5a0a2a769b321e1d0
// I added my solution based on his at the bottom.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using V8.Net;