typed-dom
Advanced tools
Comparing version 0.0.4 to 0.0.5
@@ -1,2 +0,2 @@ | ||
/*! typed-dom v0.0.4 https://github.com/falsandtru/typed-dom | (c) 2016, falsandtru | MIT License (https://opensource.org/licenses/MIT) */ | ||
/*! typed-dom v0.0.5 https://github.com/falsandtru/typed-dom | (c) 2016, falsandtru | MIT License (https://opensource.org/licenses/MIT) */ | ||
define = typeof define === 'function' && define.amd | ||
@@ -67,15 +67,17 @@ ? define | ||
function observe(contents) { | ||
return Object.keys(contents).reduce(function (obj, k) { | ||
Object.defineProperty(obj, k, { | ||
var cache = {}; | ||
return Object.keys(contents).reduce(function (contents, k) { | ||
cache[k] = contents[k]; | ||
Object.defineProperty(contents, k, { | ||
get: function () { | ||
return contents[k]; | ||
return cache[k]; | ||
}, | ||
set: function (newElt) { | ||
var oldElt = contents[k]; | ||
contents[k] = newElt; | ||
var oldElt = cache[k]; | ||
cache[k] = newElt; | ||
raw.replaceChild(newElt.raw, oldElt.raw); | ||
} | ||
}); | ||
return obj; | ||
}, {}); | ||
return contents; | ||
}, contents); | ||
} | ||
@@ -82,0 +84,0 @@ } |
@@ -1,2 +0,2 @@ | ||
/*! typed-dom v0.0.4 https://github.com/falsandtru/typed-dom | (c) 2016, falsandtru | MIT License (https://opensource.org/licenses/MIT) */ | ||
define="function"==typeof define&&define.amd?define:function(){"use strict";var n="typed-dom",e={};return function t(u,r,i){return i?void i.apply(this,r.map(function(n){switch(n){case"require":return"function"==typeof require?require:void 0;case"exports":return-1===u.indexOf("/")?e[u]="undefined"==typeof exports?self[u]=self[u]||{}:exports:e[u]=e.hasOwnProperty(u)?e[u]:{};default:return".d"===n.slice(-2)&&{}||e.hasOwnProperty(n)&&e[n]||"function"==typeof require&&require(n)||self[n]}})):void t(n,u,r)}}(),define("src/dom/builder",["require","exports"],function(n,e){"use strict";function t(n,e){function t(n){return Object.keys(n).reduce(function(e,t){return Object.defineProperty(e,t,{get:function(){return n[t]},set:function(e){var r=n[t];n[t]=e,u.replaceChild(e.raw,r.raw)}}),e},{})}void 0===e&&(e=[]);var u=n();return void Object.keys(e).forEach(function(n){return void u.appendChild(e[n].raw)}),e=e instanceof Array?Object.freeze(e):t(e),Object.freeze({raw:u,get contents(){return e},set contents(n){e instanceof Array?(n=Object.freeze(n),u.innerHTML="",void n.forEach(function(n){return void u.appendChild(n.raw)})):(void Object.keys(n).forEach(function(t){return void u.replaceChild(n[t].raw,e[t].raw)}),n=t(n)),e=n}})}e.build=t}),define("src/dom/html",["require","exports","src/dom/builder"],function(n,e,t){"use strict";e.TypedHTML={a:function(n,e){return void 0===e&&(e=function(){return document.createElement("a")}),t.build(e,n)},abbr:function(n,e){return void 0===e&&(e=function(){return document.createElement("abbr")}),t.build(e,n)},acronym:function(n,e){return void 0===e&&(e=function(){return document.createElement("acronym")}),t.build(e,n)},address:function(n,e){return void 0===e&&(e=function(){return document.createElement("address")}),t.build(e,n)},applet:function(n,e){return void 0===e&&(e=function(){return document.createElement("applet")}),t.build(e,n)},area:function(n,e){return void 0===e&&(e=function(){return document.createElement("area")}),t.build(e,n)},audio:function(n,e){return void 0===e&&(e=function(){return document.createElement("audio")}),t.build(e,n)},b:function(n,e){return void 0===e&&(e=function(){return document.createElement("b")}),t.build(e,n)},base:function(n,e){return void 0===e&&(e=function(){return document.createElement("base")}),t.build(e,n)},basefont:function(n,e){return void 0===e&&(e=function(){return document.createElement("basefont")}),t.build(e,n)},bdo:function(n,e){return void 0===e&&(e=function(){return document.createElement("bdo")}),t.build(e,n)},big:function(n,e){return void 0===e&&(e=function(){return document.createElement("big")}),t.build(e,n)},blockquote:function(n,e){return void 0===e&&(e=function(){return document.createElement("blockquote")}),t.build(e,n)},body:function(n,e){return void 0===e&&(e=function(){return document.createElement("body")}),t.build(e,n)},br:function(n,e){return void 0===e&&(e=function(){return document.createElement("br")}),t.build(e,n)},button:function(n,e){return void 0===e&&(e=function(){return document.createElement("button")}),t.build(e,n)},canvas:function(n,e){return void 0===e&&(e=function(){return document.createElement("canvas")}),t.build(e,n)},caption:function(n,e){return void 0===e&&(e=function(){return document.createElement("caption")}),t.build(e,n)},center:function(n,e){return void 0===e&&(e=function(){return document.createElement("center")}),t.build(e,n)},cite:function(n,e){return void 0===e&&(e=function(){return document.createElement("cite")}),t.build(e,n)},code:function(n,e){return void 0===e&&(e=function(){return document.createElement("code")}),t.build(e,n)},col:function(n,e){return void 0===e&&(e=function(){return document.createElement("col")}),t.build(e,n)},colgroup:function(n,e){return void 0===e&&(e=function(){return document.createElement("colgroup")}),t.build(e,n)},datalist:function(n,e){return void 0===e&&(e=function(){return document.createElement("datalist")}),t.build(e,n)},dd:function(n,e){return void 0===e&&(e=function(){return document.createElement("dd")}),t.build(e,n)},del:function(n,e){return void 0===e&&(e=function(){return document.createElement("del")}),t.build(e,n)},dfn:function(n,e){return void 0===e&&(e=function(){return document.createElement("dfn")}),t.build(e,n)},dir:function(n,e){return void 0===e&&(e=function(){return document.createElement("dir")}),t.build(e,n)},div:function(n,e){return void 0===e&&(e=function(){return document.createElement("div")}),t.build(e,n)},dl:function(n,e){return void 0===e&&(e=function(){return document.createElement("dl")}),t.build(e,n)},dt:function(n,e){return void 0===e&&(e=function(){return document.createElement("dt")}),t.build(e,n)},em:function(n,e){return void 0===e&&(e=function(){return document.createElement("em")}),t.build(e,n)},embed:function(n,e){return void 0===e&&(e=function(){return document.createElement("embed")}),t.build(e,n)},fieldset:function(n,e){return void 0===e&&(e=function(){return document.createElement("fieldset")}),t.build(e,n)},font:function(n,e){return void 0===e&&(e=function(){return document.createElement("font")}),t.build(e,n)},form:function(n,e){return void 0===e&&(e=function(){return document.createElement("form")}),t.build(e,n)},frame:function(n,e){return void 0===e&&(e=function(){return document.createElement("frame")}),t.build(e,n)},frameset:function(n,e){return void 0===e&&(e=function(){return document.createElement("frameset")}),t.build(e,n)},h1:function(n,e){return void 0===e&&(e=function(){return document.createElement("h1")}),t.build(e,n)},h2:function(n,e){return void 0===e&&(e=function(){return document.createElement("h2")}),t.build(e,n)},h3:function(n,e){return void 0===e&&(e=function(){return document.createElement("h3")}),t.build(e,n)},h4:function(n,e){return void 0===e&&(e=function(){return document.createElement("h4")}),t.build(e,n)},h5:function(n,e){return void 0===e&&(e=function(){return document.createElement("h5")}),t.build(e,n)},h6:function(n,e){return void 0===e&&(e=function(){return document.createElement("h6")}),t.build(e,n)},head:function(n,e){return void 0===e&&(e=function(){return document.createElement("head")}),t.build(e,n)},hr:function(n,e){return void 0===e&&(e=function(){return document.createElement("hr")}),t.build(e,n)},html:function(n,e){return void 0===e&&(e=function(){return document.createElement("html")}),t.build(e,n)},i:function(n,e){return void 0===e&&(e=function(){return document.createElement("i")}),t.build(e,n)},iframe:function(n,e){return void 0===e&&(e=function(){return document.createElement("iframe")}),t.build(e,n)},img:function(n,e){return void 0===e&&(e=function(){return document.createElement("img")}),t.build(e,n)},input:function(n,e){return void 0===e&&(e=function(){return document.createElement("input")}),t.build(e,n)},ins:function(n,e){return void 0===e&&(e=function(){return document.createElement("ins")}),t.build(e,n)},isindex:function(n,e){return void 0===e&&(e=function(){return document.createElement("isindex")}),t.build(e,n)},kbd:function(n,e){return void 0===e&&(e=function(){return document.createElement("kbd")}),t.build(e,n)},keygen:function(n,e){return void 0===e&&(e=function(){return document.createElement("keygen")}),t.build(e,n)},label:function(n,e){return void 0===e&&(e=function(){return document.createElement("label")}),t.build(e,n)},legend:function(n,e){return void 0===e&&(e=function(){return document.createElement("legend")}),t.build(e,n)},li:function(n,e){return void 0===e&&(e=function(){return document.createElement("li")}),t.build(e,n)},link:function(n,e){return void 0===e&&(e=function(){return document.createElement("link")}),t.build(e,n)},listing:function(n,e){return void 0===e&&(e=function(){return document.createElement("listing")}),t.build(e,n)},map:function(n,e){return void 0===e&&(e=function(){return document.createElement("map")}),t.build(e,n)},marquee:function(n,e){return void 0===e&&(e=function(){return document.createElement("marquee")}),t.build(e,n)},menu:function(n,e){return void 0===e&&(e=function(){return document.createElement("menu")}),t.build(e,n)},meta:function(n,e){return void 0===e&&(e=function(){return document.createElement("meta")}),t.build(e,n)},nextid:function(n,e){return void 0===e&&(e=function(){return document.createElement("nextid")}),t.build(e,n)},nobr:function(n,e){return void 0===e&&(e=function(){return document.createElement("nobr")}),t.build(e,n)},object:function(n,e){return void 0===e&&(e=function(){return document.createElement("object")}),t.build(e,n)},ol:function(n,e){return void 0===e&&(e=function(){return document.createElement("ol")}),t.build(e,n)},optgroup:function(n,e){return void 0===e&&(e=function(){return document.createElement("optgroup")}),t.build(e,n)},option:function(n,e){return void 0===e&&(e=function(){return document.createElement("option")}),t.build(e,n)},p:function(n,e){return void 0===e&&(e=function(){return document.createElement("p")}),t.build(e,n)},param:function(n,e){return void 0===e&&(e=function(){return document.createElement("param")}),t.build(e,n)},picture:function(n,e){return void 0===e&&(e=function(){return document.createElement("picture")}),t.build(e,n)},plaintext:function(n,e){return void 0===e&&(e=function(){return document.createElement("plaintext")}),t.build(e,n)},pre:function(n,e){return void 0===e&&(e=function(){return document.createElement("pre")}),t.build(e,n)},progress:function(n,e){return void 0===e&&(e=function(){return document.createElement("progress")}),t.build(e,n)},q:function(n,e){return void 0===e&&(e=function(){return document.createElement("q")}),t.build(e,n)},rt:function(n,e){return void 0===e&&(e=function(){return document.createElement("rt")}),t.build(e,n)},ruby:function(n,e){return void 0===e&&(e=function(){return document.createElement("ruby")}),t.build(e,n)},s:function(n,e){return void 0===e&&(e=function(){return document.createElement("s")}),t.build(e,n)},samp:function(n,e){return void 0===e&&(e=function(){return document.createElement("samp")}),t.build(e,n)},script:function(n,e){return void 0===e&&(e=function(){return document.createElement("script")}),t.build(e,n)},select:function(n,e){return void 0===e&&(e=function(){return document.createElement("select")}),t.build(e,n)},small:function(n,e){return void 0===e&&(e=function(){return document.createElement("small")}),t.build(e,n)},source:function(n,e){return void 0===e&&(e=function(){return document.createElement("source")}),t.build(e,n)},span:function(n,e){return void 0===e&&(e=function(){return document.createElement("span")}),t.build(e,n)},strike:function(n,e){return void 0===e&&(e=function(){return document.createElement("strike")}),t.build(e,n)},strong:function(n,e){return void 0===e&&(e=function(){return document.createElement("strong")}),t.build(e,n)},style:function(n,e){return void 0===e&&(e=function(){return document.createElement("style")}),t.build(e,n)},sub:function(n,e){return void 0===e&&(e=function(){return document.createElement("sub")}),t.build(e,n)},sup:function(n,e){return void 0===e&&(e=function(){return document.createElement("sup")}),t.build(e,n)},table:function(n,e){return void 0===e&&(e=function(){return document.createElement("table")}),t.build(e,n)},tbody:function(n,e){return void 0===e&&(e=function(){return document.createElement("tbody")}),t.build(e,n)},td:function(n,e){return void 0===e&&(e=function(){return document.createElement("td")}),t.build(e,n)},textarea:function(n,e){return void 0===e&&(e=function(){return document.createElement("textarea")}),t.build(e,n)},tfoot:function(n,e){return void 0===e&&(e=function(){return document.createElement("tfoot")}),t.build(e,n)},th:function(n,e){return void 0===e&&(e=function(){return document.createElement("th")}),t.build(e,n)},thead:function(n,e){return void 0===e&&(e=function(){return document.createElement("thead")}),t.build(e,n)},title:function(n,e){return void 0===e&&(e=function(){return document.createElement("title")}),t.build(e,n)},tr:function(n,e){return void 0===e&&(e=function(){return document.createElement("tr")}),t.build(e,n)},track:function(n,e){return void 0===e&&(e=function(){return document.createElement("track")}),t.build(e,n)},tt:function(n,e){return void 0===e&&(e=function(){return document.createElement("tt")}),t.build(e,n)},u:function(n,e){return void 0===e&&(e=function(){return document.createElement("u")}),t.build(e,n)},ul:function(n,e){return void 0===e&&(e=function(){return document.createElement("ul")}),t.build(e,n)},"var":function(n,e){return void 0===e&&(e=function(){return document.createElement("var")}),t.build(e,n)},video:function(n,e){return void 0===e&&(e=function(){return document.createElement("video")}),t.build(e,n)},xmp:function(n,e){return void 0===e&&(e=function(){return document.createElement("xmp")}),t.build(e,n)},article:function(n,e){return void 0===e&&(e=function(){return document.createElement("article")}),t.build(e,n)},aside:function(n,e){return void 0===e&&(e=function(){return document.createElement("aside")}),t.build(e,n)},nav:function(n,e){return void 0===e&&(e=function(){return document.createElement("nav")}),t.build(e,n)},section:function(n,e){return void 0===e&&(e=function(){return document.createElement("section")}),t.build(e,n)},untyped:function(n,e){return t.build(e,n)}}}),define("src/export",["require","exports","src/dom/html"],function(n,e,t){"use strict";e["default"]=t.TypedHTML}),define("typed-dom",["require","exports","src/export","src/export"],function(n,e,t,u){"use strict";function r(n){for(var t in n)e.hasOwnProperty(t)||(e[t]=n[t])}r(t),e["default"]=u["default"]}); | ||
/*! typed-dom v0.0.5 https://github.com/falsandtru/typed-dom | (c) 2016, falsandtru | MIT License (https://opensource.org/licenses/MIT) */ | ||
define="function"==typeof define&&define.amd?define:function(){"use strict";var n="typed-dom",e={};return function t(u,r,i){return i?void i.apply(this,r.map(function(n){switch(n){case"require":return"function"==typeof require?require:void 0;case"exports":return-1===u.indexOf("/")?e[u]="undefined"==typeof exports?self[u]=self[u]||{}:exports:e[u]=e.hasOwnProperty(u)?e[u]:{};default:return".d"===n.slice(-2)&&{}||e.hasOwnProperty(n)&&e[n]||"function"==typeof require&&require(n)||self[n]}})):void t(n,u,r)}}(),define("src/dom/builder",["require","exports"],function(n,e){"use strict";function t(n,e){function t(n){var e={};return Object.keys(n).reduce(function(n,t){return e[t]=n[t],Object.defineProperty(n,t,{get:function(){return e[t]},set:function(n){var r=e[t];e[t]=n,u.replaceChild(n.raw,r.raw)}}),n},n)}void 0===e&&(e=[]);var u=n();return void Object.keys(e).forEach(function(n){return void u.appendChild(e[n].raw)}),e=e instanceof Array?Object.freeze(e):t(e),Object.freeze({raw:u,get contents(){return e},set contents(n){e instanceof Array?(n=Object.freeze(n),u.innerHTML="",void n.forEach(function(n){return void u.appendChild(n.raw)})):(void Object.keys(n).forEach(function(t){return void u.replaceChild(n[t].raw,e[t].raw)}),n=t(n)),e=n}})}e.build=t}),define("src/dom/html",["require","exports","src/dom/builder"],function(n,e,t){"use strict";e.TypedHTML={a:function(n,e){return void 0===e&&(e=function(){return document.createElement("a")}),t.build(e,n)},abbr:function(n,e){return void 0===e&&(e=function(){return document.createElement("abbr")}),t.build(e,n)},acronym:function(n,e){return void 0===e&&(e=function(){return document.createElement("acronym")}),t.build(e,n)},address:function(n,e){return void 0===e&&(e=function(){return document.createElement("address")}),t.build(e,n)},applet:function(n,e){return void 0===e&&(e=function(){return document.createElement("applet")}),t.build(e,n)},area:function(n,e){return void 0===e&&(e=function(){return document.createElement("area")}),t.build(e,n)},audio:function(n,e){return void 0===e&&(e=function(){return document.createElement("audio")}),t.build(e,n)},b:function(n,e){return void 0===e&&(e=function(){return document.createElement("b")}),t.build(e,n)},base:function(n,e){return void 0===e&&(e=function(){return document.createElement("base")}),t.build(e,n)},basefont:function(n,e){return void 0===e&&(e=function(){return document.createElement("basefont")}),t.build(e,n)},bdo:function(n,e){return void 0===e&&(e=function(){return document.createElement("bdo")}),t.build(e,n)},big:function(n,e){return void 0===e&&(e=function(){return document.createElement("big")}),t.build(e,n)},blockquote:function(n,e){return void 0===e&&(e=function(){return document.createElement("blockquote")}),t.build(e,n)},body:function(n,e){return void 0===e&&(e=function(){return document.createElement("body")}),t.build(e,n)},br:function(n,e){return void 0===e&&(e=function(){return document.createElement("br")}),t.build(e,n)},button:function(n,e){return void 0===e&&(e=function(){return document.createElement("button")}),t.build(e,n)},canvas:function(n,e){return void 0===e&&(e=function(){return document.createElement("canvas")}),t.build(e,n)},caption:function(n,e){return void 0===e&&(e=function(){return document.createElement("caption")}),t.build(e,n)},center:function(n,e){return void 0===e&&(e=function(){return document.createElement("center")}),t.build(e,n)},cite:function(n,e){return void 0===e&&(e=function(){return document.createElement("cite")}),t.build(e,n)},code:function(n,e){return void 0===e&&(e=function(){return document.createElement("code")}),t.build(e,n)},col:function(n,e){return void 0===e&&(e=function(){return document.createElement("col")}),t.build(e,n)},colgroup:function(n,e){return void 0===e&&(e=function(){return document.createElement("colgroup")}),t.build(e,n)},datalist:function(n,e){return void 0===e&&(e=function(){return document.createElement("datalist")}),t.build(e,n)},dd:function(n,e){return void 0===e&&(e=function(){return document.createElement("dd")}),t.build(e,n)},del:function(n,e){return void 0===e&&(e=function(){return document.createElement("del")}),t.build(e,n)},dfn:function(n,e){return void 0===e&&(e=function(){return document.createElement("dfn")}),t.build(e,n)},dir:function(n,e){return void 0===e&&(e=function(){return document.createElement("dir")}),t.build(e,n)},div:function(n,e){return void 0===e&&(e=function(){return document.createElement("div")}),t.build(e,n)},dl:function(n,e){return void 0===e&&(e=function(){return document.createElement("dl")}),t.build(e,n)},dt:function(n,e){return void 0===e&&(e=function(){return document.createElement("dt")}),t.build(e,n)},em:function(n,e){return void 0===e&&(e=function(){return document.createElement("em")}),t.build(e,n)},embed:function(n,e){return void 0===e&&(e=function(){return document.createElement("embed")}),t.build(e,n)},fieldset:function(n,e){return void 0===e&&(e=function(){return document.createElement("fieldset")}),t.build(e,n)},font:function(n,e){return void 0===e&&(e=function(){return document.createElement("font")}),t.build(e,n)},form:function(n,e){return void 0===e&&(e=function(){return document.createElement("form")}),t.build(e,n)},frame:function(n,e){return void 0===e&&(e=function(){return document.createElement("frame")}),t.build(e,n)},frameset:function(n,e){return void 0===e&&(e=function(){return document.createElement("frameset")}),t.build(e,n)},h1:function(n,e){return void 0===e&&(e=function(){return document.createElement("h1")}),t.build(e,n)},h2:function(n,e){return void 0===e&&(e=function(){return document.createElement("h2")}),t.build(e,n)},h3:function(n,e){return void 0===e&&(e=function(){return document.createElement("h3")}),t.build(e,n)},h4:function(n,e){return void 0===e&&(e=function(){return document.createElement("h4")}),t.build(e,n)},h5:function(n,e){return void 0===e&&(e=function(){return document.createElement("h5")}),t.build(e,n)},h6:function(n,e){return void 0===e&&(e=function(){return document.createElement("h6")}),t.build(e,n)},head:function(n,e){return void 0===e&&(e=function(){return document.createElement("head")}),t.build(e,n)},hr:function(n,e){return void 0===e&&(e=function(){return document.createElement("hr")}),t.build(e,n)},html:function(n,e){return void 0===e&&(e=function(){return document.createElement("html")}),t.build(e,n)},i:function(n,e){return void 0===e&&(e=function(){return document.createElement("i")}),t.build(e,n)},iframe:function(n,e){return void 0===e&&(e=function(){return document.createElement("iframe")}),t.build(e,n)},img:function(n,e){return void 0===e&&(e=function(){return document.createElement("img")}),t.build(e,n)},input:function(n,e){return void 0===e&&(e=function(){return document.createElement("input")}),t.build(e,n)},ins:function(n,e){return void 0===e&&(e=function(){return document.createElement("ins")}),t.build(e,n)},isindex:function(n,e){return void 0===e&&(e=function(){return document.createElement("isindex")}),t.build(e,n)},kbd:function(n,e){return void 0===e&&(e=function(){return document.createElement("kbd")}),t.build(e,n)},keygen:function(n,e){return void 0===e&&(e=function(){return document.createElement("keygen")}),t.build(e,n)},label:function(n,e){return void 0===e&&(e=function(){return document.createElement("label")}),t.build(e,n)},legend:function(n,e){return void 0===e&&(e=function(){return document.createElement("legend")}),t.build(e,n)},li:function(n,e){return void 0===e&&(e=function(){return document.createElement("li")}),t.build(e,n)},link:function(n,e){return void 0===e&&(e=function(){return document.createElement("link")}),t.build(e,n)},listing:function(n,e){return void 0===e&&(e=function(){return document.createElement("listing")}),t.build(e,n)},map:function(n,e){return void 0===e&&(e=function(){return document.createElement("map")}),t.build(e,n)},marquee:function(n,e){return void 0===e&&(e=function(){return document.createElement("marquee")}),t.build(e,n)},menu:function(n,e){return void 0===e&&(e=function(){return document.createElement("menu")}),t.build(e,n)},meta:function(n,e){return void 0===e&&(e=function(){return document.createElement("meta")}),t.build(e,n)},nextid:function(n,e){return void 0===e&&(e=function(){return document.createElement("nextid")}),t.build(e,n)},nobr:function(n,e){return void 0===e&&(e=function(){return document.createElement("nobr")}),t.build(e,n)},object:function(n,e){return void 0===e&&(e=function(){return document.createElement("object")}),t.build(e,n)},ol:function(n,e){return void 0===e&&(e=function(){return document.createElement("ol")}),t.build(e,n)},optgroup:function(n,e){return void 0===e&&(e=function(){return document.createElement("optgroup")}),t.build(e,n)},option:function(n,e){return void 0===e&&(e=function(){return document.createElement("option")}),t.build(e,n)},p:function(n,e){return void 0===e&&(e=function(){return document.createElement("p")}),t.build(e,n)},param:function(n,e){return void 0===e&&(e=function(){return document.createElement("param")}),t.build(e,n)},picture:function(n,e){return void 0===e&&(e=function(){return document.createElement("picture")}),t.build(e,n)},plaintext:function(n,e){return void 0===e&&(e=function(){return document.createElement("plaintext")}),t.build(e,n)},pre:function(n,e){return void 0===e&&(e=function(){return document.createElement("pre")}),t.build(e,n)},progress:function(n,e){return void 0===e&&(e=function(){return document.createElement("progress")}),t.build(e,n)},q:function(n,e){return void 0===e&&(e=function(){return document.createElement("q")}),t.build(e,n)},rt:function(n,e){return void 0===e&&(e=function(){return document.createElement("rt")}),t.build(e,n)},ruby:function(n,e){return void 0===e&&(e=function(){return document.createElement("ruby")}),t.build(e,n)},s:function(n,e){return void 0===e&&(e=function(){return document.createElement("s")}),t.build(e,n)},samp:function(n,e){return void 0===e&&(e=function(){return document.createElement("samp")}),t.build(e,n)},script:function(n,e){return void 0===e&&(e=function(){return document.createElement("script")}),t.build(e,n)},select:function(n,e){return void 0===e&&(e=function(){return document.createElement("select")}),t.build(e,n)},small:function(n,e){return void 0===e&&(e=function(){return document.createElement("small")}),t.build(e,n)},source:function(n,e){return void 0===e&&(e=function(){return document.createElement("source")}),t.build(e,n)},span:function(n,e){return void 0===e&&(e=function(){return document.createElement("span")}),t.build(e,n)},strike:function(n,e){return void 0===e&&(e=function(){return document.createElement("strike")}),t.build(e,n)},strong:function(n,e){return void 0===e&&(e=function(){return document.createElement("strong")}),t.build(e,n)},style:function(n,e){return void 0===e&&(e=function(){return document.createElement("style")}),t.build(e,n)},sub:function(n,e){return void 0===e&&(e=function(){return document.createElement("sub")}),t.build(e,n)},sup:function(n,e){return void 0===e&&(e=function(){return document.createElement("sup")}),t.build(e,n)},table:function(n,e){return void 0===e&&(e=function(){return document.createElement("table")}),t.build(e,n)},tbody:function(n,e){return void 0===e&&(e=function(){return document.createElement("tbody")}),t.build(e,n)},td:function(n,e){return void 0===e&&(e=function(){return document.createElement("td")}),t.build(e,n)},textarea:function(n,e){return void 0===e&&(e=function(){return document.createElement("textarea")}),t.build(e,n)},tfoot:function(n,e){return void 0===e&&(e=function(){return document.createElement("tfoot")}),t.build(e,n)},th:function(n,e){return void 0===e&&(e=function(){return document.createElement("th")}),t.build(e,n)},thead:function(n,e){return void 0===e&&(e=function(){return document.createElement("thead")}),t.build(e,n)},title:function(n,e){return void 0===e&&(e=function(){return document.createElement("title")}),t.build(e,n)},tr:function(n,e){return void 0===e&&(e=function(){return document.createElement("tr")}),t.build(e,n)},track:function(n,e){return void 0===e&&(e=function(){return document.createElement("track")}),t.build(e,n)},tt:function(n,e){return void 0===e&&(e=function(){return document.createElement("tt")}),t.build(e,n)},u:function(n,e){return void 0===e&&(e=function(){return document.createElement("u")}),t.build(e,n)},ul:function(n,e){return void 0===e&&(e=function(){return document.createElement("ul")}),t.build(e,n)},"var":function(n,e){return void 0===e&&(e=function(){return document.createElement("var")}),t.build(e,n)},video:function(n,e){return void 0===e&&(e=function(){return document.createElement("video")}),t.build(e,n)},xmp:function(n,e){return void 0===e&&(e=function(){return document.createElement("xmp")}),t.build(e,n)},article:function(n,e){return void 0===e&&(e=function(){return document.createElement("article")}),t.build(e,n)},aside:function(n,e){return void 0===e&&(e=function(){return document.createElement("aside")}),t.build(e,n)},nav:function(n,e){return void 0===e&&(e=function(){return document.createElement("nav")}),t.build(e,n)},section:function(n,e){return void 0===e&&(e=function(){return document.createElement("section")}),t.build(e,n)},untyped:function(n,e){return t.build(e,n)}}}),define("src/export",["require","exports","src/dom/html"],function(n,e,t){"use strict";e["default"]=t.TypedHTML}),define("typed-dom",["require","exports","src/export","src/export"],function(n,e,t,u){"use strict";function r(n){for(var t in n)e.hasOwnProperty(t)||(e[t]=n[t])}r(t),e["default"]=u["default"]}); |
@@ -96,3 +96,3 @@ const gulp = require('gulp'); | ||
test: extend({}, require('./karma.conf.js'), { | ||
browsers: ['Chrome', 'Firefox', 'IE11', 'IE10', 'IE9'], | ||
browsers: ['Chrome', 'Firefox', 'IE11'], | ||
reporters: ['dots'], | ||
@@ -106,3 +106,3 @@ preprocessors: { | ||
server: extend({}, require('./karma.conf.js'), { | ||
browsers: ['Chromium', 'Firefox'], | ||
browsers: ['Chrome', 'Firefox'], | ||
reporters: ['dots'], | ||
@@ -169,20 +169,11 @@ preprocessors: { | ||
gulp.task('karma:watch', function (done) { | ||
new Server(config.karma.watch, function(exitCode) { | ||
console.log('Karma has exited with ' + exitCode); | ||
done(); | ||
}).start(); | ||
new Server(config.karma.watch, done).start(); | ||
}); | ||
gulp.task('karma:test', function (done) { | ||
new Server(config.karma.test, function(exitCode) { | ||
console.log('Karma has exited with ' + exitCode); | ||
done(); | ||
}).start(); | ||
new Server(config.karma.test, done).start(); | ||
}); | ||
gulp.task('karma:server', function (done) { | ||
new Server(config.karma.server, function(exitCode) { | ||
console.log('Karma has exited with ' + exitCode); | ||
done(); | ||
}).start(); | ||
new Server(config.karma.server, done).start(); | ||
}); | ||
@@ -189,0 +180,0 @@ |
@@ -8,25 +8,5 @@ module.exports = { | ||
customLaunchers: { | ||
Chromium: { | ||
base: 'Chrome', | ||
flags: ['--no-sandbox'] | ||
}, | ||
IE11: { | ||
base: 'IE', | ||
'x-ua-compatible': 'IE=EmulateIE11' | ||
}, | ||
IE10: { | ||
base: 'IE', | ||
'x-ua-compatible': 'IE=EmulateIE10' | ||
}, | ||
IE9: { | ||
base: 'IE', | ||
'x-ua-compatible': 'IE=EmulateIE9' | ||
}, | ||
IE8: { | ||
base: 'IE', | ||
'x-ua-compatible': 'IE=EmulateIE8' | ||
}, | ||
PhantomJSB: { | ||
base: 'PhantomJS', | ||
flags: ['--remote-debugger-port=9000'] | ||
} | ||
@@ -77,3 +57,4 @@ }, | ||
// default: false (in-memory) | ||
emitActualCode: false | ||
emitActualCode: false, | ||
ignoreUpstreamSourceMap: true | ||
} | ||
@@ -80,0 +61,0 @@ }, |
{ | ||
"name": "typed-dom", | ||
"version": "0.0.4", | ||
"version": "0.0.5", | ||
"description": "Typed html dom structs.", | ||
@@ -42,7 +42,7 @@ "private": false, | ||
"gulp-footer": "^1.0.5", | ||
"gulp-header": "^1.7.1", | ||
"gulp-header": "^1.8.2", | ||
"gulp-load-plugins": "^1.2.2", | ||
"gulp-mocha": "^2.2.0", | ||
"gulp-rename": "^1.2.2", | ||
"gulp-typescript": "^2.13.0", | ||
"gulp-typescript": "^2.13.3", | ||
"gulp-uglify": "^1.5.3", | ||
@@ -52,14 +52,14 @@ "gulp-unassert": "^1.0.0", | ||
"karma": "0.13.22", | ||
"karma-chrome-launcher": "^0.2.3", | ||
"karma-coverage": "^0.5.5", | ||
"karma-chrome-launcher": "^1.0.1", | ||
"karma-coverage": "^1.0.0", | ||
"karma-coveralls": "^1.1.2", | ||
"karma-espower-preprocessor": "0.0.4", | ||
"karma-firefox-launcher": "^0.1.7", | ||
"karma-html2js-preprocessor": "^0.1.0", | ||
"karma-ie-launcher": "^0.2.0", | ||
"karma-mocha": "^0.2.2", | ||
"lodash": "^4.11.1", | ||
"karma-espower-preprocessor": "1.1.0", | ||
"karma-firefox-launcher": "^1.0.0", | ||
"karma-html2js-preprocessor": "^1.0.0", | ||
"karma-ie-launcher": "^1.0.0", | ||
"karma-mocha": "^1.0.1", | ||
"lodash": "^4.11.2", | ||
"mocha": "^2.4.5", | ||
"npm-check-updates": "^2.6.3", | ||
"power-assert": "^1.3.1", | ||
"npm-check-updates": "^2.6.4", | ||
"power-assert": "^1.4.0", | ||
"run-sequence": "^1.1.5", | ||
@@ -66,0 +66,0 @@ "tsd": "^0.6.5", |
@@ -32,17 +32,19 @@ import {default as Builder, TypedHTML, TypedHTMLContents} from 'typed-dom'; | ||
function observe(contents: U): U { | ||
const cache = {}; | ||
return Object.keys(contents) | ||
.reduce((obj, k) => { | ||
Object.defineProperty(obj, k, { | ||
.reduce((contents, k) => { | ||
cache[k] = contents[k]; | ||
Object.defineProperty(contents, k, { | ||
get() { | ||
return contents[k]; | ||
return cache[k]; | ||
}, | ||
set(newElt) { | ||
const oldElt = contents[k]; | ||
contents[k] = newElt; | ||
const oldElt = cache[k]; | ||
cache[k] = newElt; | ||
raw.replaceChild(newElt.raw, oldElt.raw); | ||
} | ||
}); | ||
return obj; | ||
}, <U>{}); | ||
return contents; | ||
}, contents); | ||
} | ||
} |
@@ -1,6 +0,6 @@ | ||
import {default as builder, TypedHTML as ITypedHTML, TypedHTMLContents} from 'typed-dom'; | ||
import {TypedHTML as ITypedHTML, TypedHTMLContents, HTML} from 'typed-dom'; | ||
import {build} from './builder'; | ||
export type TypedHTML<T extends HTMLElement, U extends TypedHTMLContents<HTMLElement>> = ITypedHTML<T, U>; | ||
export const TypedHTML: typeof builder = { | ||
export const TypedHTML = { | ||
a | ||
@@ -7,0 +7,0 @@ <T extends TypedHTMLContents<HTMLElement>> |
@@ -5,2 +5,7 @@ import TypedHTML from 'typed-dom'; | ||
describe('spec', function () { | ||
function text<T extends { raw: HTMLElement; }>(el: T, str: string): T { | ||
el.raw.textContent = str; | ||
return el; | ||
} | ||
it('struct', function () { | ||
@@ -20,8 +25,8 @@ const struct = TypedHTML.article({ | ||
const struct = TypedHTML.article({ | ||
title: TypedHTML.h1() | ||
title: text(TypedHTML.h1(), 'a') | ||
}); | ||
struct.contents = { | ||
title: TypedHTML.h2() | ||
title: text(TypedHTML.h1(), 'b') | ||
}; | ||
assert(struct.contents.title.raw.nodeName === 'H2'); | ||
assert(struct.contents.title.raw.textContent === 'b'); | ||
assert(struct.contents.title.raw === struct.raw.firstChild); | ||
@@ -32,39 +37,52 @@ }); | ||
const struct = TypedHTML.article({ | ||
title: TypedHTML.h1() | ||
title: text(TypedHTML.h1(), 'a') | ||
}); | ||
struct.contents.title = TypedHTML.h2(); | ||
assert(struct.contents.title.raw.nodeName === 'H2'); | ||
struct.contents.title = text(TypedHTML.h1(), 'b'); | ||
assert(struct.contents.title.raw.textContent === 'b'); | ||
assert(struct.contents.title.raw === struct.raw.firstChild); | ||
}); | ||
it('list', function () { | ||
const list = TypedHTML.ul([ | ||
it('collection', function () { | ||
const collection = TypedHTML.ul([ | ||
TypedHTML.li(), | ||
TypedHTML.li() | ||
]); | ||
assert(list.raw.nodeName === 'UL'); | ||
assert(list.contents[0].raw.nodeName === 'LI'); | ||
assert(list.contents[0].raw === list.raw.children[0]); | ||
assert(list.contents[1].raw.nodeName === 'LI'); | ||
assert(list.contents[1].raw === list.raw.children[1]); | ||
assert(list.contents[2] === void 0); | ||
assert(list.raw.children[2] === void 0); | ||
assert(collection.raw.nodeName === 'UL'); | ||
assert(collection.contents[0].raw.nodeName === 'LI'); | ||
assert(collection.contents[0].raw === collection.raw.children[0]); | ||
assert(collection.contents[1].raw.nodeName === 'LI'); | ||
assert(collection.contents[1].raw === collection.raw.children[1]); | ||
assert(collection.contents[2] === void 0); | ||
assert(collection.raw.children[2] === void 0); | ||
}); | ||
it('list contents update', function () { | ||
const list = TypedHTML.ul([ | ||
it('collection contents update', function () { | ||
const collection = TypedHTML.ul([ | ||
TypedHTML.li(), | ||
TypedHTML.li() | ||
]); | ||
list.contents = [ | ||
collection.contents = [ | ||
TypedHTML.li() | ||
]; | ||
assert(list.contents[0].raw.nodeName === 'LI'); | ||
assert(list.contents[0].raw === list.raw.children[0]); | ||
assert(list.contents[1] === void 0); | ||
assert(list.raw.children[1] === void 0); | ||
assert(collection.contents[0].raw.nodeName === 'LI'); | ||
assert(collection.contents[0].raw === collection.raw.children[0]); | ||
assert(collection.contents[1] === void 0); | ||
assert(collection.raw.children[1] === void 0); | ||
}); | ||
it('collection contents partial update', function () { | ||
const collection = TypedHTML.ul([ | ||
TypedHTML.li() | ||
]); | ||
assert.throws(() => collection.contents[0] = TypedHTML.li()); | ||
// IE doesn't throw an error here. | ||
//assert.throws(() => collection.contents[1] = TypedHTML.li()); | ||
assert.throws(() => collection.contents.push(TypedHTML.li())); | ||
assert.throws(() => collection.contents.pop()); | ||
assert.throws(() => collection.contents.length = 0); | ||
assert(collection.contents.length === 1); | ||
}); | ||
}); | ||
}); |
@@ -14,125 +14,128 @@ /** | ||
export type TypedHTMLContents<T extends HTMLElement> = void[] | TypedHTML<T, any>[] | { [name: string]: TypedHTML<T, any>; }; | ||
interface TypedHTMLBuilder<T extends HTMLElement> { | ||
(): TypedHTML<T, void[]>; | ||
<U extends TypedHTMLContents<HTMLElement>>(contents: U, factory?: () => T): TypedHTML<T, U>; | ||
interface TypedHTMLBuilder<T extends HTMLElement, S extends string> { | ||
(): HTML<S> & TypedHTML<T, void[]>; | ||
<U extends TypedHTMLContents<HTMLElement>>(contents: U, factory?: () => T): HTML<S> & TypedHTML<T, U>; | ||
} | ||
export class HTML<T extends string> { | ||
private NOMINAL: T; | ||
} | ||
const TypedHTML: { | ||
// lib.d.ts | ||
a: TypedHTMLBuilder<HTMLAnchorElement>; | ||
abbr: TypedHTMLBuilder<HTMLPhraseElement>; | ||
acronym: TypedHTMLBuilder<HTMLPhraseElement>; | ||
address: TypedHTMLBuilder<HTMLBlockElement>; | ||
applet: TypedHTMLBuilder<HTMLAppletElement>; | ||
area: TypedHTMLBuilder<HTMLAreaElement>; | ||
audio: TypedHTMLBuilder<HTMLAudioElement>; | ||
b: TypedHTMLBuilder<HTMLPhraseElement>; | ||
base: TypedHTMLBuilder<HTMLBaseElement>; | ||
basefont: TypedHTMLBuilder<HTMLBaseFontElement>; | ||
bdo: TypedHTMLBuilder<HTMLPhraseElement>; | ||
big: TypedHTMLBuilder<HTMLPhraseElement>; | ||
blockquote: TypedHTMLBuilder<HTMLBlockElement>; | ||
body: TypedHTMLBuilder<HTMLBodyElement>; | ||
br: TypedHTMLBuilder<HTMLBRElement>; | ||
button: TypedHTMLBuilder<HTMLButtonElement>; | ||
canvas: TypedHTMLBuilder<HTMLCanvasElement>; | ||
caption: TypedHTMLBuilder<HTMLTableCaptionElement>; | ||
center: TypedHTMLBuilder<HTMLBlockElement>; | ||
cite: TypedHTMLBuilder<HTMLPhraseElement>; | ||
code: TypedHTMLBuilder<HTMLPhraseElement>; | ||
col: TypedHTMLBuilder<HTMLTableColElement>; | ||
colgroup: TypedHTMLBuilder<HTMLTableColElement>; | ||
datalist: TypedHTMLBuilder<HTMLDataListElement>; | ||
dd: TypedHTMLBuilder<HTMLDDElement>; | ||
del: TypedHTMLBuilder<HTMLModElement>; | ||
dfn: TypedHTMLBuilder<HTMLPhraseElement>; | ||
dir: TypedHTMLBuilder<HTMLDirectoryElement>; | ||
div: TypedHTMLBuilder<HTMLDivElement>; | ||
dl: TypedHTMLBuilder<HTMLDListElement>; | ||
dt: TypedHTMLBuilder<HTMLDTElement>; | ||
em: TypedHTMLBuilder<HTMLPhraseElement>; | ||
embed: TypedHTMLBuilder<HTMLEmbedElement>; | ||
fieldset: TypedHTMLBuilder<HTMLFieldSetElement>; | ||
font: TypedHTMLBuilder<HTMLFontElement>; | ||
form: TypedHTMLBuilder<HTMLFormElement>; | ||
frame: TypedHTMLBuilder<HTMLFrameElement>; | ||
frameset: TypedHTMLBuilder<HTMLFrameSetElement>; | ||
h1: TypedHTMLBuilder<HTMLHeadingElement>; | ||
h2: TypedHTMLBuilder<HTMLHeadingElement>; | ||
h3: TypedHTMLBuilder<HTMLHeadingElement>; | ||
h4: TypedHTMLBuilder<HTMLHeadingElement>; | ||
h5: TypedHTMLBuilder<HTMLHeadingElement>; | ||
h6: TypedHTMLBuilder<HTMLHeadingElement>; | ||
head: TypedHTMLBuilder<HTMLHeadElement>; | ||
hr: TypedHTMLBuilder<HTMLHRElement>; | ||
html: TypedHTMLBuilder<HTMLHtmlElement>; | ||
i: TypedHTMLBuilder<HTMLPhraseElement>; | ||
iframe: TypedHTMLBuilder<HTMLIFrameElement>; | ||
img: TypedHTMLBuilder<HTMLImageElement>; | ||
input: TypedHTMLBuilder<HTMLInputElement>; | ||
ins: TypedHTMLBuilder<HTMLModElement>; | ||
isindex: TypedHTMLBuilder<HTMLIsIndexElement>; | ||
kbd: TypedHTMLBuilder<HTMLPhraseElement>; | ||
keygen: TypedHTMLBuilder<HTMLBlockElement>; | ||
label: TypedHTMLBuilder<HTMLLabelElement>; | ||
legend: TypedHTMLBuilder<HTMLLegendElement>; | ||
li: TypedHTMLBuilder<HTMLLIElement>; | ||
link: TypedHTMLBuilder<HTMLLinkElement>; | ||
listing: TypedHTMLBuilder<HTMLBlockElement>; | ||
map: TypedHTMLBuilder<HTMLMapElement>; | ||
marquee: TypedHTMLBuilder<HTMLMarqueeElement>; | ||
menu: TypedHTMLBuilder<HTMLMenuElement>; | ||
meta: TypedHTMLBuilder<HTMLMetaElement>; | ||
nextid: TypedHTMLBuilder<HTMLNextIdElement>; | ||
nobr: TypedHTMLBuilder<HTMLPhraseElement>; | ||
object: TypedHTMLBuilder<HTMLObjectElement>; | ||
ol: TypedHTMLBuilder<HTMLOListElement>; | ||
optgroup: TypedHTMLBuilder<HTMLOptGroupElement>; | ||
option: TypedHTMLBuilder<HTMLOptionElement>; | ||
p: TypedHTMLBuilder<HTMLParagraphElement>; | ||
param: TypedHTMLBuilder<HTMLParamElement>; | ||
picture: TypedHTMLBuilder<HTMLPictureElement>; | ||
plaintext: TypedHTMLBuilder<HTMLBlockElement>; | ||
pre: TypedHTMLBuilder<HTMLPreElement>; | ||
progress: TypedHTMLBuilder<HTMLProgressElement>; | ||
q: TypedHTMLBuilder<HTMLQuoteElement>; | ||
rt: TypedHTMLBuilder<HTMLPhraseElement>; | ||
ruby: TypedHTMLBuilder<HTMLPhraseElement>; | ||
s: TypedHTMLBuilder<HTMLPhraseElement>; | ||
samp: TypedHTMLBuilder<HTMLPhraseElement>; | ||
script: TypedHTMLBuilder<HTMLScriptElement>; | ||
select: TypedHTMLBuilder<HTMLSelectElement>; | ||
small: TypedHTMLBuilder<HTMLPhraseElement>; | ||
source: TypedHTMLBuilder<HTMLSourceElement>; | ||
span: TypedHTMLBuilder<HTMLSpanElement>; | ||
strike: TypedHTMLBuilder<HTMLPhraseElement>; | ||
strong: TypedHTMLBuilder<HTMLPhraseElement>; | ||
style: TypedHTMLBuilder<HTMLStyleElement>; | ||
sub: TypedHTMLBuilder<HTMLPhraseElement>; | ||
sup: TypedHTMLBuilder<HTMLPhraseElement>; | ||
table: TypedHTMLBuilder<HTMLTableElement>; | ||
tbody: TypedHTMLBuilder<HTMLTableSectionElement>; | ||
td: TypedHTMLBuilder<HTMLTableDataCellElement>; | ||
textarea: TypedHTMLBuilder<HTMLTextAreaElement>; | ||
tfoot: TypedHTMLBuilder<HTMLTableSectionElement>; | ||
th: TypedHTMLBuilder<HTMLTableHeaderCellElement>; | ||
thead: TypedHTMLBuilder<HTMLTableSectionElement>; | ||
title: TypedHTMLBuilder<HTMLTitleElement>; | ||
tr: TypedHTMLBuilder<HTMLTableRowElement>; | ||
track: TypedHTMLBuilder<HTMLTrackElement>; | ||
tt: TypedHTMLBuilder<HTMLPhraseElement>; | ||
u: TypedHTMLBuilder<HTMLPhraseElement>; | ||
ul: TypedHTMLBuilder<HTMLUListElement>; | ||
var: TypedHTMLBuilder<HTMLPhraseElement>; | ||
video: TypedHTMLBuilder<HTMLVideoElement>; | ||
xmp: TypedHTMLBuilder<HTMLBlockElement>; | ||
a: TypedHTMLBuilder<HTMLAnchorElement, 'a'>; | ||
abbr: TypedHTMLBuilder<HTMLPhraseElement, 'abbr'>; | ||
acronym: TypedHTMLBuilder<HTMLPhraseElement, 'acronym'>; | ||
address: TypedHTMLBuilder<HTMLBlockElement, 'address'>; | ||
applet: TypedHTMLBuilder<HTMLAppletElement, 'applet'>; | ||
area: TypedHTMLBuilder<HTMLAreaElement, 'area'>; | ||
audio: TypedHTMLBuilder<HTMLAudioElement, 'audio'>; | ||
b: TypedHTMLBuilder<HTMLPhraseElement, 'b'>; | ||
base: TypedHTMLBuilder<HTMLBaseElement, 'base'>; | ||
basefont: TypedHTMLBuilder<HTMLBaseFontElement, 'basefont'>; | ||
bdo: TypedHTMLBuilder<HTMLPhraseElement, 'bdo'>; | ||
big: TypedHTMLBuilder<HTMLPhraseElement, 'big'>; | ||
blockquote: TypedHTMLBuilder<HTMLBlockElement, 'blockquote'>; | ||
body: TypedHTMLBuilder<HTMLBodyElement, 'body'>; | ||
br: TypedHTMLBuilder<HTMLBRElement, 'br'>; | ||
button: TypedHTMLBuilder<HTMLButtonElement, 'button'>; | ||
canvas: TypedHTMLBuilder<HTMLCanvasElement, 'canvas'>; | ||
caption: TypedHTMLBuilder<HTMLTableCaptionElement, 'caption'>; | ||
center: TypedHTMLBuilder<HTMLBlockElement, 'center'>; | ||
cite: TypedHTMLBuilder<HTMLPhraseElement, 'cite'>; | ||
code: TypedHTMLBuilder<HTMLPhraseElement, 'code'>; | ||
col: TypedHTMLBuilder<HTMLTableColElement, 'col'>; | ||
colgroup: TypedHTMLBuilder<HTMLTableColElement, 'colgroup'>; | ||
datalist: TypedHTMLBuilder<HTMLDataListElement, 'datalist'>; | ||
dd: TypedHTMLBuilder<HTMLDDElement, 'dd'>; | ||
del: TypedHTMLBuilder<HTMLModElement, 'del'>; | ||
dfn: TypedHTMLBuilder<HTMLPhraseElement, 'dfn'>; | ||
dir: TypedHTMLBuilder<HTMLDirectoryElement, 'dir'>; | ||
div: TypedHTMLBuilder<HTMLDivElement, 'div'>; | ||
dl: TypedHTMLBuilder<HTMLDListElement, 'dl'>; | ||
dt: TypedHTMLBuilder<HTMLDTElement, 'dt'>; | ||
em: TypedHTMLBuilder<HTMLPhraseElement, 'em'>; | ||
embed: TypedHTMLBuilder<HTMLEmbedElement, 'embed'>; | ||
fieldset: TypedHTMLBuilder<HTMLFieldSetElement, 'fieldset'>; | ||
font: TypedHTMLBuilder<HTMLFontElement, 'font'>; | ||
form: TypedHTMLBuilder<HTMLFormElement, 'form'>; | ||
frame: TypedHTMLBuilder<HTMLFrameElement, 'frame'>; | ||
frameset: TypedHTMLBuilder<HTMLFrameSetElement, 'frameset'>; | ||
h1: TypedHTMLBuilder<HTMLHeadingElement, 'h1'>; | ||
h2: TypedHTMLBuilder<HTMLHeadingElement, 'h2'>; | ||
h3: TypedHTMLBuilder<HTMLHeadingElement, 'h3'>; | ||
h4: TypedHTMLBuilder<HTMLHeadingElement, 'h4'>; | ||
h5: TypedHTMLBuilder<HTMLHeadingElement, 'h5'>; | ||
h6: TypedHTMLBuilder<HTMLHeadingElement, 'h6'>; | ||
head: TypedHTMLBuilder<HTMLHeadElement, 'head'>; | ||
hr: TypedHTMLBuilder<HTMLHRElement, 'hr'>; | ||
html: TypedHTMLBuilder<HTMLHtmlElement, 'html'>; | ||
i: TypedHTMLBuilder<HTMLPhraseElement, 'i'>; | ||
iframe: TypedHTMLBuilder<HTMLIFrameElement, 'iframe'>; | ||
img: TypedHTMLBuilder<HTMLImageElement, 'img'>; | ||
input: TypedHTMLBuilder<HTMLInputElement, 'input'>; | ||
ins: TypedHTMLBuilder<HTMLModElement, 'ins'>; | ||
isindex: TypedHTMLBuilder<HTMLIsIndexElement, 'isindex'>; | ||
kbd: TypedHTMLBuilder<HTMLPhraseElement, 'kbd'>; | ||
keygen: TypedHTMLBuilder<HTMLBlockElement, 'keygen'>; | ||
label: TypedHTMLBuilder<HTMLLabelElement, 'label'>; | ||
legend: TypedHTMLBuilder<HTMLLegendElement, 'legend'>; | ||
li: TypedHTMLBuilder<HTMLLIElement, 'li'>; | ||
link: TypedHTMLBuilder<HTMLLinkElement, 'link'>; | ||
listing: TypedHTMLBuilder<HTMLBlockElement, 'listing'>; | ||
map: TypedHTMLBuilder<HTMLMapElement, 'map'>; | ||
marquee: TypedHTMLBuilder<HTMLMarqueeElement, 'marquee'>; | ||
menu: TypedHTMLBuilder<HTMLMenuElement, 'menu'>; | ||
meta: TypedHTMLBuilder<HTMLMetaElement, 'meta'>; | ||
nextid: TypedHTMLBuilder<HTMLNextIdElement, 'nextid'>; | ||
nobr: TypedHTMLBuilder<HTMLPhraseElement, 'nobr'>; | ||
object: TypedHTMLBuilder<HTMLObjectElement, 'object'>; | ||
ol: TypedHTMLBuilder<HTMLOListElement, 'ol'>; | ||
optgroup: TypedHTMLBuilder<HTMLOptGroupElement, 'optgroup'>; | ||
option: TypedHTMLBuilder<HTMLOptionElement, 'option'>; | ||
p: TypedHTMLBuilder<HTMLParagraphElement, 'p'>; | ||
param: TypedHTMLBuilder<HTMLParamElement, 'param'>; | ||
picture: TypedHTMLBuilder<HTMLPictureElement, 'picture'>; | ||
plaintext: TypedHTMLBuilder<HTMLBlockElement, 'plaintext'>; | ||
pre: TypedHTMLBuilder<HTMLPreElement, 'pre'>; | ||
progress: TypedHTMLBuilder<HTMLProgressElement, 'progress'>; | ||
q: TypedHTMLBuilder<HTMLQuoteElement, 'q'>; | ||
rt: TypedHTMLBuilder<HTMLPhraseElement, 'rt'>; | ||
ruby: TypedHTMLBuilder<HTMLPhraseElement, 'ruby'>; | ||
s: TypedHTMLBuilder<HTMLPhraseElement, 's'>; | ||
samp: TypedHTMLBuilder<HTMLPhraseElement, 'samp'>; | ||
script: TypedHTMLBuilder<HTMLScriptElement, 'script'>; | ||
select: TypedHTMLBuilder<HTMLSelectElement, 'select'>; | ||
small: TypedHTMLBuilder<HTMLPhraseElement, 'small'>; | ||
source: TypedHTMLBuilder<HTMLSourceElement, 'source'>; | ||
span: TypedHTMLBuilder<HTMLSpanElement, 'span'>; | ||
strike: TypedHTMLBuilder<HTMLPhraseElement, 'strike'>; | ||
strong: TypedHTMLBuilder<HTMLPhraseElement, 'strong'>; | ||
style: TypedHTMLBuilder<HTMLStyleElement, 'style'>; | ||
sub: TypedHTMLBuilder<HTMLPhraseElement, 'sub'>; | ||
sup: TypedHTMLBuilder<HTMLPhraseElement, 'sup'>; | ||
table: TypedHTMLBuilder<HTMLTableElement, 'table'>; | ||
tbody: TypedHTMLBuilder<HTMLTableSectionElement, 'tbody'>; | ||
td: TypedHTMLBuilder<HTMLTableDataCellElement, 'td'>; | ||
textarea: TypedHTMLBuilder<HTMLTextAreaElement, 'textarea'>; | ||
tfoot: TypedHTMLBuilder<HTMLTableSectionElement, 'tfoot'>; | ||
th: TypedHTMLBuilder<HTMLTableHeaderCellElement, 'th'>; | ||
thead: TypedHTMLBuilder<HTMLTableSectionElement, 'thead'>; | ||
title: TypedHTMLBuilder<HTMLTitleElement, 'title'>; | ||
tr: TypedHTMLBuilder<HTMLTableRowElement, 'tr'>; | ||
track: TypedHTMLBuilder<HTMLTrackElement, 'track'>; | ||
tt: TypedHTMLBuilder<HTMLPhraseElement, 'tt'>; | ||
u: TypedHTMLBuilder<HTMLPhraseElement, 'u'>; | ||
ul: TypedHTMLBuilder<HTMLUListElement, 'ul'>; | ||
var: TypedHTMLBuilder<HTMLPhraseElement, 'var'>; | ||
video: TypedHTMLBuilder<HTMLVideoElement, 'video'>; | ||
xmp: TypedHTMLBuilder<HTMLBlockElement, 'xmp'>; | ||
// sectioning contents | ||
article: TypedHTMLBuilder<HTMLElement>; | ||
aside: TypedHTMLBuilder<HTMLElement>; | ||
nav: TypedHTMLBuilder<HTMLElement>; | ||
section: TypedHTMLBuilder<HTMLElement>; | ||
article: TypedHTMLBuilder<HTMLElement, 'article'>; | ||
aside: TypedHTMLBuilder<HTMLElement, 'aside'>; | ||
nav: TypedHTMLBuilder<HTMLElement, 'nav'>; | ||
section: TypedHTMLBuilder<HTMLElement, 'section'>; | ||
// untyped | ||
untyped<T extends TypedHTMLContents<HTMLElement>, U extends HTMLElement>(contents: T, factory: () => U): TypedHTML<U, T>; | ||
untyped<T extends TypedHTMLContents<HTMLElement>, U extends HTMLElement, V extends string>(contents: T, factory: () => U, identity: V): TypedHTML<U, T> & HTML<V>; | ||
}; | ||
export default TypedHTML; | ||
} |
139061
26
2771