JSFiddle - React, Tailwind, and code Playground

by samunplugged

JavaScript

//! Script# Core Runtime
//! Originally from: (deadlink) http://projects.nikhilk.net/ScriptSharp
//!
if (typeof(global) === "undefined")
	global = window;

var ss = {};

ss.isUndefined = function ss$isUndefined(o) {
	return (o === undefined);
};

ss.isNull = function ss$isNull(o) {
	return (o === null);
};

ss.isNullOrUndefined = function ss$isNullOrUndefined(o) {
	return (o === null) || (o === undefined);
};

ss.isValue = function ss$isValue(o) {
	return (o !== null) && (o !== undefined);
};

ss.referenceEquals = function ss$referenceEquals(a, b) {
	return ss.isValue(a) ? a === b : !ss.isValue(b);
};

ss.mkdict = function ss$mkdict() {
	var a = (arguments.length != 1 ? arguments : arguments[0]);
	var r = {};
	for (var i = 0; i < a.length; i += 2) {
		r[a[i]] = a[i + 1];
	}
	return r;
};

ss.coalesce = function ss$coalesce(a, b) {
	return ss.isValue(a) ? a : b;
};

ss.isDate = function ss$isDate(obj) {
	return Object.prototype.toString.call(obj) === '[object Date]';
};

ss.isArray = function ss$isArray(obj) {
	return Object.prototype.toString.call(obj) === '[object Array]';
};

ss.getHashCode = function ss$getHashCode(obj) {
	if (!ss.isValue(obj))
		throw 'Cannot get hash code of null';
	else if (typeof(obj.getHashCode) === 'function')
		return obj.getHashCode();
	else if (typeof(obj) === 'boolean') {
		return obj ? 1 : 0;
	}
	else if (typeof(obj) === 'number') {
		var s = obj.toExponential();
		s = s.substr(0, s.indexOf('e'));
		return parseInt(s.replace('.', ''), 10) & 0xffffffff;
	}
	else if (typeof(obj) === 'string') {
		var res = 0;
		for (var i = 0; i < obj.length; i++)
			res = (res * 31 + obj.charCodeAt(i)) & 0xffffffff;
		return res;
	}
	else if (ss.isDate(obj)) {
		return obj.valueOf() & 0xffffffff;
	}
	else {
		return ss.defaultHashCode(obj);
	}
};

ss.defaultHashCode = function ss$defaultHashCode(obj) {
	return obj.$__hashCode__ || (obj.$__hashCode__ = (Math.random() * 0xffffffff) | 0);
};

ss.equals = function ss$equals(a, b) {
	if...