Simulator first commit
This commit is contained in:
94
node_modules/precond/lib/checks.js
generated
vendored
Normal file
94
node_modules/precond/lib/checks.js
generated
vendored
Normal file
@ -0,0 +1,94 @@
|
||||
/*
|
||||
* Copyright (c) 2012 Mathieu Turcotte
|
||||
* Licensed under the MIT license.
|
||||
*/
|
||||
|
||||
var util = require('util');
|
||||
|
||||
var errors = module.exports = require('./errors');
|
||||
|
||||
function failCheck(ExceptionConstructor, callee, messageFormat, formatArgs) {
|
||||
messageFormat = messageFormat || '';
|
||||
var message = util.format.apply(this, [messageFormat].concat(formatArgs));
|
||||
var error = new ExceptionConstructor(message);
|
||||
Error.captureStackTrace(error, callee);
|
||||
throw error;
|
||||
}
|
||||
|
||||
function failArgumentCheck(callee, message, formatArgs) {
|
||||
failCheck(errors.IllegalArgumentError, callee, message, formatArgs);
|
||||
}
|
||||
|
||||
function failStateCheck(callee, message, formatArgs) {
|
||||
failCheck(errors.IllegalStateError, callee, message, formatArgs);
|
||||
}
|
||||
|
||||
module.exports.checkArgument = function(value, message) {
|
||||
if (!value) {
|
||||
failArgumentCheck(arguments.callee, message,
|
||||
Array.prototype.slice.call(arguments, 2));
|
||||
}
|
||||
};
|
||||
|
||||
module.exports.checkState = function(value, message) {
|
||||
if (!value) {
|
||||
failStateCheck(arguments.callee, message,
|
||||
Array.prototype.slice.call(arguments, 2));
|
||||
}
|
||||
};
|
||||
|
||||
module.exports.checkIsDef = function(value, message) {
|
||||
if (value !== undefined) {
|
||||
return value;
|
||||
}
|
||||
|
||||
failArgumentCheck(arguments.callee, message ||
|
||||
'Expected value to be defined but was undefined.',
|
||||
Array.prototype.slice.call(arguments, 2));
|
||||
};
|
||||
|
||||
module.exports.checkIsDefAndNotNull = function(value, message) {
|
||||
// Note that undefined == null.
|
||||
if (value != null) {
|
||||
return value;
|
||||
}
|
||||
|
||||
failArgumentCheck(arguments.callee, message ||
|
||||
'Expected value to be defined and not null but got "' +
|
||||
typeOf(value) + '".', Array.prototype.slice.call(arguments, 2));
|
||||
};
|
||||
|
||||
// Fixed version of the typeOf operator which returns 'null' for null values
|
||||
// and 'array' for arrays.
|
||||
function typeOf(value) {
|
||||
var s = typeof value;
|
||||
if (s == 'object') {
|
||||
if (!value) {
|
||||
return 'null';
|
||||
} else if (value instanceof Array) {
|
||||
return 'array';
|
||||
}
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
function typeCheck(expect) {
|
||||
return function(value, message) {
|
||||
var type = typeOf(value);
|
||||
|
||||
if (type == expect) {
|
||||
return value;
|
||||
}
|
||||
|
||||
failArgumentCheck(arguments.callee, message ||
|
||||
'Expected "' + expect + '" but got "' + type + '".',
|
||||
Array.prototype.slice.call(arguments, 2));
|
||||
};
|
||||
}
|
||||
|
||||
module.exports.checkIsString = typeCheck('string');
|
||||
module.exports.checkIsArray = typeCheck('array');
|
||||
module.exports.checkIsNumber = typeCheck('number');
|
||||
module.exports.checkIsBoolean = typeCheck('boolean');
|
||||
module.exports.checkIsFunction = typeCheck('function');
|
||||
module.exports.checkIsObject = typeCheck('object');
|
25
node_modules/precond/lib/errors.js
generated
vendored
Normal file
25
node_modules/precond/lib/errors.js
generated
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
/*
|
||||
* Copyright (c) 2012 Mathieu Turcotte
|
||||
* Licensed under the MIT license.
|
||||
*/
|
||||
|
||||
var util = require('util');
|
||||
|
||||
function IllegalArgumentError(message) {
|
||||
Error.call(this, message);
|
||||
this.message = message;
|
||||
}
|
||||
util.inherits(IllegalArgumentError, Error);
|
||||
|
||||
IllegalArgumentError.prototype.name = 'IllegalArgumentError';
|
||||
|
||||
function IllegalStateError(message) {
|
||||
Error.call(this, message);
|
||||
this.message = message;
|
||||
}
|
||||
util.inherits(IllegalStateError, Error);
|
||||
|
||||
IllegalStateError.prototype.name = 'IllegalStateError';
|
||||
|
||||
module.exports.IllegalStateError = IllegalStateError;
|
||||
module.exports.IllegalArgumentError = IllegalArgumentError;
|
Reference in New Issue
Block a user