@@ -98,38 +98,65 @@ class System {
9898
9999 module . loader = promiseDone ;
100100
101- const postResolve = new Promise < void > ( ( resolve , reject ) => {
102- module . factory = ( ) => {
103- const r = module . setup ( ( key , value ) => {
104- if ( typeof key === "object" ) {
105- merge ( module . exports , key ) ;
106- return module . exports ;
107- }
108- module . exports [ key ] = value ;
109- return value ;
110- } , module ) ;
111-
112- var list = module . dependencies ;
113-
114- const { setters } = r ;
115- for ( let index = 0 ; index < list . length ; index ++ ) {
116- const element = list [ index ] ;
117- setters [ index ] ( element . getExports ( ) ) ;
118- }
119-
120- const rp = r . execute ( ) as any ;
121- if ( rp ?. then ) {
122- rp . then ( resolve , reject ) ;
123- // rp.catch((error) => {
124- // console.error(error);
125- // });
126- } else {
127- resolve ( ) ;
128- }
129-
101+ const r = module . setup ( ( key , value ) => {
102+ if ( typeof key === "object" ) {
103+ merge ( module . exports , key ) ;
130104 return module . exports ;
131- } ;
132- } ) ;
105+ }
106+ module . exports [ key ] = value ;
107+ return value ;
108+ } , module ) ;
109+
110+ // var list = module.dependencies;
111+
112+ // const postResolve = new Promise<void>((resolve, reject) => {
113+ // module.factory = () => {
114+ // const r = module.setup((key, value) => {
115+ // if (typeof key === "object") {
116+ // merge(module.exports, key);
117+ // return module.exports;
118+ // }
119+ // module.exports[key] = value;
120+ // return value;
121+ // }, module);
122+
123+ // var list = module.dependencies;
124+
125+ // // wait here...
126+ // const ds = [];
127+ // for (const iterator of list) {
128+ // if (iterator.isResolved
129+ // // || iterator.ignoreModule === module
130+ // // || iterator === module.ignoreModule
131+ // || (iterator.importPromise && iterator.isDependentOn(module))) {
132+ // continue;
133+ // }
134+ // ds.push(this.import(iterator));
135+ // }
136+
137+ // Promise.all(ds).then(() => {
138+
139+ // const { setters } = r;
140+ // for (let index = 0; index < list.length; index++) {
141+ // const element = list[index];
142+ // setters[index](element.getExports());
143+ // }
144+
145+ // const rp = r.execute() as any;
146+ // if (rp?.then) {
147+ // rp.then(resolve, reject);
148+ // // rp.catch((error) => {
149+ // // console.error(error);
150+ // // });
151+ // } else {
152+ // resolve();
153+ // }
154+ // });
155+
156+ // return module.exports;
157+
158+ // };
159+ // });
133160
134161 module . resolver = async ( ) => {
135162
@@ -144,9 +171,21 @@ class System {
144171 ds . push ( this . import ( iterator ) ) ;
145172 }
146173 await Promise . all ( ds ) ;
147- module . getExports ( ) ;
148- await postResolve ;
174+
175+ const { setters } = r ;
176+ var list = module . dependencies ;
177+ for ( let index = 0 ; index < list . length ; index ++ ) {
178+ const element = list [ index ] ;
179+ setters [ index ] ( element . getExports ( ) ) ;
180+ }
181+
182+ const rp = r . execute ( ) as any ;
149183 module . isResolved = true ;
184+ if ( rp ?. then ) {
185+ await rp ;
186+ }
187+
188+ module . getExports ( ) ;
150189 if ( module . postExports ) {
151190 module . postExports ( ) ;
152191 }
0 commit comments