Skip to content

Commit 4ee9769

Browse files
authored
Merge pull request #1225 from kunstewi/update-script
fix: replaced the old script that was blocking p5.sound.js multiple files' docs generation
2 parents eb3905c + d332edd commit 4ee9769

File tree

1 file changed

+27
-10
lines changed

1 file changed

+27
-10
lines changed

src/scripts/parsers/reference.ts

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -71,18 +71,35 @@ export const parseLibraryReference =
7171
const soundData = await getYuidocOutput('data-sound');
7272
if (!soundData) throw new Error('Error generating p5.sound reference data!');
7373

74-
// Fix p5.sound classes
75-
for (const key in soundData.classes) {
76-
const newName = `p5.${ soundData.classes[key].name}`;
77-
const updated = {
78-
...soundData.classes[key],
79-
name: newName,
80-
};
81-
soundData.classes[newName] = updated;
82-
delete soundData.classes[key];
74+
// Fix p5.sound classes and map global methods to the 'p5' class
75+
const P5_SOUND_CLASS = 'p5.sound';
76+
const P5_CLASS = 'p5';
77+
const P5_PREFIX = 'p5.';
78+
79+
const classKeys = Object.keys(soundData.classes);
80+
for (const key of classKeys) {
81+
let newName = soundData.classes[key].name;
82+
if (newName === P5_SOUND_CLASS) {
83+
newName = P5_CLASS;
84+
} else if (!newName.startsWith(P5_PREFIX)) {
85+
newName = `${P5_PREFIX}${newName}`;
86+
}
87+
88+
if (newName !== soundData.classes[key].name) {
89+
const updated = {
90+
...soundData.classes[key],
91+
name: newName,
92+
};
93+
soundData.classes[newName] = updated;
94+
delete soundData.classes[key];
95+
}
8396
}
8497
for (const item of soundData.classitems) {
85-
item.class = `p5.${ item.class}`;
98+
if (item.class === P5_SOUND_CLASS) {
99+
item.class = P5_CLASS;
100+
} else if (!item.class.startsWith(P5_PREFIX)) {
101+
item.class = `${P5_PREFIX}${item.class}`;
102+
}
86103
}
87104

88105
result = await combineYuidocData(

0 commit comments

Comments
 (0)