@@ -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