tsbase
Version:
Base class libraries for TypeScript
48 lines • 1.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FormUrl = void 0;
const Strings_1 = require("./Strings");
class FormUrl {
constructor() { }
/**
* Returns the form url encoded string version of the given json object.
* Intended for json consisting of string values only.
* @param json
*/
static EncodeJson(json) {
let formData = Strings_1.Strings.Empty;
const keys = Object.keys(json);
for (let i = 0; i < keys.length; i++) {
const key = keys[i];
formData += `${key}=${json[key]}${i < keys.length - 1 ? '&' : Strings_1.Strings.Empty}`;
}
return formData;
}
/**
* Returns the json version of the form url encoded string given.
* @param formData
*/
static DecodeToJson(formData) {
const json = {};
if (formData.includes('=')) {
if (formData.includes('&')) {
const keyValuePairs = formData.split('&');
keyValuePairs.forEach(keyValuePair => {
FormUrl.SetKeyValuePair(keyValuePair, json);
});
}
else {
FormUrl.SetKeyValuePair(formData, json);
}
}
return json;
}
static SetKeyValuePair(formData, json) {
const keyValuePair = formData.split('=');
if (keyValuePair.length >= 2) {
json[keyValuePair[0]] = keyValuePair[1];
}
}
}
exports.FormUrl = FormUrl;
//# sourceMappingURL=FormUrl.js.map