more jslinting
This commit is contained in:
parent
97e1ed7e38
commit
5c5ef8b518
|
@ -1,11 +1,14 @@
|
|||
/*jslint browser: false, unparam: true, vars: true, white: true, plusplus: true, maxerr: 50, indent: 4 */
|
||||
|
||||
// Arity structure
|
||||
(function(baselib) {
|
||||
'use strict';
|
||||
var exports = {};
|
||||
baselib.arity = exports;
|
||||
|
||||
|
||||
|
||||
var ArityAtLeast = plt.baselib.structs.makeStructureType(
|
||||
var ArityAtLeast = baselib.structs.makeStructureType(
|
||||
'arity-at-least', false, 1, 0, false, false);
|
||||
|
||||
|
||||
|
@ -18,7 +21,7 @@
|
|||
var arityAtLeastValue = function(x) {
|
||||
var val = ArityAtLeast.accessor(x, 0);
|
||||
return val;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
ArityAtLeast.type.prototype.toString = function() {
|
||||
|
@ -35,7 +38,7 @@
|
|||
} else if (isArityAtLeast(arity)) {
|
||||
return n >= arityAtLeastValue(arity);
|
||||
} else {
|
||||
while (arity !== plt.baselib.lists.EMPTY) {
|
||||
while (arity !== baselib.lists.EMPTY) {
|
||||
if (typeof(arity.first) === 'number') {
|
||||
if (arity.first === n) { return true; }
|
||||
} else if (isArityAtLeast(arity)) {
|
||||
|
@ -45,7 +48,7 @@
|
|||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
@ -59,4 +62,4 @@
|
|||
exports.isArityMatching = isArityMatching;
|
||||
exports.arityAtLeastValue = arityAtLeastValue;
|
||||
|
||||
})(this['plt'].baselib);
|
||||
}(this.plt.baselib));
|
|
@ -1,6 +1,10 @@
|
|||
/*jslint browser: true, unparam: true, vars: true, white: true, plusplus: true, maxerr: 50, indent: 4 */
|
||||
|
||||
|
||||
// Exceptions
|
||||
|
||||
(function(baselib) {
|
||||
'use strict';
|
||||
var exports = {};
|
||||
baselib.boxes = exports;
|
||||
|
||||
|
@ -25,30 +29,30 @@
|
|||
|
||||
Box.prototype.toString = function(cache) {
|
||||
cache.put(this, true);
|
||||
return "#&" + plt.baselib.format.toWrittenString(this.val, cache);
|
||||
return "#&" + baselib.format.toWrittenString(this.val, cache);
|
||||
};
|
||||
|
||||
Box.prototype.toWrittenString = function(cache) {
|
||||
cache.put(this, true);
|
||||
return "#&" + plt.baselib.format.toWrittenString(this.val, cache);
|
||||
return "#&" + baselib.format.toWrittenString(this.val, cache);
|
||||
};
|
||||
|
||||
Box.prototype.toDisplayedString = function(cache) {
|
||||
cache.put(this, true);
|
||||
return "#&" + plt.baselib.format.toDisplayedString(this.val, cache);
|
||||
return "#&" + baselib.format.toDisplayedString(this.val, cache);
|
||||
};
|
||||
|
||||
Box.prototype.toDomNode = function(cache) {
|
||||
cache.put(this, true);
|
||||
var parent = document.createElement("span");
|
||||
parent.appendChild(document.createTextNode('#&'));
|
||||
parent.appendChild(plt.baselib.format.toDomNode(this.val, cache));
|
||||
parent.appendChild(baselib.format.toDomNode(this.val, cache));
|
||||
return parent;
|
||||
};
|
||||
|
||||
Box.prototype.equals = function(other, aUnionFind) {
|
||||
return ((other instanceof Box) &&
|
||||
plt.baselib.equality.equals(this.val, other.val, aUnionFind));
|
||||
baselib.equality.equals(this.val, other.val, aUnionFind));
|
||||
};
|
||||
|
||||
var makeBox = function(x) {
|
||||
|
@ -83,4 +87,4 @@
|
|||
exports.makeImmutableBox = makeImmutableBox;
|
||||
|
||||
|
||||
})(this['plt'].baselib);
|
||||
}(this.plt.baselib));
|
|
@ -1,5 +1,9 @@
|
|||
// Arity structure
|
||||
/*jslint unparam: true, vars: true, white: true, plusplus: true, maxerr: 50, indent: 4 */
|
||||
|
||||
|
||||
|
||||
(function(baselib) {
|
||||
'use strict';
|
||||
var exports = {};
|
||||
baselib.bytes = exports;
|
||||
|
||||
|
@ -30,7 +34,7 @@
|
|||
};
|
||||
|
||||
Bytes.prototype.subbytes = function(start, end) {
|
||||
if (end == null || end == undefined) {
|
||||
if (end === null || end === undefined) {
|
||||
end = this.bytes.length;
|
||||
}
|
||||
|
||||
|
@ -42,23 +46,25 @@
|
|||
if (! (other instanceof Bytes)) {
|
||||
return false;
|
||||
}
|
||||
if (this.bytes.length != other.bytes.length) {
|
||||
if (this.bytes.length !== other.bytes.length) {
|
||||
return false;
|
||||
}
|
||||
var A = this.bytes;
|
||||
var B = other.bytes;
|
||||
var n = this.bytes.length;
|
||||
for (var i = 0; i < n; i++) {
|
||||
if (A[i] !== B[i])
|
||||
var i;
|
||||
for (i = 0; i < n; i++) {
|
||||
if (A[i] !== B[i]) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
|
||||
Bytes.prototype.toString = function(cache) {
|
||||
var ret = '';
|
||||
for (var i = 0; i < this.bytes.length; i++) {
|
||||
var ret = '', i;
|
||||
for (i = 0; i < this.bytes.length; i++) {
|
||||
ret += String.fromCharCode(this.bytes[i]);
|
||||
}
|
||||
|
||||
|
@ -67,15 +73,6 @@
|
|||
|
||||
Bytes.prototype.toDisplayedString = Bytes.prototype.toString;
|
||||
|
||||
Bytes.prototype.toWrittenString = function() {
|
||||
var ret = ['#"'];
|
||||
for (var i = 0; i < this.bytes.length; i++) {
|
||||
ret.push( escapeByte(this.bytes[i]) );
|
||||
}
|
||||
ret.push('"');
|
||||
return ret.join('');
|
||||
};
|
||||
|
||||
var escapeByte = function(aByte) {
|
||||
var ret = [];
|
||||
var returnVal;
|
||||
|
@ -100,8 +97,18 @@
|
|||
return returnVal;
|
||||
};
|
||||
|
||||
Bytes.prototype.toWrittenString = function() {
|
||||
var ret = ['#"'], i;
|
||||
for (i = 0; i < this.bytes.length; i++) {
|
||||
ret.push(escapeByte(this.bytes[i]));
|
||||
}
|
||||
ret.push('"');
|
||||
return ret.join('');
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
exports.Bytes = Bytes;
|
||||
|
||||
})(this['plt'].baselib);
|
||||
}(this.plt.baselib));
|
|
@ -1,3 +1,6 @@
|
|||
/*jslint vars: true, white: true, plusplus: true, maxerr: 50, indent: 4 */
|
||||
|
||||
|
||||
// Helper functions for argument checking.
|
||||
|
||||
(function (baselib) {
|
||||
|
@ -5,13 +8,36 @@
|
|||
var exports = {};
|
||||
baselib.check = exports;
|
||||
|
||||
var EMPTY = plt.baselib.lists.EMPTY;
|
||||
var isPair = plt.baselib.lists.isPair;
|
||||
var makeLowLevelEqHash = plt.baselib.hashes.makeLowLevelEqHash;
|
||||
var EMPTY = baselib.lists.EMPTY;
|
||||
var isPair = baselib.lists.isPair;
|
||||
var makeLowLevelEqHash = baselib.hashes.makeLowLevelEqHash;
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
// testArgument: (X -> boolean) X number string string -> boolean
|
||||
// Produces true if val is true, and otherwise raises an error.
|
||||
var testArgument = function (MACHINE,
|
||||
expectedTypeName,
|
||||
predicate,
|
||||
val,
|
||||
index,
|
||||
callerName) {
|
||||
if (predicate(val)) {
|
||||
return true;
|
||||
} else {
|
||||
if (typeof(expectedTypeName) === 'function') {
|
||||
expectedTypeName = expectedTypeName();
|
||||
}
|
||||
baselib.exceptions.raiseArgumentTypeError(MACHINE,
|
||||
callerName,
|
||||
expectedTypeName,
|
||||
index,
|
||||
val);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
var makeCheckArgumentType = function (predicate, predicateName) {
|
||||
return function (MACHINE, callerName, position) {
|
||||
testArgument(
|
||||
|
@ -22,19 +48,19 @@
|
|||
position,
|
||||
callerName);
|
||||
return MACHINE.env[MACHINE.env.length - 1 - position];
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
var makeCheckParameterizedArgumentType = function (parameterizedPredicate,
|
||||
parameterizedPredicateName) {
|
||||
return function (MACHINE, callerName, position) {
|
||||
var args = [];
|
||||
for (var i = 3; i < arguments.length; i++) {
|
||||
var args = [], i;
|
||||
for (i = 3; i < arguments.length; i++) {
|
||||
args.push(arguments[i]);
|
||||
}
|
||||
testArgument(
|
||||
MACHINE,
|
||||
function() { parameterizedPredicateName.apply(null, args) },
|
||||
function () { parameterizedPredicateName.apply(null, args); },
|
||||
function (x) {
|
||||
return parameterizedPredicate.apply(null, [x].concat(args));
|
||||
},
|
||||
|
@ -42,7 +68,7 @@
|
|||
position,
|
||||
callerName);
|
||||
return MACHINE.env[MACHINE.env.length - 1 - position];
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
@ -63,7 +89,7 @@
|
|||
|
||||
if(seen.containsKey(x)) {
|
||||
// raise an error? we've got a cycle!
|
||||
return false
|
||||
return false;
|
||||
}
|
||||
|
||||
if (! predicate(x.first)) {
|
||||
|
@ -83,7 +109,7 @@
|
|||
position,
|
||||
callerName);
|
||||
return MACHINE.env[MACHINE.env.length - 1 - position];
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
@ -91,31 +117,10 @@
|
|||
|
||||
|
||||
|
||||
// testArgument: (X -> boolean) X number string string -> boolean
|
||||
// Produces true if val is true, and otherwise raises an error.
|
||||
var testArgument = function(MACHINE,
|
||||
expectedTypeName,
|
||||
predicate,
|
||||
val,
|
||||
index,
|
||||
callerName) {
|
||||
if (predicate(val)) {
|
||||
return true;
|
||||
} else {
|
||||
if (typeof(expectedTypeName) === 'function') {
|
||||
expectedTypeName = expectedTypeName();
|
||||
}
|
||||
plt.baselib.exceptions.raiseArgumentTypeError(MACHINE,
|
||||
callerName,
|
||||
expectedTypeName,
|
||||
index,
|
||||
val);
|
||||
}
|
||||
};
|
||||
|
||||
var testArity = function(callerName, observed, minimum, maximum) {
|
||||
var testArity = function (MACHINE, callerName, observed, minimum, maximum) {
|
||||
if (observed < minimum || observed > maximum) {
|
||||
plt.baselib.exceptions.raise(
|
||||
baselib.exceptions.raise(
|
||||
MACHINE, new Error(callerName + ": expected at least " + minimum
|
||||
+ " arguments "
|
||||
+ " but received " + observed));
|
||||
|
@ -127,77 +132,77 @@
|
|||
|
||||
|
||||
var checkOutputPort = makeCheckArgumentType(
|
||||
plt.baselib.ports.isOutputPort,
|
||||
baselib.ports.isOutputPort,
|
||||
'output port');
|
||||
|
||||
var checkSymbol = makeCheckArgumentType(
|
||||
plt.baselib.symbols.isSymbol,
|
||||
baselib.symbols.isSymbol,
|
||||
'symbol');
|
||||
|
||||
var checkString = makeCheckArgumentType(
|
||||
plt.baselib.strings.isString,
|
||||
baselib.strings.isString,
|
||||
'string');
|
||||
|
||||
var checkMutableString = makeCheckArgumentType(
|
||||
plt.baselib.strings.isMutableString,
|
||||
baselib.strings.isMutableString,
|
||||
'mutable string');
|
||||
|
||||
var checkChar = makeCheckArgumentType(
|
||||
plt.baselib.chars.isChar,
|
||||
baselib.chars.isChar,
|
||||
'character');
|
||||
|
||||
var checkProcedure = makeCheckArgumentType(
|
||||
plt.baselib.functions.isProcedure,
|
||||
baselib.functions.isProcedure,
|
||||
'procedure');
|
||||
|
||||
var checkNumber = makeCheckArgumentType(
|
||||
plt.baselib.numbers.isNumber,
|
||||
baselib.numbers.isNumber,
|
||||
'number');
|
||||
|
||||
var checkReal = makeCheckArgumentType(
|
||||
plt.baselib.numbers.isReal,
|
||||
baselib.numbers.isReal,
|
||||
'real');
|
||||
|
||||
var checkNatural = makeCheckArgumentType(
|
||||
plt.baselib.numbers.isNatural,
|
||||
baselib.numbers.isNatural,
|
||||
'natural');
|
||||
|
||||
var checkByte = makeCheckArgumentType(
|
||||
function(x) { return (typeof(x) === 'number' && 0 <= x && x < 256) },
|
||||
baselib.numbers.isByte,
|
||||
'byte');
|
||||
|
||||
var checkNaturalInRange = makeCheckParameterizedArgumentType(
|
||||
function (x, a, b) {
|
||||
if (! plt.baselib.numbers.isNatural(x)) { return false; }
|
||||
return (plt.baselib.numbers.lessThanOrEqual(a, x) &&
|
||||
plt.baselib.numbers.lessThan(x, b));
|
||||
if (! baselib.numbers.isNatural(x)) { return false; }
|
||||
return (baselib.numbers.lessThanOrEqual(a, x) &&
|
||||
baselib.numbers.lessThan(x, b));
|
||||
},
|
||||
function (a, b) {
|
||||
return plt.baselib.format.format('natural between ~a and ~a', [a, b]);
|
||||
return baselib.format.format('natural between ~a and ~a', [a, b]);
|
||||
});
|
||||
|
||||
var checkInteger = makeCheckArgumentType(
|
||||
plt.baselib.numbers.isInteger,
|
||||
baselib.numbers.isInteger,
|
||||
'integer');
|
||||
|
||||
var checkRational = makeCheckArgumentType(
|
||||
plt.baselib.numbers.isRational,
|
||||
baselib.numbers.isRational,
|
||||
'rational');
|
||||
|
||||
var checkNonNegativeReal = makeCheckArgumentType(
|
||||
plt.baselib.numbers.isNonNegativeReal,
|
||||
baselib.numbers.isNonNegativeReal,
|
||||
'non-negative real');
|
||||
|
||||
var checkPair = makeCheckArgumentType(
|
||||
plt.baselib.lists.isPair,
|
||||
baselib.lists.isPair,
|
||||
'pair');
|
||||
|
||||
var checkList = makeCheckArgumentType(
|
||||
plt.baselib.lists.isList,
|
||||
baselib.lists.isList,
|
||||
'list');
|
||||
|
||||
var checkVector = makeCheckArgumentType(
|
||||
plt.baselib.vectors.isVector,
|
||||
baselib.vectors.isVector,
|
||||
'vector');
|
||||
|
||||
var checkBoolean = makeCheckArgumentType(
|
||||
|
@ -205,21 +210,18 @@
|
|||
'boolean');
|
||||
|
||||
var checkBox = makeCheckArgumentType(
|
||||
plt.baselib.boxes.isBox,
|
||||
baselib.boxes.isBox,
|
||||
'box');
|
||||
|
||||
var checkMutableBox = makeCheckArgumentType(
|
||||
plt.baselib.boxes.isMutableBox,
|
||||
baselib.boxes.isMutableBox,
|
||||
'mutable box');
|
||||
|
||||
var checkInspector = makeCheckArgumentType(
|
||||
plt.baselib.inspectors.isInspector,
|
||||
baselib.inspectors.isInspector,
|
||||
'inspector');
|
||||
|
||||
|
||||
var checkByte = makeCheckArgumentType(
|
||||
plt.baselib.numbers.isByte,
|
||||
'byte');
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user