@@ -65,18 +65,31 @@ export const parseLibraryReference =
6565 const soundData = await getYuidocOutput ( 'data-sound' ) ;
6666 if ( ! soundData ) throw new Error ( 'Error generating p5.sound reference data!' ) ;
6767
68- // Fix p5.sound classes
69- for ( const key in soundData . classes ) {
70- const newName = `p5.${ soundData . classes [ key ] . name } ` ;
71- const updated = {
72- ...soundData . classes [ key ] ,
73- name : newName ,
74- } ;
75- soundData . classes [ newName ] = updated ;
76- delete soundData . classes [ key ] ;
68+ // Fix p5.sound classes and map global methods to the 'p5' class
69+ const classKeys = Object . keys ( soundData . classes ) ;
70+ for ( const key of classKeys ) {
71+ let newName = soundData . classes [ key ] . name ;
72+ if ( newName === 'p5.sound' ) {
73+ newName = 'p5' ;
74+ } else if ( ! newName . startsWith ( 'p5.' ) ) {
75+ newName = `p5.${ newName } ` ;
76+ }
77+
78+ if ( newName !== soundData . classes [ key ] . name ) {
79+ const updated = {
80+ ...soundData . classes [ key ] ,
81+ name : newName ,
82+ } ;
83+ soundData . classes [ newName ] = updated ;
84+ delete soundData . classes [ key ] ;
85+ }
7786 }
7887 for ( const item of soundData . classitems ) {
79- item . class = `p5.${ item . class } ` ;
88+ if ( item . class === 'p5.sound' ) {
89+ item . class = 'p5' ;
90+ } else if ( ! item . class . startsWith ( 'p5.' ) ) {
91+ item . class = `p5.${ item . class } ` ;
92+ }
8093 }
8194
8295 result = await combineYuidocData (
0 commit comments