JSFiddle - React, Tailwind, and code Playground
by edelman
HTML
<div id="result"></div>
JavaScript
/*
string.js - Copyright (C) 2012-2013, JP Richardson <jprichardson@gmail.com>
*/
!(function() {
"use strict";
var VERSION = '1.8.0';
var ENTITIES = {};
//******************************************************************************
// Added an initialize function which is essentially the code from the S
// constructor. Now, the S constructor calls this and a new method named
// setValue calls it as well. The setValue function allows constructors for
// modules that extend string.js to set the initial value of an object without
// knowing the internal workings of string.js.
//
// Also, all methods which return a new S object now call:
//
// return new this.constructor(s);
//
// instead of:
//
// return new S(s);
//
// This allows extended objects to keep their proper instanceOf and constructor.
//******************************************************************************
function initialize (object, s) {
if (s !== null && s !== undefined) {
if (typeof s === 'string')
object.s = s;
else
object.s = s.toString();
} else {
object.s = s; //null or undefined
}
object.orig = s; //original object, currently only used by toCSV() and toBoolean()
if (s !== null && s !== undefined) {
if (object.__defineGetter__) {
object.__defineGetter__('length', function() {
return object.s.length;
})
} else {
object.length = s.length;
}
} else {
object.length = -1;
}
}
function S(s) {
initialize(this, s);
}
var __nsp = String.prototype;
var __sp = S.prototype = {
between: function(left, right) {
var s = this.s;
var startPos = s.indexOf(left);
var endPos = s.indexOf(right, startPos + left.length);
if (endPos == -1 && right != null)
return new this.constructor('')
else if (endPos == -1 && right == null)
return new this.constructor(s.substring(startPos + left.length))
...