MCPcopy Index your code
hub / github.com/developit/htm / build

Function build

src/build.mjs:128–292  ·  view source on GitHub ↗
(statics)

Source from the content-addressed store, hash-verified

126};
127
128export const build = function(statics) {
129 const fields = arguments;
130 const h = this;
131
132 let mode = MODE_TEXT;
133 let buffer = '';
134 let quote = '';
135 let current = [0];
136 let char, propName;
137
138 const commit = field => {
139 if (mode === MODE_TEXT && (field || (buffer = buffer.replace(/^\s*\n\s*|\s*\n\s*$/g,'')))) {
140 if (MINI) {
141 current.push(field ? fields[field] : buffer);
142 }
143 else {
144 current.push(CHILD_APPEND, field, buffer);
145 }
146 }
147 else if (mode === MODE_TAGNAME && (field || buffer)) {
148 if (MINI) {
149 current[1] = field ? fields[field] : buffer;
150 }
151 else {
152 current.push(TAG_SET, field, buffer);
153 }
154 mode = MODE_WHITESPACE;
155 }
156 else if (mode === MODE_WHITESPACE && buffer === '...' && field) {
157 if (MINI) {
158 current[2] = Object.assign(current[2] || {}, fields[field]);
159 }
160 else {
161 current.push(PROPS_ASSIGN, field, 0);
162 }
163 }
164 else if (mode === MODE_WHITESPACE && buffer && !field) {
165 if (MINI) {
166 (current[2] = current[2] || {})[buffer] = true;
167 }
168 else {
169 current.push(PROP_SET, 0, true, buffer);
170 }
171 }
172 else if (mode >= MODE_PROP_SET) {
173 if (MINI) {
174 if (mode === MODE_PROP_SET) {
175 (current[2] = current[2] || {})[propName] = field ? buffer ? (buffer + fields[field]) : fields[field] : buffer;
176 mode = MODE_PROP_APPEND;
177 }
178 else if (field || buffer) {
179 current[2][propName] += field ? buffer + fields[field] : buffer;
180 }
181 }
182 else {
183 if (buffer || (!field && mode === MODE_PROP_SET)) {
184 current.push(mode, 0, buffer, propName);
185 mode = MODE_PROP_APPEND;

Callers 2

TaggedTemplateExpressionFunction · 0.90
regularFunction · 0.90

Calls 1

commitFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…