/*! handshake - v0.1.0 - 2012-08-09 * https://github.com/stephenbinns/handshake * Copyright (c) 2012 Stephen Binns; Licensed MIT */ (function(a,b){function c(a){return a===null}function d(a){return i(typeof b,a)}function e(a){return!c(a)}function f(a){return!d(a)}function g(a){return e(a)&&f(a)}function h(a){return a.hasOwnProperty("length")&&a.length===0}function i(a,b){return typeof b===a}function j(a,b){if(a===!1)throw new Error(b)}"use strict",a.preconditions=function(a,b){b=b||"unnamed";var c={isNotNullOrUndefined:function(d){return d=d||"Argument: "+b+" may not be null or undefined",j(g(a),d),c},isNotNull:function(d){return d=d||"Argument: "+b+" may not be null",j(e(a),d),c},isNotUndefined:function(d){return d=d||"Argument: "+b+" may not be undefined",j(f(a),d),c},isNotEmpty:function(d){return d=d||"Argument: "+b+" may not be empty",j(h(a)===!1,d),c},isString:function(d){d=d||"Argument: "+b+" must be a string";var e="string";return j(i(typeof e,a)),c},isInt:function(d){d=d||"Argument: "+b+" must be an int";var e=1;return j(i(typeof e,a)),c},isBoolean:function(d){d=d||"Argument: "+b+" must be a bool";var e=!0;return j(i(typeof e,a)),c},isArray:function(d){d=d||"Argument: "+b+" must be an array";var f=[];return j(i(typeof f,a)&&e(a)),c},isTrue:function(d){return d=d||"Argument: "+b+" must be true",j(a===!0),c},isFalse:function(d){return d=d||"Argument: "+b+" must be false",j(a===!1),c}};return c},a.postconditions=function(b,c){var d=b(),e=a.preconditions(d,c);return e.invoke=function(){return d},e}})(typeof exports=="object"&&exports||this);