Source: php.js

Source: php.js

"use strict";

Object.defineProperty(exports, "__esModule", {
    value: true
});
/* jshint freeze: false */

var S = require("./index");

if (!String.prototype.contains) {
    String.prototype.contains = function () {
        return String.prototype.indexOf.apply(this, arguments) !== -1;
    };
}

/**
 * Php utils
 *
 * @module php
 */

/**
 * Export string into a php string in string
 *
 * @param {String} str
 * @return {String}
 */
var exportString = function exportString(str) {
    if (str.contains("\n") || str.contains("\r") || str.contains("\t") || str.contains("\u000b") || str.contains("\f")) {
        return "\"" + str.replace(/\\/g, "\\\\").replace(/\n/g, "\n").replace(/\r/g, "\r").replace(/\t/g, "\t").replace(/\v/g, "\u000b").replace(/\f/g, "\f").replace(/\$/, "$") + "\"";
    }
    if (!str.contains("'")) {
        return "'" + str + "'";
    }
    if (!str.contains("\"")) {
        return "\"" + str.replace(/\$/g, "$") + "\"";
    }
    return "'" + str.replace(/\'/g, "\\'") + "'";
};

exports.exportString = exportString;
var _exportCodeVar = function _exportCodeVar(v) {
    if (S.isString(v)) {
        return exportString(v);
    }
    if (v === undefined || v === null) {
        return "null";
    }
    if (v === true) {
        return "true";
    }
    if (v === false) {
        return "false";
    }
    return v; // numeric
};

exports._exportCodeVar = _exportCodeVar;
var _exportCode = (function (_exportCode2) {
    var _exportCodeWrapper = function _exportCode(_x, _x2) {
        return _exportCode2.apply(this, arguments);
    };

    _exportCodeWrapper.toString = function () {
        return _exportCode2.toString();
    };

    return _exportCodeWrapper;
})(function (v, start) {
    if (v === null || !S.isObject(v)) {
        return _exportCodeVar(v);
    }

    var content = "array(";
    if (S.isArray(v)) {
        for (var i = 0, l = v.length; i < l; i++) {
            content += _exportCode(v[i]) + ",";
        }
    } else {
        for (var k in v) {
            content += _exportCodeVar(k) + "=>" + _exportCode(v[k]) + ",";
        }
    }
    if (content) {
        content = content.replace(/,+$/, "");
    }
    content += start ? ")" : "),";
    return content;
});

exports._exportCode = _exportCode;
/**
 * Export javascript object into a php code in string
 *
 * @param {any} v
 * @param {bool} ifEmptyArray
 * @return {String}
 */
var exportCode = function exportCode(v, ifEmptyArray) {
    var content = _exportCode(v, true);
    if (ifEmptyArray !== undefined && (content === "false" || content === "array()")) {
        return ifEmptyArray;
    }
    return content;
};
exports.exportCode = exportCode;
//# sourceMappingURL=php.js.map