createProperty: function()

in serverless-workflow-examples/serverless-workflow-events-quarkus/src/main/resources/META-INF/resources/serializetojson.js [73:129]


			createProperty: function(o, value, names, $input) {
				var navObj = o;

				for (var i = 0; i < names.length; i++) {
					var currentName = names[i];

					if (i === names.length - 1) {
						var isSelectMultiple = $input.is("select") && $input.prop("multiple");

						if (isSelectMultiple && value !== null){
							navObj[currentName] = new Array();

							if (Array.isArray(value)){
								$(value).each(function() {
									navObj[currentName].push(this);
								});
							}
							else{
								navObj[currentName].push(value);
							}
						} else if(typeof navObj[currentName] !== "undefined"){
							if (!$input.is("[type='hidden']"))
								navObj[currentName] = value;
						} else {
							navObj[currentName] = value;
						}
					} else {
						var arrayKey = /\[\w+\]/g.exec(currentName);
						var isArray = arrayKey != null && arrayKey.length > 0;

						if (isArray) {
							currentName = currentName.substr(0, currentName.indexOf("["));

							if (this.settings.associativeArrays) {
								if (!navObj.hasOwnProperty(currentName)) {
									navObj[currentName] = {};
								}
							} else {
								if (!Array.isArray(navObj[currentName])) {
									navObj[currentName] = new Array();
								}
							}

							navObj = navObj[currentName];

							var keyName = arrayKey[0].replace(/[\[\]]/g, "");
							currentName = keyName;
						}

						if (!navObj.hasOwnProperty(currentName)) {
							navObj[currentName] = {};
						}

						navObj = navObj[currentName];
					}
				}
			},