import {debug, ScopeError, SourceError, Source} from "utils/debug"; import * as xml from "xml"; import {View, Template, KeyedTemplate} from "ui/core/view"; import {File, path, knownFolders} from "file-system"; import {isString, isFunction, isDefined} from "utils/types"; import {ComponentModule, setPropertyValue, getComponentModule} from "ui/builder/component-builder"; import {platformNames, device} from "platform"; import {LoadOptions} from "ui/builder"; import {Page} from "ui/page"; import {resolveFileName} from "file-system/file-name-resolver"; import * as traceModule from "trace"; const defaultNameSpaceMatcher = /tns\.xsd$/i; var trace: typeof traceModule; function ensureTrace() { if (!trace) { trace = require("trace"); } } export function parse(value: string | Template, context: any): View { if (isString(value)) { var viewToReturn: View; if (context instanceof View) { context = getExports(context); } var componentModule = parseInternal(value, context); if (componentModule) { viewToReturn = componentModule.component; } return viewToReturn; } else if ( isFunction(value)) { return (