in brooklyn-ui/src/main/webapp/assets/js/libs/js-yaml.js [259:334]
function writeScalar(state, object) {
var isQuoted, checkpoint, position, length, character, first;
state.dump = '';
isQuoted = false;
checkpoint = 0;
first = object.charCodeAt(0) || 0;
if (-1 !== DEPRECATED_BOOLEANS_SYNTAX.indexOf(object)) {
// Ensure compatibility with YAML 1.0/1.1 loaders.
isQuoted = true;
} else if (0 === object.length) {
// Quote empty string
isQuoted = true;
} else if (CHAR_SPACE === first ||
CHAR_SPACE === object.charCodeAt(object.length - 1)) {
isQuoted = true;
} else if (CHAR_MINUS === first ||
CHAR_QUESTION === first) {
// Don't check second symbol for simplicity
isQuoted = true;
}
for (position = 0, length = object.length; position < length; position += 1) {
character = object.charCodeAt(position);
if (!isQuoted) {
if (CHAR_TAB === character ||
CHAR_LINE_FEED === character ||
CHAR_CARRIAGE_RETURN === character ||
CHAR_COMMA === character ||
CHAR_LEFT_SQUARE_BRACKET === character ||
CHAR_RIGHT_SQUARE_BRACKET === character ||
CHAR_LEFT_CURLY_BRACKET === character ||
CHAR_RIGHT_CURLY_BRACKET === character ||
CHAR_SHARP === character ||
CHAR_AMPERSAND === character ||
CHAR_ASTERISK === character ||
CHAR_EXCLAMATION === character ||
CHAR_VERTICAL_LINE === character ||
CHAR_GREATER_THAN === character ||
CHAR_SINGLE_QUOTE === character ||
CHAR_DOUBLE_QUOTE === character ||
CHAR_PERCENT === character ||
CHAR_COMMERCIAL_AT === character ||
CHAR_COLON === character ||
CHAR_GRAVE_ACCENT === character) {
isQuoted = true;
}
}
if (ESCAPE_SEQUENCES[character] ||
!((0x00020 <= character && character <= 0x00007E) ||
(0x00085 === character) ||
(0x000A0 <= character && character <= 0x00D7FF) ||
(0x0E000 <= character && character <= 0x00FFFD) ||
(0x10000 <= character && character <= 0x10FFFF))) {
state.dump += object.slice(checkpoint, position);
state.dump += ESCAPE_SEQUENCES[character] || encodeHex(character);
checkpoint = position + 1;
isQuoted = true;
}
}
if (checkpoint < position) {
state.dump += object.slice(checkpoint, position);
}
if (!isQuoted && testImplicitResolving(state, state.dump)) {
isQuoted = true;
}
if (isQuoted) {
state.dump = '"' + state.dump + '"';
}
}