New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

typed-dom

Package Overview
Dependencies
Maintainers
1
Versions
350
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

typed-dom - npm Package Compare versions

Comparing version 0.0.40 to 0.0.41

25

dist/typed-dom.js

@@ -1,2 +0,2 @@

/*! typed-dom v0.0.40 https://github.com/falsandtru/typed-dom | (c) 2016, falsandtru | (Apache-2.0 AND MPL-2.0) License */
/*! typed-dom v0.0.41 https://github.com/falsandtru/typed-dom | (c) 2016, falsandtru | (Apache-2.0 AND MPL-2.0) License */
require = function e(t, n, r) {

@@ -320,5 +320,22 @@ function s(o, u) {

'wbr',
'custom'
'create'
].reduce(function (obj, tag) {
return obj[tag] = function (attrs, children, factory) {
return obj[tag] = tag === 'create' ? function (tag, b, c, d) {
if (b === void 0) {
b = function () {
return document.createElement(tag);
};
}
if (c === void 0) {
c = function () {
return document.createElement(tag);
};
}
if (d === void 0) {
d = function () {
return document.createElement(tag);
};
}
return exports.TypedHTML.div(b, c, d);
} : function (attrs, children, factory) {
switch (typeof attrs) {

@@ -337,3 +354,3 @@ case 'undefined':

};
return [Object.keys(attrs)[0]].every(function (key) {
return Object.keys(attrs).slice(-1).every(function (key) {
return key === void 0 || typeof attrs[key] === 'object';

@@ -340,0 +357,0 @@ }) ? new builder_1.TypedHTMLElement(factory(), attrs) : new builder_1.TypedHTMLElement(define(factory(), attrs), children === factory ? void 0 : children);

4

dist/typed-dom.min.js

@@ -1,2 +0,2 @@

/*! typed-dom v0.0.40 https://github.com/falsandtru/typed-dom | (c) 2016, falsandtru | (Apache-2.0 AND MPL-2.0) License */
require=function e(t,r,n){function i(c,u){if(!r[c]){if(!t[c]){var s="function"==typeof require&&require;if(!u&&s)return s(c,!0);if(o)return o(c,!0);var d=new Error("Cannot find module '"+c+"'");throw d.code="MODULE_NOT_FOUND",d}var a=r[c]={exports:{}};t[c][0].call(a.exports,function(e){var r=t[c][1][e];return i(r||e)},a,a.exports,e,t,r,n)}return r[c].exports}for(var o="function"==typeof require&&require,c=0;c<n.length;c++)i(n[c]);return i}({1:[function(e,t,r){},{}],2:[function(e,t,r){"use strict";var n=this&&this.__assign||Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++){t=arguments[r];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e};Object.defineProperty(r,"__esModule",{value:!0});var i=function(){function e(e,t){function r(){for(;e.childNodes.length>0;)e.removeChild(e.firstChild)}function i(t){e.id.match(/^[\w\-]+$/)&&(t.innerHTML=t.innerHTML.replace(/^\s*\$scope(?!\w)/gm,"#"+e.id),Array.from(t.querySelectorAll("*")).forEach(function(e){return void e.remove()}))}var o=this;switch(this.element_=e,this.children_=t,this.mode=void 0===this.children_?"void":"string"==typeof this.children_?"text":Array.isArray(this.children_)?"collection":"struct",this.structkeys="struct"===this.mode?Object.keys(this.children_):[],this.tag,this.mode){case"void":return;case"text":return r(),this.children_=document.createTextNode(""),this.element_.appendChild(this.children_),void(this.children=t);case"collection":return r(),e.id&&t.forEach(function(e){var t=e.element;return t instanceof HTMLStyleElement&&void i(t)}),this.children_=Object.freeze([]),void(this.children=t);case"struct":return r(),e.id&&Object.keys(t).map(function(e){return t[e]}).forEach(function(e){var t=e.element;return t instanceof HTMLStyleElement&&void i(t)}),this.children_=this.observe(n({},t)),void this.structkeys.forEach(function(e){return void o.element_.appendChild(t[e].element)})}}return Object.defineProperty(e.prototype,"element",{get:function(){return this.element_},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"children",{get:function(){switch(this.mode){case"text":return this.children_.data;default:return this.children_}},set:function(e){var t=this;switch(this.mode){case"void":return;case"text":if(e===this.children_.data)return;return void(this.children_.data=e);case"collection":if(e===this.children_)return;if(!Object.isFrozen(this.children_))throw new Error("TypedHTMLElement collections cannot be updated recursively.");return e.reduce(function(e,t){var r=e.indexOf(t);return-1===r?e:(e.splice(r,1),e)},this.children_.slice()).forEach(function(e){return void e.element.remove()}),this.children_=[],e.forEach(function(e,r){return t.children_[r]=e,void t.element_.appendChild(e.element)}),void Object.freeze(this.children_);case"struct":if(e===this.children_)return;return void this.structkeys.forEach(function(r){return t.children_[r]=e[r]})}},enumerable:!0,configurable:!0}),e.prototype.observe=function(e){var t=this;return Object.defineProperties(e,this.structkeys.reduce(function(r,n){var i=e[n];return r[n]={configurable:!0,enumerable:!0,get:function(){return i},set:function(e){var r=i;e!==r&&(i=e,t.element_.replaceChild(e.element,r.element))}},r},{}))},e}();r.TypedHTMLElement=i},{}],3:[function(e,t,r){"use strict";function n(e,t){return Object.keys(t).reduce(function(e,r){return e.setAttribute(r,t[r]||""),e},e)}Object.defineProperty(r,"__esModule",{value:!0});var i=e("./builder");r.TypedHTML=["a","applet","area","audio","base","basefont","blockquote","body","br","button","canvas","caption","col","colgroup","data","datalist","del","dir","div","dl","embed","fieldset","font","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","hr","html","iframe","img","input","ins","isindex","label","legend","li","link","listing","map","marquee","menu","meta","meter","nextid","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","script","select","source","span","style","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","ul","video","x-ms-webview","xmp","abbr","acronym","address","article","aside","b","bdo","big","center","cite","code","dd","dfn","dt","em","figcaption","figure","footer","header","hgroup","i","kbd","keygen","mark","nav","nobr","noframes","noscript","plaintext","rt","ruby","s","samp","section","small","strike","strong","sub","sup","tt","u","var","wbr","custom"].reduce(function(e,t){return e[t]=function(e,r,o){switch(typeof e){case"undefined":return new i.TypedHTMLElement(document.createElement(t),void 0);case"function":return new i.TypedHTMLElement(e(),void 0);case"string":return new i.TypedHTMLElement((r||function(){return document.createElement(t)})(),e);case"object":return o="function"==typeof r?r:o||function(){return document.createElement(t)},[Object.keys(e)[0]].every(function(t){return void 0===t||"object"==typeof e[t]})?new i.TypedHTMLElement(o(),e):new i.TypedHTMLElement(n(o(),e),r===o?void 0:r);default:throw new TypeError("Invalid arguments: ["+e+", "+r+", "+o+"]")}},e},{})},{"./builder":2}],4:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("./dom/html");r.default=n.TypedHTML,r.TypedHTML=n.TypedHTML,function(e){for(var t in e)r.hasOwnProperty(t)||(r[t]=e[t])}(e("./util/dom"))},{"./dom/html":3,"./util/dom":5}],5:[function(e,t,r){"use strict";function n(e,t,r,n){function i(e){"object"==typeof n&&n.passive&&(e.preventDefault=u.noop),r(e)}void 0===n&&(n=!1),e.addEventListener(t,i,o(n));var c=function(){return c=u.noop,void e.removeEventListener(t,i,o(n))};return function(){return void c()}}function i(e,t,r,i){void 0===i&&(i=!1);var o=n(e,t,function(e){o(),r(e)},i);return function(){return void o()}}function o(e){return s?e:"boolean"==typeof e?e:e.capture}var c=this&&this.__assign||Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++){t=arguments[r];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e};Object.defineProperty(r,"__esModule",{value:!0});var u=e("./noop");r.bind=n,r.once=i,r.delegate=function(e,t,r,o,u){return void 0===u&&(u={}),n(e,r,function(n){var c=n.target.closest(t);c&&Array.from(e.querySelectorAll(t)).filter(function(e){return e===c}).forEach(function(e){return void i(e,r,function(e){o(e)},u)})},c({},u,{capture:!0}))};var s=!1;try{document.createElement("div").addEventListener("test",function(){},{get capture(){return s=!0}})}catch(e){}},{"./noop":6}],6:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.noop=function(){}},{}],"typed-dom":[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),function(e){for(var t in e)r.hasOwnProperty(t)||(r[t]=e[t])}(e("./src/export"));var n=e("./src/export");r.default=n.default},{"./src/export":4}]},{},[1,"typed-dom"]);
/*! typed-dom v0.0.41 https://github.com/falsandtru/typed-dom | (c) 2016, falsandtru | (Apache-2.0 AND MPL-2.0) License */
require=function e(t,r,n){function i(c,u){if(!r[c]){if(!t[c]){var d="function"==typeof require&&require;if(!u&&d)return d(c,!0);if(o)return o(c,!0);var s=new Error("Cannot find module '"+c+"'");throw s.code="MODULE_NOT_FOUND",s}var a=r[c]={exports:{}};t[c][0].call(a.exports,function(e){var r=t[c][1][e];return i(r||e)},a,a.exports,e,t,r,n)}return r[c].exports}for(var o="function"==typeof require&&require,c=0;c<n.length;c++)i(n[c]);return i}({1:[function(e,t,r){},{}],2:[function(e,t,r){"use strict";var n=this&&this.__assign||Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++){t=arguments[r];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e};Object.defineProperty(r,"__esModule",{value:!0});var i=function(){function e(e,t){function r(){for(;e.childNodes.length>0;)e.removeChild(e.firstChild)}function i(t){e.id.match(/^[\w\-]+$/)&&(t.innerHTML=t.innerHTML.replace(/^\s*\$scope(?!\w)/gm,"#"+e.id),Array.from(t.querySelectorAll("*")).forEach(function(e){return void e.remove()}))}var o=this;switch(this.element_=e,this.children_=t,this.mode=void 0===this.children_?"void":"string"==typeof this.children_?"text":Array.isArray(this.children_)?"collection":"struct",this.structkeys="struct"===this.mode?Object.keys(this.children_):[],this.tag,this.mode){case"void":return;case"text":return r(),this.children_=document.createTextNode(""),this.element_.appendChild(this.children_),void(this.children=t);case"collection":return r(),e.id&&t.forEach(function(e){var t=e.element;return t instanceof HTMLStyleElement&&void i(t)}),this.children_=Object.freeze([]),void(this.children=t);case"struct":return r(),e.id&&Object.keys(t).map(function(e){return t[e]}).forEach(function(e){var t=e.element;return t instanceof HTMLStyleElement&&void i(t)}),this.children_=this.observe(n({},t)),void this.structkeys.forEach(function(e){return void o.element_.appendChild(t[e].element)})}}return Object.defineProperty(e.prototype,"element",{get:function(){return this.element_},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"children",{get:function(){switch(this.mode){case"text":return this.children_.data;default:return this.children_}},set:function(e){var t=this;switch(this.mode){case"void":return;case"text":if(e===this.children_.data)return;return void(this.children_.data=e);case"collection":if(e===this.children_)return;if(!Object.isFrozen(this.children_))throw new Error("TypedHTMLElement collections cannot be updated recursively.");return e.reduce(function(e,t){var r=e.indexOf(t);return-1===r?e:(e.splice(r,1),e)},this.children_.slice()).forEach(function(e){return void e.element.remove()}),this.children_=[],e.forEach(function(e,r){return t.children_[r]=e,void t.element_.appendChild(e.element)}),void Object.freeze(this.children_);case"struct":if(e===this.children_)return;return void this.structkeys.forEach(function(r){return t.children_[r]=e[r]})}},enumerable:!0,configurable:!0}),e.prototype.observe=function(e){var t=this;return Object.defineProperties(e,this.structkeys.reduce(function(r,n){var i=e[n];return r[n]={configurable:!0,enumerable:!0,get:function(){return i},set:function(e){var r=i;e!==r&&(i=e,t.element_.replaceChild(e.element,r.element))}},r},{}))},e}();r.TypedHTMLElement=i},{}],3:[function(e,t,r){"use strict";function n(e,t){return Object.keys(t).reduce(function(e,r){return e.setAttribute(r,t[r]||""),e},e)}Object.defineProperty(r,"__esModule",{value:!0});var i=e("./builder");r.TypedHTML=["a","applet","area","audio","base","basefont","blockquote","body","br","button","canvas","caption","col","colgroup","data","datalist","del","dir","div","dl","embed","fieldset","font","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","hr","html","iframe","img","input","ins","isindex","label","legend","li","link","listing","map","marquee","menu","meta","meter","nextid","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","script","select","source","span","style","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","ul","video","x-ms-webview","xmp","abbr","acronym","address","article","aside","b","bdo","big","center","cite","code","dd","dfn","dt","em","figcaption","figure","footer","header","hgroup","i","kbd","keygen","mark","nav","nobr","noframes","noscript","plaintext","rt","ruby","s","samp","section","small","strike","strong","sub","sup","tt","u","var","wbr","create"].reduce(function(e,t){return e[t]="create"===t?function(e,t,n,i){return void 0===t&&(t=function(){return document.createElement(e)}),void 0===n&&(n=function(){return document.createElement(e)}),void 0===i&&(i=function(){return document.createElement(e)}),r.TypedHTML.div(t,n,i)}:function(e,r,o){switch(typeof e){case"undefined":return new i.TypedHTMLElement(document.createElement(t),void 0);case"function":return new i.TypedHTMLElement(e(),void 0);case"string":return new i.TypedHTMLElement((r||function(){return document.createElement(t)})(),e);case"object":return o="function"==typeof r?r:o||function(){return document.createElement(t)},Object.keys(e).slice(-1).every(function(t){return void 0===t||"object"==typeof e[t]})?new i.TypedHTMLElement(o(),e):new i.TypedHTMLElement(n(o(),e),r===o?void 0:r);default:throw new TypeError("Invalid arguments: ["+e+", "+r+", "+o+"]")}},e},{})},{"./builder":2}],4:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("./dom/html");r.default=n.TypedHTML,r.TypedHTML=n.TypedHTML,function(e){for(var t in e)r.hasOwnProperty(t)||(r[t]=e[t])}(e("./util/dom"))},{"./dom/html":3,"./util/dom":5}],5:[function(e,t,r){"use strict";function n(e,t,r,n){function i(e){"object"==typeof n&&n.passive&&(e.preventDefault=u.noop),r(e)}void 0===n&&(n=!1),e.addEventListener(t,i,o(n));var c=function(){return c=u.noop,void e.removeEventListener(t,i,o(n))};return function(){return void c()}}function i(e,t,r,i){void 0===i&&(i=!1);var o=n(e,t,function(e){o(),r(e)},i);return function(){return void o()}}function o(e){return d?e:"boolean"==typeof e?e:e.capture}var c=this&&this.__assign||Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++){t=arguments[r];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e};Object.defineProperty(r,"__esModule",{value:!0});var u=e("./noop");r.bind=n,r.once=i,r.delegate=function(e,t,r,o,u){return void 0===u&&(u={}),n(e,r,function(n){var c=n.target.closest(t);c&&Array.from(e.querySelectorAll(t)).filter(function(e){return e===c}).forEach(function(e){return void i(e,r,function(e){o(e)},u)})},c({},u,{capture:!0}))};var d=!1;try{document.createElement("div").addEventListener("test",function(){},{get capture(){return d=!0}})}catch(e){}},{"./noop":6}],6:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.noop=function(){}},{}],"typed-dom":[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),function(e){for(var t in e)r.hasOwnProperty(t)||(r[t]=e[t])}(e("./src/export"));var n=e("./src/export");r.default=n.default},{"./src/export":4}]},{},[1,"typed-dom"]);
{
"name": "typed-dom",
"version": "0.0.40",
"version": "0.0.41",
"description": "Static typed dom component builder.",

@@ -5,0 +5,0 @@ "private": false,

@@ -18,6 +18,6 @@ # typed-dom

style: TypedHTML.style(`$scope ul { width: 100px; }`),
title: TypedHTML.h1(`title`),
title: TypedHTML.h1(`title` as string),
content: TypedHTML.ul([
TypedHTML.li(`item` as string),
TypedHTML.li(`item`),
TypedHTML.li(`item`),
])

@@ -110,3 +110,3 @@ });

content: TypedHTML.ul([
TypedHTML.li(`item`)
TypedHTML.li(`item` as string)
])

@@ -113,0 +113,0 @@ });

@@ -103,3 +103,3 @@ export type TypedHTMLElementChildren =

if (children === (this.children_ as any as Text).data) return;
(<Text><any>this.children_).data = <string>children;
(this.children_ as any as Text).data = <string>children;
return;

@@ -106,0 +106,0 @@

@@ -61,5 +61,19 @@ import { TypedHTMLElement, TypedHTMLElementChildren } from './builder';

wbr: TypedHTMLElementBuilder<'wbr', HTMLElement>;
// custom
custom<T extends string, E extends HTMLElement = HTMLElement, C extends TypedHTMLElementChildren = TypedHTMLElementChildren>(children: C, factory: () => E, tag: T): TypedHTMLElement<T, E, C>;
custom<T extends string, E extends HTMLElement = HTMLElement, C extends TypedHTMLElementChildren = TypedHTMLElementChildren>(attrs: { [name: string]: string; }, children: C, factory: () => E, tag: T): TypedHTMLElement<T, E, C>;
// create
create<T extends keyof HTMLElementTagNameMap>
(tag: T, factory?: () => HTMLElementTagNameMap[T]): TypedHTMLElement<T, HTMLElementTagNameMap[T], void>;
create<T extends keyof HTMLElementTagNameMap, C extends TypedHTMLElementChildren = TypedHTMLElementChildren>
(tag: T, children: C, factory?: () => HTMLElementTagNameMap[T]): TypedHTMLElement<T, HTMLElementTagNameMap[T], C>;
create<T extends keyof HTMLElementTagNameMap>
(tag: T, attrs: { [name: string]: string; }, factory?: () => HTMLElementTagNameMap[T]): TypedHTMLElement<T, HTMLElementTagNameMap[T], void>;
create<T extends keyof HTMLElementTagNameMap, C extends TypedHTMLElementChildren = TypedHTMLElementChildren>
(tag: T, attrs: { [name: string]: string; }, children: C, factory?: () => HTMLElementTagNameMap[T]): TypedHTMLElement<T, HTMLElementTagNameMap[T], C>;
create<T extends string, E extends HTMLElement = HTMLElement>
(tag: T, factory?: () => E): TypedHTMLElement<T, E, void>;
create<T extends string, E extends HTMLElement = HTMLElement, C extends TypedHTMLElementChildren = TypedHTMLElementChildren>
(tag: T, children: C, factory?: () => E): TypedHTMLElement<T, E, C>;
create<T extends string, E extends HTMLElement = HTMLElement>
(tag: T, attrs: { [name: string]: string; }, factory?: () => E): TypedHTMLElement<T, E, void>;
create<T extends string, E extends HTMLElement = HTMLElement, C extends TypedHTMLElementChildren = TypedHTMLElementChildren>
(tag: T, attrs: { [name: string]: string; }, children: C, factory?: () => E): TypedHTMLElement<T, E, C>;
} = [

@@ -194,30 +208,32 @@ // lib.dom.d.ts

'wbr',
// custom
'custom'
// create
'create',
]
.reduce((obj, tag) => (
obj[tag] =
<C extends TypedHTMLElementChildren>
(attrs?: { [name: string]: string; }, children?: C, factory?: () => HTMLElement)
: TypedHTMLElement<string, HTMLElement, C> => {
switch (typeof attrs) {
case 'undefined':
return new TypedHTMLElement(document.createElement(tag), <never>void 0);
case 'function':
return new TypedHTMLElement((<any>attrs)(), <never>void 0);
case 'string':
return new TypedHTMLElement((<any>children || (() => document.createElement(tag)))(), <never>attrs);
case 'object':
factory = typeof children === 'function'
? children
: factory || (() => document.createElement(tag));
return [Object.keys(attrs!)[0]].every(key => key === void 0 || typeof attrs![key] === 'object')
? new TypedHTMLElement(factory(), <any>attrs)
: new TypedHTMLElement(define(factory(), attrs!), <never>children === factory ? void 0 : children)
default:
throw new TypeError(`Invalid arguments: [${attrs}, ${children}, ${factory}]`);
}
},
obj[tag] = tag === 'create'
? (tag: string, b: any = () => document.createElement(tag), c: any = () => document.createElement(tag), d: any = () => document.createElement(tag)) =>
TypedHTML.div(b, c, d)
: <C extends TypedHTMLElementChildren>
(attrs?: { [name: string]: string; }, children?: C, factory?: () => HTMLElement)
: TypedHTMLElement<string, HTMLElement, C> => {
switch (typeof attrs) {
case 'undefined':
return new TypedHTMLElement(document.createElement(tag), <never>void 0);
case 'function':
return new TypedHTMLElement((attrs as any)(), <never>void 0);
case 'string':
return new TypedHTMLElement((children as any || (() => document.createElement(tag)))(), <never>attrs);
case 'object':
factory = typeof children === 'function'
? children
: factory || (() => document.createElement(tag));
return Object.keys(attrs!).slice(-1).every(key => key === void 0 || typeof attrs![key] === 'object')
? new TypedHTMLElement(factory(), <any>attrs)
: new TypedHTMLElement(define(factory(), attrs!), <never>children === factory ? void 0 : children)
default:
throw new TypeError(`Invalid arguments: [${attrs}, ${children}, ${factory}]`);
}
},
obj
), <any>{});
), {} as any);

@@ -224,0 +240,0 @@ function define<E extends HTMLElement>(el: E, attrs: { [name: string]: string }): E {

@@ -20,3 +20,3 @@ import TypedHTML from '../../index';

assert(dom.element.outerHTML === '<em></em>');
assert.deepStrictEqual(dom.children, void 0);
assert(dom.children === void 0);
});

@@ -44,3 +44,3 @@

assert(dom.element.id === 'test');
assert.deepStrictEqual(dom.children, 'a');
assert(dom.children === 'a');
});

@@ -50,3 +50,3 @@

const collection = TypedHTML.ul([
TypedHTML.li(`1`),
TypedHTML.li(`1` as string),
TypedHTML.li(`2`)

@@ -178,3 +178,3 @@ ]);

assert(dom.element.getAttribute('class') === 'test');
assert.deepStrictEqual(dom.children, void 0);
assert(dom.children === void 0);
});

@@ -185,3 +185,3 @@

const el = document.createElement('div');
el.id = 'test';
el.id = 'id';
el.className = 'test';

@@ -192,3 +192,3 @@ return el;

assert(dom.element.className === 'test');
assert.deepStrictEqual(dom.children, void 0);
assert(dom.children === void 0);
});

@@ -200,3 +200,3 @@

assert(dom.element.getAttribute('class') === 'test');
assert.deepStrictEqual(dom.children, '');
assert(dom.children === '');
});

@@ -221,3 +221,3 @@

const el = document.createElement('div');
el.id = 'test';
el.id = 'id';
el.className = 'test';

@@ -228,3 +228,3 @@ return el;

assert(dom.element.className === 'test');
assert.deepStrictEqual(dom.children, '');
assert(dom.children === '');
});

@@ -235,3 +235,3 @@

const el = document.createElement('div');
el.id = 'test';
el.id = 'id';
el.className = 'test';

@@ -248,3 +248,3 @@ return el;

const el = document.createElement('div');
el.id = 'test';
el.id = 'id';
el.className = 'test';

@@ -258,2 +258,67 @@ return el;

it('create', function () {
const dom = TypedHTML.create('some');
assert(dom.element.outerHTML === '<some></some>');
assert(dom.children === void 0);
});
it('create with factory', function () {
const dom = TypedHTML.create('some', () =>
document.createElement('some'));
assert(dom.element.outerHTML === '<some></some>');
assert(dom.children === void 0);
});
it('create with children', function () {
const dom = TypedHTML.create('some', 'a');
assert(dom.element.outerHTML === '<some>a</some>');
assert(dom.children === 'a');
});
it('create with children and factory', function () {
const dom = TypedHTML.create('some', 'a', () => {
const el = document.createElement('some');
el.textContent = 'b';
return el;
});
assert(dom.element.outerHTML === '<some>a</some>');
assert(dom.children === 'a');
});
it('create with attr', function () {
const dom = TypedHTML.create('some', { id: 'test' });
assert(dom.element.id === 'test');
assert(dom.children === void 0);
});
it('create with attr and factory', function () {
const dom = TypedHTML.create('some', { id: 'test' }, () => {
const el = document.createElement('some');
el.id = 'id';
el.className = 'test';
return el;
});
assert(dom.element.id === 'test');
assert(dom.element.className === 'test');
assert(dom.children === void 0);
});
it('create with attr and children', function () {
const dom = TypedHTML.create('some', { id: 'test' }, {});
assert(dom.element.id === 'test');
assert.deepStrictEqual(dom.children, {});
});
it('create with attr, children, and factory', function () {
const dom = TypedHTML.create('some', { id: 'test' }, {}, () => {
const el = document.createElement('some');
el.id = 'id';
el.className = 'test';
return el;
});
assert(dom.element.id === 'test');
assert(dom.element.className === 'test');
assert.deepStrictEqual(dom.children, {});
});
it('sanitize', function () {

@@ -279,5 +344,9 @@ const dom = TypedHTML.div('<script>');

assert(TypedHTML.p(() => TypedHTML.p('a').element).element.innerHTML === 'a');
assert(TypedHTML.p(() => TypedHTML.p('a').element).children === void 0);
assert(TypedHTML.p('', () => TypedHTML.p('a').element).element.innerHTML === '');
assert(TypedHTML.p('', () => TypedHTML.p('a').element).children === '');
assert(TypedHTML.p([], () => TypedHTML.p('a').element).element.childNodes.length === 0);
assert.deepStrictEqual(TypedHTML.p([], () => TypedHTML.p('a').element).children, []);
assert(TypedHTML.p({}, () => TypedHTML.p('a').element).element.childNodes.length === 0);
assert.deepStrictEqual(TypedHTML.p({}, () => TypedHTML.p('a').element).children, {});
});

@@ -284,0 +353,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc