Skip to content

Instantly share code, notes, and snippets.

Avatar

Tobie Langel tobie

View GitHub Profile
View issue-src.txt
Primarily by grouping types into larger categories, but also by recategorizing callback interfaces as more like dictionaries than normal interfaces.
Fixes #50 and #59.
<!--
This comment and the below content is programatically generated.
You may add a comma-separated list of anchors you'd like a
direct link to below (e.g. #idl-serializers, #idl-sequence):
#dfn-distinguishable
View comment.md.txt
Fixes https://www.w3.org/Bugs/Public/show_bug.cgi?id=29450.
<!--
This comment and the below content is programatically generated.
You may add a comma-separated list of anchors you'd like a
direct link to below (e.g. #idl-serializers, #idl-sequence):
Don't remove this comment or modify anything below this line.
-->
@tobie
tobie / notes.md
Created Jul 20, 2018 — forked from calebamiles/notes.md
Notes on Open Source Governance Models
View notes.md

Node.js Foundation

  • Healthy Open Source
    • explicit goal to be a lightweight process
    • concrete ability to scale to hundreds of contributors
    • good fundamental goals
      • transparency
      • participation
      • efficacy
    • ecosystem projects encouraged but not required to adopt foundation governance templates
    • creation of projects under TSC explicity delegates authority from TSC to project TC
View grammar.js
const Grammar = require('syntax-cli').Grammar;
const LLParsingTable = require('syntax-cli').LLParsingTable;
const jsdom = require("jsdom");
function getRulesFromDOM(window) {
let rules = window.document.querySelectorAll("pre.grammar[id]");
return [].map.call(rules, pre => pre.textContent);
}
const REGEXP = /(\s*:\n\s*)|\b(integer|float|identifier|string|whitespace|comment|other)\b|(\s*\n\s*)|(ε)/g;
View current.webidl
[Exposed=Window,
NoInterfaceObject]
interface WindowSessionStorage {
readonly attribute Storage sessionStorage;
};
Window implements WindowSessionStorage;
View Inheriting "Mixins"
# Here we're looking for NoInterfaceObjects that have a base class.
# Luckily the only one we could find is not used as a mixin.
# awk '/NoInterfaceObject/,/};/' *.webidl | grep -o "interface .*:.* {" | cut -d" " -f4 | sort -u
BoxObject
View crypto.webidl
[NoInterfaceObject, Exposed=(Window,Worker)] // seems redundant
interface GlobalCrypto {
[Throws] readonly attribute Crypto crypto;
};
Window implements GlobalCrypto;
WorkerGlobalScope implements GlobalCrypto;
View traverse.js
function traverse_inherited_and_consequential_interfaces(stack, callback) {
var I = stack.pop();
callback(I);
I.array["implements"][I.name].forEach(id => {
var mixin = I.array.members[id];
if (!mixin) {
throw new Error("Interface " + id + " not found (implemented by " + I.name + ")");
}
var interfaces = mixin.get_inheritance_stack();
traverse_inherited_and_consequential_interfaces(interfaces, callback);
View desired.output.js
parsed_idl.members.forEach(function(member) {
this.members[parsed_idl.name].members.push(
new IdlInterfaceMember(member)
);
}.bind(this));
View nav.js
// Moved to https://github.com/tobie/htmldiff-nav/blob/master/index.js