Skip to content

Instantly share code, notes, and snippets.

View piscisaureus's full-sized avatar
🦕

Bert Belder piscisaureus

🦕
View GitHub Profile
use std::cell::Cell;
use std::marker::PhantomData;
// Dummy placeholders representing raw v8 objects.
struct V8Isolate {}
struct V8HandleScope {}
// Scope that controls access to the Isolate and active HandleScope.
struct Scope<'a, S, P> {
parent: Option<&'a mut P>,
import { test, runIfMain } from "https://deno.land/std/testing/mod.ts";
import { assertEquals } from "https://deno.land/std/testing/asserts.ts";
export class Latch<T> {
// Array of `[resolve_function, value]` tuples.
send_queue: Array<[() => void, T]> = []
// Array of `resolve_function` values.
recv_queue: Array<(value: T) => void> = []
send(value: T): Promise<void> {
@piscisaureus
piscisaureus / sccache.exe
Last active January 15, 2019 05:25
sccache 0.2.8-alpha 9d30660a
This file has been truncated, but you can view the full file.
@piscisaureus
piscisaureus / leftspread.d.ts
Last active November 7, 2018 12:20
Typescript left spread
// A typescript helper type that lets you define functions with rest spread
// parameters at the beginning, like:
//
// `function cool(...many: string[], must_have: SomeObject, extra?: boolean)`;
//
// See test.ts for an example on how to use it.
export type Args = Array<unknown>;
// prettier-ignore
C:\Users\BertBelder\d\deno\out\debug>rustc ../../src/main.rs --crate-name=deno_bin --crate-type=staticlib --emit=link,dep-info --out-dir=rust_crates -Cextra-filename= -Cmetadata= -L dependency=rust_crates --color=always -g --extern hyper=rust_crates/libhyper.rlib --extern hyper_rustls=rust_crates/libhyper_rustls.rlib --extern futures=rust_crates/libfutures.rlib --extern lazy_static=rust_crates/liblazy_static.rlib --extern libc=rust_crates/liblibc.rlib --extern log=rust_crates/liblog.rlib --extern ring=rust_crates/libring.rlib --extern tempfile=rust_crates/libtempfile.rlib --extern rand=rust_crates/librand.rlib --extern tokio=rust_crates/libtokio.rlib --extern tokio_io=rust_crates/libtokio_io.rlib --extern tokio_fs=rust_crates/libtokio_fs.rlib --extern tokio_executor=rust_crates/libtokio_executor.rlib --extern tokio_threadpool=rust_crates/libtokio_threadpool.rlib --extern url=rust_crates/liburl.rlib --extern remove_dir_all=rust_crates/libremove_dir_all.rlib --extern dirs=rust_crates/libdirs.rlib --extern flatb
"C:\\\\Users\\\\BertBelder\\\\d\\\\deno4\\\\out\\\\debug\\\\../../third_party/llvm-build/Release+Asserts/bin/clang-cl.exe"
"-E"
"../../third_party/v8/src/compiler/graph-reducer.cc"
"-nologo"
"-nologo"
"-imsvc..\\\\..\\\\..\\\\..\\\\..\\\\..\\\\Program Files (x86)\\\\Microsoft Visual Studio\\\\2017\\\\Enterprise\\\\VC\\\\Tools\\\\MSVC\\\\14.14.26428\\\\ATLMFC\\\\include"
"-imsvc..\\\\..\\\\..\\\\..\\\\..\\\\..\\\\Program Files (x86)\\\\Microsoft Visual Studio\\\\2017\\\\Enterprise\\\\VC\\\\Tools\\\\MSVC\\\\14.14.26428\\\\include"
"-imsvc..\\\\..\\\\..\\\\..\\\\..\\\\..\\\\Program Files (x86)\\\\Windows Kits\\\\NETFXSDK\\\\4.6.1\\\\include\\\\um"
"-imsvc..\\\\..\\\\..\\\\..\\\\..\\\\..\\\\Program Files (x86)\\\\Windows Kits\\\\10\\\\include\\\\10.0.17134.0\\\\ucrt"
"-imsvc..\\\\..\\\\..\\\\..\\\\..\\\\..\\\\Program Files (x86)\\\\Windows Kits\\\\10\\\\include\\\\10.0.17134.0\\\\shared"
@piscisaureus
piscisaureus / shellquote.ps1
Last active September 25, 2018 19:59
Shell quote/unquote command Line Powershell
function BuildCommandLine([string[]] $ArgumentList) {
$special_chars = '[\x00-\x20"^%~!@&?*<>|()\\=]'
$quoted_args = $ArgumentList | foreach {
if ($_ -match $special_chars) {
# Double all double-quote characters.
$_ = $_ -replace '"', '""'
# Wrap in double-quote characters.
$_ = """$_"""
# Double all backslashes that are followed by \.
$_ = $_ -replace '[\\]+(?=")', '$0$0'
const {
openSync,
closeSync,
read,
readSync,
unlinkSync,
writeFileSync
} = require("fs");
const { tmpdir } = require("os");
const { resolve } = require("path");
deno v0.0.0 (file:///C:/Users/BertBelder/d/deno)
├── libc v0.2.42
├── log v0.4.3
│ └── cfg-if v0.1.4
├── sha1 v0.6.0
├── tempfile v3.0.3
│ ├── rand v0.5.4
│ │ ├── rand_core v0.2.1
│ │ └── winapi v0.3.5
│ ├── remove_dir_all v0.5.1
snapshot_creator.exe!std::_Container_base12::_Orphan_all() Line 253
at C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.14.26428\include\xutility(253)
snapshot_creator.exe!std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Orphan_all() Line 2007
at C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.14.26428\include\xstring(2007)
snapshot_creator.exe!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy_deallocate() Line 3960
at C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.14.26428\include\xstring(3960)
snapshot_creator.exe!deno::HandleException(v8::Local<v8::Context> context={...}, v8::Local<v8::Value> exception) Line 83
at C:\Users\BertBelder\d\deno\src\binding.cc(83)
snapshot_creator.exe!deno::Execute(v8::Local<v8::Context> context={...}, const char * js_filename, const char * js_source=0x00000247c7234080) Line 226
at C:\Users\BertBelder\d\deno\src\binding.cc(226)