MCPcopy
hub / github.com/processing/p5.js / buildParamDocs

Function buildParamDocs

utils/convert.mjs:169–215  ·  view source on GitHub ↗
(docs)

Source from the content-addressed store, hash-verified

167}
168
169function buildParamDocs(docs) {
170 let newClassItems = {};
171 // the fields we need—note that `name` and `class` are needed at this step because it's used to group classitems together. They will be removed later in cleanUpClassItems.
172 let allowed = new Set(['name', 'class', 'params', 'overloads', 'beta']);
173
174 for (let classitem of docs.classitems) {
175 // If `classitem` doesn't have overloads, then it's not a function—skip processing in this case
176 if (classitem.name && classitem.class && classitem.hasOwnProperty('overloads')) {
177 // Skip if the item already exists in newClassItems
178 if (
179 newClassItems[classitem.class] &&
180 newClassItems[classitem.class][classitem.name]
181 ) {
182 continue;
183 }
184
185 // Clean up fields that will not be used in each classitem's overloads
186 classitem.overloads?.forEach(overload => {
187 delete overload.line;
188 delete overload.return;
189 overload.params.forEach(param => {
190 delete param.description;
191 delete param.name;
192 });
193 });
194
195 Object.keys(classitem).forEach(key => {
196 if (!allowed.has(key)) delete classitem[key];
197 });
198
199 newClassItems[classitem.class] = newClassItems[classitem.class] || {};
200 newClassItems[classitem.class][classitem.name] = classitem;
201 }
202 }
203
204 const cleanedClassItems = cleanUpClassItems(newClassItems);
205
206 let out = fs.createWriteStream(
207 path.join(__dirname, '../docs/parameterData.json'),
208 {
209 flags: 'w',
210 mode: '0644'
211 }
212 );
213 out.write(JSON.stringify(cleanedClassItems, null, 2));
214 out.end();
215}
216
217fs.mkdirSync(path.join(__dirname, '../docs/reference'), { recursive: true });
218fs.writeFileSync(path.join(__dirname, '../docs/reference/data.json'), JSON.stringify(converted, null, 2));

Callers 1

convert.mjsFile · 0.85

Calls 2

cleanUpClassItemsFunction · 0.85
endMethod · 0.80

Tested by

no test coverage detected