26class QQmlJSStreamWriter
29 QQmlJSStreamWriter(QByteArray *array);
31 void writeStartDocument();
32 void writeEndDocument();
33 void writeLibraryImport(
34 QByteArrayView uri,
int majorVersion,
int minorVersion, QByteArrayView as = {});
35 void writeStartObject(QByteArrayView component);
36 void writeEndObject();
37 void writeScriptBinding(QByteArrayView name, QByteArrayView rhs);
38 void writeStringBinding(QByteArrayView name, QAnyStringView value);
39 void writeNumberBinding(QByteArrayView name, qint64 value);
42 void writeEnumObjectLiteralBinding(
43 QByteArrayView name,
const QList<std::pair<QAnyStringView,
int>> &keyValue);
46 void writeArrayBinding(QByteArrayView name,
const QByteArrayList &elements);
47 void writeStringListBinding(QByteArrayView name,
const QList<QAnyStringView> &elements);
49 void write(QByteArrayView data);
50 void writeBooleanBinding(QByteArrayView name,
bool value);
54 void writePotentialLine(
const QByteArray &line);
55 void flushPotentialLinesWithNewlines();
57 template<
typename String,
typename ElementHandler>
58 void doWriteArrayBinding(
59 QByteArrayView name,
const QList<String> &elements, ElementHandler &&handler);
62 QList<QByteArray> m_pendingLines;
63 int m_pendingLineLength;
65 QScopedPointer<QIODevice> m_stream;