blob: a1e5ee757457d4e653b9be2af7009496dffba489 [file] [log] [blame]
/* global */
/* exported FootageInterface */
var FootageInterface = (function () {
var outlineInterfaceFactory = (function (elem) {
var currentPropertyName = '';
var currentProperty = elem.getFootageData();
function init() {
currentPropertyName = '';
currentProperty = elem.getFootageData();
return searchProperty;
}
function searchProperty(value) {
if (currentProperty[value]) {
currentPropertyName = value;
currentProperty = currentProperty[value];
if (typeof currentProperty === 'object') {
return searchProperty;
}
return currentProperty;
}
var propertyNameIndex = value.indexOf(currentPropertyName);
if (propertyNameIndex !== -1) {
var index = parseInt(value.substr(propertyNameIndex + currentPropertyName.length), 10);
currentProperty = currentProperty[index];
if (typeof currentProperty === 'object') {
return searchProperty;
}
return currentProperty;
}
return '';
}
return init;
});
var dataInterfaceFactory = function (elem) {
function interfaceFunction(value) {
if (value === 'Outline') {
return interfaceFunction.outlineInterface();
}
return null;
}
interfaceFunction._name = 'Outline';
interfaceFunction.outlineInterface = outlineInterfaceFactory(elem);
return interfaceFunction;
};
return function (elem) {
function _interfaceFunction(value) {
if (value === 'Data') {
return _interfaceFunction.dataInterface;
}
return null;
}
_interfaceFunction._name = 'Data';
_interfaceFunction.dataInterface = dataInterfaceFactory(elem);
return _interfaceFunction;
};
}());