Skip to content

Commit 4b858b4

Browse files
committed
wrap all load* methods with _internal() for future-proofing
1 parent 41e931e commit 4b858b4

File tree

4 files changed

+92
-77
lines changed

4 files changed

+92
-77
lines changed

src/image/loading_displaying.js

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -136,13 +136,14 @@ function loadingDisplaying(p5, fn){
136136
pImg.drawingContext.drawImage(img, 0, 0);
137137
}
138138

139-
pImg.modified = true;
140-
141-
if(successCallback){
142-
return successCallback(pImg);
143-
}else{
144-
return pImg;
145-
}
139+
return this._internal(() => {
140+
pImg.modified = true;
141+
if(successCallback){
142+
return successCallback(pImg);
143+
}else{
144+
return pImg;
145+
}
146+
});
146147

147148
} catch(err) {
148149
p5._friendlyFileLoadError(0, path);

src/io/files.js

Lines changed: 44 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -278,8 +278,10 @@ function files(p5, fn){
278278

279279
try{
280280
const { data } = await request(path, 'json');
281-
if (successCallback) return successCallback(data);
282-
return data;
281+
return this._internal(() => {
282+
if (successCallback) return successCallback(data);
283+
return data;
284+
});
283285
} catch(err) {
284286
p5._friendlyFileLoadError(5, path);
285287
if(errorCallback) {
@@ -414,10 +416,11 @@ function files(p5, fn){
414416

415417
try{
416418
let { data } = await request(path, 'text');
417-
data = data.split(/\r?\n/);
418-
419-
if (successCallback) return successCallback(data);
420-
return data;
419+
return this._internal(() => {
420+
data = data.split(/\r?\n/);
421+
if (successCallback) return successCallback(data);
422+
return data;
423+
});
421424
} catch(err) {
422425
p5._friendlyFileLoadError(3, path);
423426
if(errorCallback) {
@@ -501,28 +504,29 @@ function files(p5, fn){
501504

502505
try{
503506
let { data } = await request(path, 'text');
507+
return this._internal(() => {
508+
let ret = new p5.Table();
509+
data = parse(data, {
510+
separator
511+
});
512+
513+
if(header){
514+
ret.columns = data.shift();
515+
}else{
516+
ret.columns = Array(data[0].length).fill(null);
517+
}
504518

505-
let ret = new p5.Table();
506-
data = parse(data, {
507-
separator
508-
});
509-
510-
if(header){
511-
ret.columns = data.shift();
512-
}else{
513-
ret.columns = Array(data[0].length).fill(null);
514-
}
519+
data.forEach(line => {
520+
const row = new p5.TableRow(line);
521+
ret.addRow(row);
522+
});
515523

516-
data.forEach(line => {
517-
const row = new p5.TableRow(line);
518-
ret.addRow(row);
524+
if (successCallback) {
525+
return successCallback(ret);
526+
} else {
527+
return ret;
528+
}
519529
});
520-
521-
if (successCallback) {
522-
return successCallback(ret);
523-
} else {
524-
return ret;
525-
}
526530
} catch(err) {
527531
p5._friendlyFileLoadError(2, path);
528532
if(errorCallback) {
@@ -686,11 +690,12 @@ function files(p5, fn){
686690
const parser = new DOMParser();
687691

688692
let { data } = await request(path, 'text');
689-
const parsedDOM = parser.parseFromString(data, 'application/xml');
690-
data = new p5.XML(parsedDOM);
691-
692-
if (successCallback) return successCallback(data);
693-
return data;
693+
return this._internal(() => {
694+
const parsedDOM = parser.parseFromString(data, 'application/xml');
695+
data = new p5.XML(parsedDOM);
696+
if (successCallback) return successCallback(data);
697+
return data;
698+
});
694699
} catch(err) {
695700
p5._friendlyFileLoadError(1, path);
696701
if(errorCallback) {
@@ -734,9 +739,11 @@ function files(p5, fn){
734739
fn.loadBytes = async function (path, successCallback, errorCallback) {
735740
try{
736741
let { data } = await request(path, 'arrayBuffer');
737-
data = new Uint8Array(data);
738-
if (successCallback) return successCallback(data);
739-
return data;
742+
return this._internal(() => {
743+
data = new Uint8Array(data);
744+
if (successCallback) return successCallback(data);
745+
return data;
746+
});
740747
} catch(err) {
741748
p5._friendlyFileLoadError(6, path);
742749
if(errorCallback) {
@@ -789,8 +796,10 @@ function files(p5, fn){
789796
fn.loadBlob = async function(path, successCallback, errorCallback) {
790797
try{
791798
const { data } = await request(path, 'blob');
792-
if (successCallback) return successCallback(data);
793-
return data;
799+
return this._internal(() => {
800+
if (successCallback) return successCallback(data);
801+
return data;
802+
});
794803
} catch(err) {
795804
if(errorCallback) {
796805
return errorCallback(err);

src/type/p5.Font.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1578,9 +1578,10 @@ function font(p5, fn) {
15781578
throw err;
15791579
}
15801580
}
1581-
if (success) return success(pfont);
1582-
1583-
return pfont;
1581+
return this._internal(() => {
1582+
if (success) return success(pfont);
1583+
return pfont;
1584+
});
15841585
};
15851586
};
15861587

src/webgl/loading.js

Lines changed: 36 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -419,50 +419,54 @@ function loading(p5, fn){
419419
try{
420420
if (fileType.match(/\.stl$/i)) {
421421
const { data } = await request(path, 'arrayBuffer');
422-
parseSTL(model, data);
422+
return this._internal(() => {
423+
parseSTL(model, data);
423424

424-
if (normalize) {
425-
model.normalize();
426-
}
425+
if (normalize) {
426+
model.normalize();
427+
}
427428

428-
if (flipU) {
429-
model.flipU();
430-
}
429+
if (flipU) {
430+
model.flipU();
431+
}
431432

432-
if (flipV) {
433-
model.flipV();
434-
}
435-
model._makeTriangleEdges();
433+
if (flipV) {
434+
model.flipV();
435+
}
436+
model._makeTriangleEdges();
436437

437-
if (successCallback) {
438-
return successCallback(model);
439-
} else {
440-
return model;
441-
}
438+
if (successCallback) {
439+
return successCallback(model);
440+
} else {
441+
return model;
442+
}
443+
});
442444

443445
} else if (fileType.match(/\.obj$/i)) {
444446
const { data } = await request(path, 'text');
445447
const lines = data.split('\n');
446448

447449
const parsedMaterials = await getMaterials(lines);
448-
parseObj(model, lines, parsedMaterials);
450+
return this._internal(() => {
451+
parseObj(model, lines, parsedMaterials);
449452

450-
if (normalize) {
451-
model.normalize();
452-
}
453-
if (flipU) {
454-
model.flipU();
455-
}
456-
if (flipV) {
457-
model.flipV();
458-
}
459-
model._makeTriangleEdges();
453+
if (normalize) {
454+
model.normalize();
455+
}
456+
if (flipU) {
457+
model.flipU();
458+
}
459+
if (flipV) {
460+
model.flipV();
461+
}
462+
model._makeTriangleEdges();
460463

461-
if (successCallback) {
462-
return successCallback(model);
463-
} else {
464-
return model;
465-
}
464+
if (successCallback) {
465+
return successCallback(model);
466+
} else {
467+
return model;
468+
}
469+
});
466470
}
467471
} catch(err) {
468472
p5._friendlyFileLoadError(3, path);

0 commit comments

Comments
 (0)