MCPcopy Create free account
hub / github.com/atomicojs/atomico / build

Function build

html.js:73–202  ·  view source on GitHub ↗
(statics)

Source from the content-addressed store, hash-verified

71};
72
73const build = function(statics) {
74
75 let mode = MODE_TEXT;
76 let buffer = '';
77 let quote = '';
78 let current = [0];
79 let char, propName;
80
81 const commit = field => {
82 if (mode === MODE_TEXT && (field || (buffer = buffer.replace(/^\s*\n\s*|\s*\n\s*$/g,'')))) {
83 {
84 current.push(CHILD_APPEND, field, buffer);
85 }
86 }
87 else if (mode === MODE_TAGNAME && (field || buffer)) {
88 {
89 current.push(TAG_SET, field, buffer);
90 }
91 mode = MODE_WHITESPACE;
92 }
93 else if (mode === MODE_WHITESPACE && buffer === '...' && field) {
94 {
95 current.push(PROPS_ASSIGN, field, 0);
96 }
97 }
98 else if (mode === MODE_WHITESPACE && buffer && !field) {
99 {
100 current.push(PROP_SET, 0, true, buffer);
101 }
102 }
103 else if (mode >= MODE_PROP_SET) {
104 {
105 if (buffer || (!field && mode === MODE_PROP_SET)) {
106 current.push(mode, 0, buffer, propName);
107 mode = MODE_PROP_APPEND;
108 }
109 if (field) {
110 current.push(mode, field, 0, propName);
111 mode = MODE_PROP_APPEND;
112 }
113 }
114 }
115
116 buffer = '';
117 };
118
119 for (let i=0; i<statics.length; i++) {
120 if (i) {
121 if (mode === MODE_TEXT) {
122 commit();
123 }
124 commit(i);
125 }
126
127 for (let j=0; j<statics[i].length;j++) {
128 char = statics[i][j];
129
130 if (mode === MODE_TEXT) {

Callers 2

htmlFunction · 0.85
htmlFunction · 0.85

Calls 1

commitFunction · 0.85

Tested by

no test coverage detected