Skip to content

Commit 5d9d41c

Browse files
committed
update cample to 3.2.0-alpha.29
1 parent 071b8a4 commit 5d9d41c

File tree

2 files changed

+70
-5
lines changed

2 files changed

+70
-5
lines changed

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "cample",
3-
"version": "3.2.0-alpha.28",
3+
"version": "3.2.0-alpha.29",
44
"description": "Cample.js - fast modern javascript framework. Reactivity without virtual DOM!",
55
"main": "dist/index.js",
66
"types": "dist/index.d.ts",

src/core/functions/render/render-el.ts

+69-4
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import { parseKey } from "../parse/parse-key";
3131
import { renderEventKey } from "../render/render-event-key";
3232
import { renderComponentDynamicKey } from "./render-component-dynamic-key";
3333
import { renderKey } from "./render-key";
34+
import { renderValues } from "./render-values";
3435

3536
export const renderEl = (
3637
setEventListener: () => void,
@@ -89,10 +90,74 @@ export const renderEl = (
8990
return val;
9091
};
9192
const createValItem = (value: string | CurrentKeyType) => {
92-
return {
93-
value,
94-
render: typeof value === "string" ? valueFunctions[2] : valueFunctions[3]
95-
};
93+
if (typeof value === "string") {
94+
return {
95+
value,
96+
render: valueFunctions[2]
97+
};
98+
} else {
99+
if (isEach === true) {
100+
let currentRender: any;
101+
if (value.isValue) {
102+
currentRender = (
103+
key: CurrentKeyType,
104+
data: any,
105+
importData: any,
106+
eachIndex: number | undefined
107+
) => {
108+
const str = {
109+
value: ""
110+
};
111+
renderValues(str, key, data, importData, eachIndex);
112+
return str.value;
113+
};
114+
} else {
115+
switch (value.originType) {
116+
case 1:
117+
currentRender = (
118+
key: CurrentKeyType,
119+
data: any,
120+
importData: any,
121+
eachIndex: number | undefined
122+
) => (key.render as any)(data);
123+
break;
124+
case 2:
125+
currentRender = (
126+
key: CurrentKeyType,
127+
data: any,
128+
importData: any,
129+
eachIndex: number | undefined
130+
) => (key.render as any)(importData);
131+
break;
132+
case 3:
133+
currentRender = (
134+
key: CurrentKeyType,
135+
data: any,
136+
importData: any,
137+
eachIndex: number | undefined
138+
) => eachIndex;
139+
break;
140+
default:
141+
currentRender = (
142+
key: CurrentKeyType,
143+
data: any,
144+
importData: any,
145+
eachIndex: number | undefined
146+
) => undefined;
147+
break;
148+
}
149+
}
150+
return {
151+
value,
152+
render: currentRender
153+
};
154+
} else {
155+
return {
156+
value,
157+
render: valueFunctions[3]
158+
};
159+
}
160+
}
96161
};
97162
if (regexAttr.length) {
98163
for (const e of regexAttr) {

0 commit comments

Comments
 (0)