diff -r 322d0feea350 -r 89ef5ed3c48b src/cm/media/js/lib/yui/yui_3.10.3/api/classes/DataSchema.Array.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cm/media/js/lib/yui/yui_3.10.3/api/classes/DataSchema.Array.html Tue Jul 16 14:29:46 2013 +0200 @@ -0,0 +1,2163 @@ + + + + + DataSchema.Array - YUI 3 + + + + + + + + +
+
+
+ +

+ +
+
+ API Docs for: 3.10.3 +
+
+
+ +
+ +
+
+
+ Show: + + + + + + + +
+ + +
+
+
+

DataSchema.Array Class

+
+ + + +
+ Extends DataSchema.Base +
+ + + + + + + + + Module: dataschema-array
+ Parent Module: dataschema + + + + +
+ + + +
+

Provides a DataSchema implementation which can be used to work with data +stored in arrays.

+ +

See the apply method below for usage.

+
+ + + +
+ + +
+
+

Item Index

+ + +
+

Methods

+ + +
+ + + + + + + +
+ + +
+

Methods

+ + +
+

_parseResults

+ + +
+ (
    + +
  • + + fields + +
  • + +
  • + + array_in + +
  • + +
  • + + data_out + +
  • + +
) +
+ + + + + Object + + + + + + + protected + + + + + + static + + + + + + +
+ + + +

+ + Defined in + + + + + dataschema/js/dataschema-array.js:141 + +

+ + + + + +
+ +
+

Schema-parsed list of results from full data

+
+ + +
+

Parameters:

+ +
    + +
  • + + fields + Array + + + + +
    +

    Schema to parse against.

    +
    + + +
  • + +
  • + + array_in + Array + + + + +
    +

    Array to parse.

    +
    + + +
  • + +
  • + + data_out + Object + + + + +
    +

    In-progress parsed data to update.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + Parsed data object. + +
+
+ + + +
+ + +
+

apply

+ + +
+ (
    + +
  • + + [schema] + +
  • + +
  • + + data + +
  • + +
) +
+ + + + + Object + + + + + + + + + + + static + + + + + + +
+ + + +

+ + Defined in + + + + + dataschema/js/dataschema-array.js:29 + +

+ + + + + +
+ +
+

Applies a schema to an array of data, returning a normalized object +with results in the results property. The meta property of the +response object is present for consistency, but is assigned an empty +object. If the input data is absent or not an array, an error +property will be added.

+ +

The input array is expected to contain objects, arrays, or strings.

+ +

If schema is not specified or schema.resultFields is not an array, +response.results will be assigned the input array unchanged.

+ +

When a schema is specified, the following will occur:

+ +

If the input array contains strings, they will be copied as-is into the +response.results array.

+ +

If the input array contains arrays, response.results will contain an +array of objects with key:value pairs assuming the fields in +schema.resultFields are ordered in accordance with the data array +values.

+ +

If the input array contains objects, the identified +schema.resultFields will be used to extract a value from those +objects for the output result.

+ +

schema.resultFields field identifiers are objects with the following properties:

+ +
    +
  • key : (required) The locator name (String)
  • +
  • parser: A function or the name of a function on Y.Parsers used + to convert the input value into a normalized type. Parser + functions are passed the value as input and are expected to + return a value.
  • +
+ +

If no value parsing is needed, you can use strings as identifiers +instead of objects (see example below).

+
+ + +
+

Parameters:

+ +
    + +
  • + + [schema] + Object + optional + + + + +
    +

    Schema to apply. Supported configuration + properties are:

    +
    + + +
      + +
    • + + [resultFields] + Array + optional + + +
      +

      Field identifiers to + locate/assign values in the response records. See above for + details.

      +
      + + +
    • + +
    + +
  • + +
  • + + data + Array + + + + +
    +

    Array data.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + An Object with properties results and meta + +
+
+ + + +
+

Example:

+ +
+
// Process array of arrays
+var schema = { resultFields: [ 'fruit', 'color' ] },
+    data = [
+        [ 'Banana', 'yellow' ],
+        [ 'Orange', 'orange' ],
+        [ 'Eggplant', 'purple' ]
+    ];
+
+var response = Y.DataSchema.Array.apply(schema, data);
+
+// response.results[0] is { fruit: "Banana", color: "yellow" }
+
+
+// Process array of objects
+data = [
+    { fruit: 'Banana', color: 'yellow', price: '1.96' },
+    { fruit: 'Orange', color: 'orange', price: '2.04' },
+    { fruit: 'Eggplant', color: 'purple', price: '4.31' }
+];
+
+response = Y.DataSchema.Array.apply(schema, data);
+
+// response.results[0] is { fruit: "Banana", color: "yellow" }
+
+
+// Use parsers
+schema.resultFields = [
+    {
+        key: 'fruit',
+        parser: function (val) { return val.toUpperCase(); }
+    },
+    {
+        key: 'price',
+        parser: 'number' // Uses Y.Parsers.number
+    }
+];
+
+response = Y.DataSchema.Array.apply(schema, data);
+
+// Note price was converted from a numeric string to a number
+// response.results[0] looks like { fruit: "BANANA", price: 1.96 }
+
+
+
+ +
+ + +
+

parse

+ + +
+ (
    + +
  • + + value + +
  • + +
  • + + field + +
  • + +
) +
+ + + + + Object + + + + + + + + + + + + + + + +
+ + +

Inherited from + DataSchema.Base: + + + + dataschema/js/dataschema-base.js:38 + +

+ + + + + +
+ +
+

Applies field parser, if defined

+
+ + +
+

Parameters:

+ +
    + +
  • + + value + Object + + + + +
    +

    Original value.

    +
    + + +
  • + +
  • + + field + Object + + + + +
    +

    Field.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + Type-converted value. + +
+
+ + + +
+ + +
+ + + + + + + +
+
+ +
+
+
+
+
+
+ + + + + + + + + +