+ /**
+ * Create/update a setting value.
+ *
+ * @param {string} id - Setting ID.
+ * @param {*} value - Setting value.
+ * @param {boolean} [createDirty] - Whether to create a setting as dirty. Defaults to false.
+ */
+ setValue = function( id, value, createDirty ) {
+ var setting = api( id );
+ if ( setting ) {
+ setting.set( value );
+ } else {
+ createDirty = createDirty || false;
+ setting = api.create( id, value, {
+ id: id
+ } );
+
+ // Mark dynamically-created settings as dirty so they will get posted.
+ if ( createDirty ) {
+ setting._dirty = true;
+ }
+ }
+ };
+