@lightningjs/blits 0.5.3 → 0.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ # v0.5.4
4
+
5
+ _5 dec 2023_
6
+
7
+ - Fixed issue with Components and Elements not always being cleaned up in forloop
8
+ - Added support for nested children inside a forloop on an Element
9
+
3
10
  # v0.5.3
4
11
 
5
12
  _4 dec 2023_
@@ -31,6 +31,6 @@
31
31
  "vite": "^4.0.4"
32
32
  },
33
33
  "dependencies": {
34
- "@lightningjs/blits": "^0.5.3"
34
+ "@lightningjs/blits": "^0.5.4"
35
35
  }
36
36
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lightningjs/blits",
3
- "version": "0.5.3",
3
+ "version": "0.5.4",
4
4
  "description": "Blits: The Lightning 3 App Development Framework",
5
5
  "bin": "bin/index.cjs",
6
6
  "exports": {
@@ -106,7 +106,7 @@ const generateElementCode = function (
106
106
  `)
107
107
 
108
108
  if (children) {
109
- generateCode.call(this, { children }, `elms[${counter}]`)
109
+ generateCode.call(this, { children }, `${elm}`, options)
110
110
  }
111
111
  }
112
112
 
@@ -181,7 +181,6 @@ const generateComponentCode = function (
181
181
  }
182
182
  `)
183
183
 
184
- counter++
185
184
  if (children) {
186
185
  generateElementCode.call(this, { children }, false, { ...options })
187
186
  }
@@ -217,6 +216,7 @@ const generateForLoopCode = function (templateObject, parent) {
217
216
  const keys = []
218
217
  for(let __index = 0; __index < collection.length; __index++) {
219
218
  parent = ${parent}
219
+ if(!component.key) keys.length = 0
220
220
  const scope = Object.assign(component, {
221
221
  key: Math.random(),
222
222
  ${index}: __index,
@@ -264,7 +264,7 @@ const generateForLoopCode = function (templateObject, parent) {
264
264
  this.effectsCode.push(ctx.renderCode.join('\n'))
265
265
  }
266
266
 
267
- const generateCode = function (templateObject, parent = false) {
267
+ const generateCode = function (templateObject, parent = false, options = {}) {
268
268
  templateObject.children &&
269
269
  templateObject.children.forEach((childTemplateObject) => {
270
270
  counter++
@@ -273,9 +273,9 @@ const generateCode = function (templateObject, parent = false) {
273
273
  generateForLoopCode.call(this, childTemplateObject, parent)
274
274
  } else {
275
275
  if (childTemplateObject.type === 'Element' || childTemplateObject.type === 'Slot') {
276
- generateElementCode.call(this, childTemplateObject, parent)
276
+ generateElementCode.call(this, childTemplateObject, parent, options)
277
277
  } else {
278
- generateComponentCode.call(this, childTemplateObject, parent)
278
+ generateComponentCode.call(this, childTemplateObject, parent, options)
279
279
  }
280
280
  }
281
281
  })