src/cm/media/js/lib/yui/yui_3.10.3/build/dataschema-base/dataschema-base.js
author gibus
Tue, 11 Feb 2014 12:33:25 +0100
changeset 572 93383e54e042
parent 525 89ef5ed3c48b
permissions -rw-r--r--
Font size for piwik optout iframe.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
525
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     1
/*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     2
YUI 3.10.3 (build 2fb5187)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     3
Copyright 2013 Yahoo! Inc. All rights reserved.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     4
Licensed under the BSD License.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     5
http://yuilibrary.com/license/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     6
*/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     7
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     8
YUI.add('dataschema-base', function (Y, NAME) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     9
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    10
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    11
 * The DataSchema utility provides a common configurable interface for widgets to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    12
 * apply a given schema to a variety of data.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
 *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
 * @module dataschema
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
 * @main dataschema
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
 * Provides the base DataSchema implementation, which can be extended to 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
 * create DataSchemas for specific data formats, such XML, JSON, text and
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
 * arrays.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
 *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
 * @module dataschema
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
 * @submodule dataschema-base
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
var LANG = Y.Lang,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
 * Base class for the YUI DataSchema Utility.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
 * @class DataSchema.Base
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
 * @static
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
    SchemaBase = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
     * Overridable method returns data as-is.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
     * @method apply
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
     * @param schema {Object} Schema to apply.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
     * @param data {Object} Data.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
     * @return {Object} Schema-parsed data.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
     * @static
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
    apply: function(schema, data) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
        return data;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
     * Applies field parser, if defined
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
     * @method parse
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
     * @param value {Object} Original value.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
     * @param field {Object} Field.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
     * @return {Object} Type-converted value.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
    parse: function(value, field) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
        if(field.parser) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
            var parser = (LANG.isFunction(field.parser)) ?
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
            field.parser : Y.Parsers[field.parser+''];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
            if(parser) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
                value = parser.call(this, value);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
            else {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
        return value;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
Y.namespace("DataSchema").Base = SchemaBase;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
Y.namespace("Parsers");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
}, '3.10.3', {"requires": ["base"]});