Skip to content

Commit 8bd01c1

Browse files
author
Lauren McCarthy
committed
removing validateParameters
1 parent 5859f23 commit 8bd01c1

File tree

8 files changed

+1
-343
lines changed

8 files changed

+1
-343
lines changed

src/core/curves.js

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -79,24 +79,6 @@ p5.prototype.bezier = function() {
7979
for (var i = 0; i < args.length; ++i) {
8080
args[i] = arguments[i];
8181
}
82-
if(this._renderer.isP3D){
83-
this._validateParameters(
84-
'bezier',
85-
args,
86-
['Number', 'Number', 'Number',
87-
'Number', 'Number', 'Number',
88-
'Number', 'Number', 'Number',
89-
'Number', 'Number', 'Number'
90-
]
91-
);
92-
} else{
93-
this._validateParameters(
94-
'bezier',
95-
args,
96-
[ 'Number', 'Number', 'Number', 'Number',
97-
'Number', 'Number', 'Number', 'Number' ]
98-
);
99-
}
10082
if (!this._renderer._doStroke && !this._renderer._doFill) {
10183
return this;
10284
}
@@ -338,24 +320,6 @@ p5.prototype.curve = function() {
338320
for (var i = 0; i < args.length; ++i) {
339321
args[i] = arguments[i];
340322
}
341-
if(this._renderer.isP3D){
342-
this._validateParameters(
343-
'curve',
344-
args,
345-
['Number', 'Number', 'Number',
346-
'Number', 'Number', 'Number',
347-
'Number', 'Number', 'Number',
348-
'Number', 'Number', 'Number'
349-
]
350-
);
351-
} else{
352-
this._validateParameters(
353-
'curve',
354-
args,
355-
[ 'Number', 'Number', 'Number', 'Number',
356-
'Number', 'Number', 'Number', 'Number' ]
357-
);
358-
}
359323
if (!this._renderer._doStroke) {
360324
return this;
361325
}

src/core/error_helpers.js

Lines changed: 1 addition & 122 deletions
Original file line numberDiff line numberDiff line change
@@ -24,37 +24,9 @@ var getType = function( obj ) {
2424
class2type[ toString.call(obj) ] || 'object' :
2525
typeof obj;
2626
};
27-
var isArray = Array.isArray || function( obj ) {
28-
return getType(obj) === 'array';
29-
};
30-
var isNumeric =function( obj ) {
31-
// parseFloat NaNs numeric-cast false positives (null|true|false|"")
32-
// ...but misinterprets leading-number strings, particularly hex literals
33-
// subtraction forces infinities to NaN
34-
// adding 1 corrects loss of precision from parseFloat (#15100)
35-
return !isArray( obj ) && (obj - parseFloat( obj ) + 1) >= 0;
36-
};
27+
3728
// -- End borrow --
3829

39-
/**
40-
* Checks the definition type against the argument type
41-
* If any of these passes (in order), it matches:
42-
*
43-
* - p5.* definitions are checked with instanceof
44-
* - Booleans are let through (everything is truthy or falsey)
45-
* - Lowercase of the definition is checked against the js type
46-
* - Number types are checked to see if they are numerically castable
47-
*/
48-
var numberTypes = ['Number', 'Integer', 'Number/Constant'];
49-
function typeMatches(defType, argType, arg) {
50-
if(defType.match(/^p5\./)) {
51-
var parts = defType.split('.');
52-
return arg instanceof p5[parts[1]];
53-
}
54-
return defType === 'Boolean' || // Anything is truthy, cover in Debug Guide
55-
(defType.toLowerCase() === argType) ||
56-
(numberTypes.indexOf(defType) > -1 && isNumeric(arg));
57-
}
5830

5931
/**
6032
* Prints out a fancy, colorful message to the console log
@@ -66,9 +38,6 @@ function typeMatches(defType, argType, arg) {
6638
* @return console logs
6739
*/
6840
// Wrong number of params, undefined param, wrong type
69-
var PARAM_COUNT = 0;
70-
var EMPTY_VAR = 1;
71-
var WRONG_TYPE = 2;
7241
var FILE_LOAD = 3;
7342
// p5.js blue, p5.js orange, auto dark green; fallback p5.js darkened magenta
7443
// See testColors below for all the color codes and names
@@ -103,96 +72,6 @@ function report(message, func, color) {
10372
// }
10473
}
10574

106-
/**
107-
* Validate all the parameters of a function for number and type
108-
* NOTE THIS FUNCTION IS TEMPORARILY DISABLED UNTIL FURTHER WORK
109-
* AND UPDATES ARE IMPLEMENTED. -LMCCART
110-
*
111-
* @param {String} func name of function we're checking
112-
* @param {Array} args pass of the JS default arguments array
113-
* @param {Array} types List of types accepted ['Number', 'String, ...] OR
114-
* a list of lists for each format: [
115-
* ['String', 'Number', 'Number'],
116-
* ['String', 'Number', 'Number', 'Number', 'Number'
117-
* ]
118-
*
119-
* @return console logs
120-
*/
121-
p5.prototype._validateParameters = function(func, args, types) {
122-
if (!isArray(types[0])) {
123-
types = [types];
124-
}
125-
// Check number of parameters
126-
// Example: "You wrote ellipse(X,X,X). ellipse was expecting 4
127-
// parameters. Try ellipse(X,X,X,X)."
128-
var diff = Math.abs(args.length-types[0].length);
129-
var message, tindex = 0;
130-
for (var i=1, len=types.length; i<len; i++) {
131-
var d = Math.abs(args.length-types[i].length);
132-
if (d <= diff) {
133-
tindex = i;
134-
diff = d;
135-
}
136-
}
137-
var symbol = 'X'; // Parameter placeholder
138-
if(diff > 0) {
139-
message = 'You wrote ' + func + '(';
140-
// Concat an appropriate number of placeholders for call
141-
if (args.length > 0) {
142-
message += symbol + Array(args.length).join(',' + symbol);
143-
}
144-
message += '). ' + func + ' was expecting ' + types[tindex].length +
145-
' parameters. Try ' + func + '(';
146-
// Concat an appropriate number of placeholders for definition
147-
if (types[tindex].length > 0) {
148-
message += symbol + Array(types[tindex].length).join(',' + symbol);
149-
}
150-
message += ').';
151-
// If multiple definitions
152-
if (types.length > 1) {
153-
message += ' ' + func + ' takes different numbers of parameters ' +
154-
'depending on what you want to do. Click this link to learn more: ';
155-
}
156-
report(message, func, PARAM_COUNT);
157-
}
158-
// Type checking
159-
// Example: "It looks like ellipse received an empty variable in spot #2."
160-
// Example: "ellipse was expecting a number for parameter #1,
161-
// received "foo" instead."
162-
for (var format=0; format<types.length; format++) {
163-
for (var p=0; p < types[format].length && p < args.length; p++) {
164-
var defType = types[format][p];
165-
var argType = getType(args[p]);
166-
if ('undefined' === argType || null === argType) {
167-
report('It looks like ' + func +
168-
' received an empty variable in spot #' + (p+1) +
169-
'. If not intentional, this is often a problem with scope: ' +
170-
'[link to scope].', func, EMPTY_VAR);
171-
} else if (defType !== '*' && !typeMatches(defType, argType, args[p])) {
172-
message = func + ' was expecting a ' + defType.toLowerCase() +
173-
' for parameter #' + (p+1) + ', received ';
174-
// Wrap strings in quotes
175-
message += 'string' === argType ? '"' + args[p] + '"' : args[p];
176-
message += ' instead.';
177-
// If multiple definitions
178-
if (types.length > 1) {
179-
message += ' ' + func + ' takes different numbers of parameters ' +
180-
'depending on what you want to do. ' +
181-
'Click this link to learn more:';
182-
}
183-
report(message, func, WRONG_TYPE);
184-
}
185-
}
186-
}
187-
};
188-
/*
189-
* NOTE THIS FUNCTION IS TEMPORARILY DISABLED UNTIL FURTHER WORK
190-
* AND UPDATES ARE IMPLEMENTED. -LMCCART
191-
*/
192-
p5.prototype._validateParameters = function() {
193-
return true;
194-
};
195-
19675
var errorCases = {
19776
'0': {
19877
fileType: 'image',

src/core/transform.js

Lines changed: 0 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -141,18 +141,7 @@ p5.prototype.rotate = function() {
141141
* @return {[type]} [description]
142142
*/
143143
p5.prototype.rotateX = function(rad) {
144-
var args = new Array(arguments.length);
145-
for (var i = 0; i < args.length; ++i) {
146-
args[i] = arguments[i];
147-
}
148144
if (this._renderer.isP3D) {
149-
this._validateParameters(
150-
'rotateX',
151-
args,
152-
[
153-
['Number']
154-
]
155-
);
156145
this._renderer.rotateX(rad);
157146
} else {
158147
throw 'not supported in p2d. Please use webgl mode';
@@ -168,17 +157,6 @@ p5.prototype.rotateX = function(rad) {
168157
*/
169158
p5.prototype.rotateY = function(rad) {
170159
if (this._renderer.isP3D) {
171-
var args = new Array(arguments.length);
172-
for (var i = 0; i < args.length; ++i) {
173-
args[i] = arguments[i];
174-
}
175-
this._validateParameters(
176-
'rotateY',
177-
args,
178-
[
179-
['Number']
180-
]
181-
);
182160
this._renderer.rotateY(rad);
183161
} else {
184162
throw 'not supported in p2d. Please use webgl mode';
@@ -194,17 +172,6 @@ p5.prototype.rotateY = function(rad) {
194172
*/
195173
p5.prototype.rotateZ = function(rad) {
196174
if (this._renderer.isP3D) {
197-
var args = new Array(arguments.length);
198-
for (var i = 0; i < args.length; ++i) {
199-
args[i] = arguments[i];
200-
}
201-
this._validateParameters(
202-
'rotateZ',
203-
args,
204-
[
205-
['Number']
206-
]
207-
);
208175
this._renderer.rotateZ(rad);
209176
} else {
210177
throw 'not supported in p2d. Please use webgl mode';
@@ -416,30 +383,9 @@ p5.prototype.shearY = function(angle) {
416383
*
417384
*/
418385
p5.prototype.translate = function(x, y, z) {
419-
var args = new Array(arguments.length);
420-
for (var i = 0; i < args.length; ++i) {
421-
args[i] = arguments[i];
422-
}
423-
424386
if (this._renderer.isP3D) {
425-
this._validateParameters(
426-
'translate',
427-
args,
428-
[
429-
//p3d
430-
['Number', 'Number', 'Number']
431-
]
432-
);
433387
this._renderer.translate(x, y, z);
434388
} else {
435-
this._validateParameters(
436-
'translate',
437-
args,
438-
[
439-
//p2d
440-
['Number', 'Number']
441-
]
442-
);
443389
this._renderer.translate(x, y);
444390
}
445391
return this;

src/core/vertex.js

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -603,29 +603,10 @@ p5.prototype.quadraticVertex = function(cx, cy, x3, y3) {
603603
*
604604
*/
605605
p5.prototype.vertex = function(x, y, moveTo) {
606-
var args = new Array(arguments.length);
607-
for (var i = 0; i < args.length; ++i) {
608-
args[i] = arguments[i];
609-
}
610606
if(this._renderer.isP3D){
611-
this._validateParameters(
612-
'vertex',
613-
args,
614-
[
615-
['Number', 'Number', 'Number']
616-
]
617-
);
618607
this._renderer.vertex
619608
(arguments[0], arguments[1], arguments[2]);
620609
}else{
621-
this._validateParameters(
622-
'vertex',
623-
args,
624-
[
625-
['Number', 'Number'],
626-
['Number', 'Number', 'Number']
627-
]
628-
);
629610
var vert = [];
630611
vert.isVert = true;
631612
vert[0] = x;

src/typography/loading_displaying.js

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -65,19 +65,6 @@ require('../core/error_helpers');
6565
*
6666
*/
6767
p5.prototype.text = function(str, x, y, maxWidth, maxHeight) {
68-
var args = new Array(arguments.length);
69-
for (var i = 0; i < args.length; ++i) {
70-
args[i] = arguments[i];
71-
}
72-
this._validateParameters(
73-
'text',
74-
args,
75-
[
76-
['*', 'Number', 'Number'],
77-
['*', 'Number', 'Number', 'Number', 'Number']
78-
]
79-
);
80-
8168
return (!(this._renderer._doFill || this._renderer._doStroke)) ? this :
8269
this._renderer.text.apply(this._renderer, arguments);
8370
};

src/webgl/camera.js

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,6 @@ var p5 = require('../core/core');
3535
*
3636
*/
3737
p5.prototype.camera = function(x, y, z){
38-
var args = new Array(arguments.length);
39-
for (var i = 0; i < args.length; ++i) {
40-
args[i] = arguments[i];
41-
}
42-
this._validateParameters(
43-
'camera',
44-
args,
45-
['Number', 'Number', 'Number']
46-
);
4738
//what it manipulates is the model view matrix
4839
this._renderer.translate(-x, -y, -z);
4940
};
@@ -88,15 +79,6 @@ p5.prototype.camera = function(x, y, z){
8879
*
8980
*/
9081
p5.prototype.perspective = function(fovy,aspect,near,far) {
91-
var args = new Array(arguments.length);
92-
for (var i = 0; i < args.length; ++i) {
93-
args[i] = arguments[i];
94-
}
95-
this._validateParameters(
96-
'perspective',
97-
args,
98-
['Number', 'Number', 'Number', 'Number']
99-
);
10082
this._renderer.uPMatrix = p5.Matrix.identity();
10183
this._renderer.uPMatrix.perspective(fovy,aspect,near,far);
10284
this._renderer._curCamera = 'custom';
@@ -141,15 +123,6 @@ p5.prototype.perspective = function(fovy,aspect,near,far) {
141123
*
142124
*/
143125
p5.prototype.ortho = function(left,right,bottom,top,near,far) {
144-
var args = new Array(arguments.length);
145-
for (var i = 0; i < args.length; ++i) {
146-
args[i] = arguments[i];
147-
}
148-
this._validateParameters(
149-
'ortho',
150-
args,
151-
['Number', 'Number', 'Number', 'Number', 'Number', 'Number']
152-
);
153126
this._renderer.uPMatrix = p5.Matrix.identity();
154127
this._renderer.uPMatrix.ortho(left,right,bottom,top,near,far);
155128
this._renderer._curCamera = 'custom';

0 commit comments

Comments
 (0)