DataSchema.Text Class
+ + + + +Provides a DataSchema implementation which can be used to work with +delimited text data.
+ +See the apply method for usage.
Item Index
+ + +Methods
+ +-
+
+
- + _parseResults + + + static + + + + +
- + apply + + + static + + + + +
- + parse + + + + + +
Methods
+ + +_parseResults
+
+
+ -
+
+
-
+
+
schema+ +
+
+ -
+
+
text_in+ +
+
+ -
+
+
data_out+ +
+
+
Schema-parsed list of results from full data
+Parameters:
+ + +Returns:
+ +apply
+
+
+ -
+
+
-
+
+
schema+ +
+
+ -
+
+
data+ +
+
+
Applies a schema to a string of delimited 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 a string, an error
+property will be added.
Use schema.resultDelimiter and schema.fieldDelimiter to instruct
+apply how to split up the string into an array of data arrays for
+processing.
Use schema.resultFields to specify the keys in the generated result
+objects in response.results. The key:value pairs will be assigned
+in the order of the schema.resultFields array, assuming the values
+in the data records are defined in the same order.
schema.resultFields field identifiers are objects with the following +properties:
+ +-
+
key: (required) The property name you want + the data value assigned to in the result object (String)
+parser: A function or the name of a function onY.Parsersused + 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 just the desired property +name string as the field identifier instead of an object (see example +below).
+Parameters:
+ +-
+
+
-
+
+
schema+ Object + + + + +++ + +Schema to apply. Supported configuration + properties are:
+-
+
+
-
+
+
resultDelimiter+ String + + +++ + +Character or character + sequence that marks the end of one record and the start of + another.
+
+
+ -
+
+
[fieldDelimiter]+ String + optional + + +++ + +Character or character + sequence that marks the end of a field and the start of + another within the same record.
+
+
+ -
+
+
[resultFields]+ Array + optional + + +++ + +Field identifiers to + assign values in the response records. See above for details.
+
+
+
+
+ -
+
+
-
+
+
data+ String + + + + +++ + +Text data.
+
+
+
Returns:
+ + +Example:
+ +// Process simple csv
+var schema = {
+ resultDelimiter: "\n",
+ fieldDelimiter: ",",
+ resultFields: [ 'fruit', 'color' ]
+ },
+ data = "Banana,yellow\nOrange,orange\nEggplant,purple";
+
+var response = Y.DataSchema.Text.apply(schema, data);
+
+// response.results[0] is { fruit: "Banana", color: "yellow" }
+
+
+// Use parsers
+schema.resultFields = [
+ {
+ key: 'fruit',
+ parser: function (val) { return val.toUpperCase(); }
+ },
+ 'color' // mix and match objects and strings
+];
+
+response = Y.DataSchema.Text.apply(schema, data);
+
+// response.results[0] is { fruit: "BANANA", color: "yellow" }
+
+ 