Add m.fragment()

This commit is contained in:
Pierre-Yves Gerardy 2016-08-17 17:49:18 +02:00
parent a3c273f802
commit 305035f03b
4 changed files with 49 additions and 2 deletions

6
hyperscript.js Normal file
View file

@ -0,0 +1,6 @@
var hyperscript = require("./render/hyperscript")
hyperscript.trust = require("./render/trust")
hyperscript.fragment = require("./render/fragment")
module.exports = hyperscript

View file

@ -1,6 +1,6 @@
"use strict" "use strict"
var m = require("./render/hyperscript") var m = require("./hyperscript")
var renderService = require("./render") var renderService = require("./render")
var requestService = require("./request") var requestService = require("./request")
var redrawService = require("./redraw") var redrawService = require("./redraw")
@ -9,7 +9,6 @@ requestService.setCompletionCallback(redrawService.publish)
m.route = require("./route") m.route = require("./route")
m.mount = require("./mount") m.mount = require("./mount")
m.trust = require("./render/trust")
m.withAttr = require("./util/withAttr") m.withAttr = require("./util/withAttr")
m.prop = require("./stream") m.prop = require("./stream")
m.render = renderService.render m.render = renderService.render

7
render/fragment.js Normal file
View file

@ -0,0 +1,7 @@
"use strict"
var Vnode = require("../render/vnode")
module.exports = function(attrs, children) {
return Vnode("[", attrs.key, attrs, Vnode.normalizeChildren(children), undefined, undefined)
}

View file

@ -0,0 +1,35 @@
"use strict"
var o = require("../../ospec/ospec")
var fragment = require("../../render/fragment")
o.spec("fragment", function() {
o("works", function() {
var attrs = {foo: 5}
var child = {tag: "p"}
var frag = fragment(attrs, [child])
o(frag.tag).equals("[")
o(frag.children instanceof Array).equals(true)
o(frag.children.length).equals(1)
o(frag.children[0]).equals(child)
o(frag.attrs).equals(attrs)
o(frag.key).equals(undefined)
})
o("supports keys", function() {
var attrs = {key: 7}
var frag = fragment(attrs, [])
o(frag.tag).equals("[")
o(frag.children instanceof Array).equals(true)
o(frag.children.length).equals(0)
o(frag.attrs).equals(attrs)
o(frag.attrs.key).equals(7)
o(frag.key).equals(7)
})
})