value = $value; } /** * Encode an object containing XmlJsCode objects. * * This takes an object or associative array where (some of) the values are XmlJsCode objects, * and re-encodes it as a single XmlJsCode object. * * @since 1.33 * @param object|array $obj Object or associative array to encode * @param bool $pretty If true, add non-significant whitespace to improve readability. * @return XmlJsCode */ public static function encodeObject( $obj, $pretty = false ) { $parts = []; foreach ( $obj as $key => $value ) { $parts[] = ( $pretty ? ' ' : '' ) . Xml::encodeJsVar( $key, $pretty ) . ( $pretty ? ': ' : ':' ) . Xml::encodeJsVar( $value, $pretty ); } return new self( '{' . ( $pretty ? "\n" : '' ) . implode( $pretty ? ",\n" : ',', $parts ) . ( $pretty ? "\n" : '' ) . '}' ); } }