ajsfw
Version:
Ajs Framework
200 lines (199 loc) • 6.7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
function defined(object) {
return object !== undefined;
}
exports.defined = defined;
function isNull(object) {
return object === null;
}
exports.isNull = isNull;
function definedAndNotNull(object) {
return object !== undefined && object !== null;
}
exports.definedAndNotNull = definedAndNotNull;
function isInputElement(element) {
return element instanceof HTMLElement;
}
exports.isInputElement = isInputElement;
function isHiddenInputElement(element) {
return element instanceof HTMLInputElement && element.type === "hidden";
}
exports.isHiddenInputElement = isHiddenInputElement;
function isTextInputElement(element) {
return element instanceof HTMLInputElement && element.type === "text";
}
exports.isTextInputElement = isTextInputElement;
function isPasswordInputElement(element) {
return element instanceof HTMLInputElement && element.type === "password";
}
exports.isPasswordInputElement = isPasswordInputElement;
function isRadioInputElement(element) {
return element instanceof HTMLInputElement && element.type === "radio";
}
exports.isRadioInputElement = isRadioInputElement;
function isCheckboxInputElement(element) {
return element instanceof HTMLInputElement && element.type === "checkbox";
}
exports.isCheckboxInputElement = isCheckboxInputElement;
function isButtonInputElement(element) {
return element instanceof HTMLInputElement && element.type === "button";
}
exports.isButtonInputElement = isButtonInputElement;
function isImageInputElement(element) {
return element instanceof HTMLInputElement && element.type === "image";
}
exports.isImageInputElement = isImageInputElement;
function isFileInputElement(element) {
return element instanceof HTMLInputElement && element.type === "file";
}
exports.isFileInputElement = isFileInputElement;
function isResetInputElement(element) {
return element instanceof HTMLInputElement && element.type === "reset";
}
exports.isResetInputElement = isResetInputElement;
function isSubmitInputElement(element) {
return element instanceof HTMLInputElement && element.type === "submit";
}
exports.isSubmitInputElement = isSubmitInputElement;
function getDomEventTargetOwnerComponent(target) {
return target.ajsData.ownerComponent;
}
exports.getDomEventTargetOwnerComponent = getDomEventTargetOwnerComponent;
function getClassName(obj) {
if (obj !== undefined && obj.name !== undefined) {
if (obj.name === "Empty") {
return "";
}
return obj.name;
}
if (obj === undefined || obj.constructor === undefined || obj.constructor.toString === undefined) {
return undefined;
}
if (obj.constructor.toString().trim().substr(0, 5) === "class") {
return getES6ClassName(obj);
}
var arr = obj.constructor.toString().match(/function\s*(\w+)/);
if (arr && arr.length === 2) {
if (arr[1] === "Function") {
if (obj.toString) {
arr = obj.toString().match(/function\s*(\w+)/);
if (arr && arr.length === 2) {
return arr[1];
}
}
}
else {
return arr[1];
}
}
return undefined;
}
exports.getClassName = getClassName;
function getES6ClassName(obj) {
if (obj && obj.name) {
return obj.name;
}
if (obj === undefined || obj.constructor === undefined || obj.constructor.toString === undefined) {
return undefined;
}
var objstr = obj.constructor.toString();
if (objstr.trim().substr(0, 5) !== "class") {
return getES6ClassName(obj);
}
var indexOfBracket = objstr.indexOf("{");
var indexOfExtends = objstr.indexOf("extends");
if (indexOfExtends !== -1 && indexOfExtends < indexOfBracket) {
return objstr.substring(5, indexOfExtends - 1).trim();
}
return objstr.substring(5, indexOfBracket - 1).trim();
}
exports.getES6ClassName = getES6ClassName;
function getFunctionParameterNames(f) {
if (f.toString().substr(0, 5) === "class") {
return getES6ClassConstructorParams(f);
}
var paramNames = [];
var fn = f.toString();
var p = fn.substr(fn.indexOf("(") + 1).trim();
if (p[0] === ")") {
return paramNames;
}
p = p.substr(0, p.indexOf(")"));
paramNames = p.split(",");
for (var i = 0; i < paramNames.length; i++) {
paramNames[i] = paramNames[i].trim();
}
return paramNames;
}
exports.getFunctionParameterNames = getFunctionParameterNames;
function getES6ClassConstructorParams(f) {
if (f.toString().trim().substr(0, 5) !== "class") {
return getFunctionParameterNames(f);
}
if (f.toString().indexOf("constructor") === -1) {
return [];
}
var paramNames = [];
var fn = f.toString();
var p = fn.substr(fn.indexOf("constructor"));
p = p.substr(p.indexOf("(") + 1).trim();
if (p[0] === ")") {
return paramNames;
}
p = p.substr(0, p.indexOf(")"));
paramNames = p.split(",");
for (var i = 0; i < paramNames.length; i++) {
paramNames[i] = paramNames[i].trim();
}
return paramNames;
}
exports.getES6ClassConstructorParams = getES6ClassConstructorParams;
function minDate() {
return new Date(0);
}
exports.minDate = minDate;
function maxDate() {
return new Date(8640000000000000);
}
exports.maxDate = maxDate;
function ie10UTCDate(date) {
var utc = date.toUTCString().replace("UTC", "GMT");
var parts = utc.split(" ");
if (parts[1].length === 1) {
parts[1] = "0" + parts[1];
}
return parts.join(" ");
}
exports.ie10UTCDate = ie10UTCDate;
;
function escapeRegExp(str) {
return str.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1");
}
exports.escapeRegExp = escapeRegExp;
function replaceAll(str, searchValue, replaceValue) {
return str.replace(new RegExp(escapeRegExp(searchValue), "g"), replaceValue);
}
exports.replaceAll = replaceAll;
function nextTickAsync(howLong) {
return new Promise(function (resolve) {
setTimeout(function () {
resolve();
}, howLong ? howLong : 0);
});
}
exports.nextTickAsync = nextTickAsync;
function extend(d, b) {
for (var p in b) {
if (b.hasOwnProperty(p)) {
d[p] = b[p];
}
}
function extended() {
this.constructor = d;
}
;
extended.prototype = b.prototype;
d.prototype = new extended();
}
exports.extend = extend;