本文整理汇总了TypeScript中aurelia-metadata.metadata.define方法的典型用法代码示例。如果您正苦于以下问题:TypeScript metadata.define方法的具体用法?TypeScript metadata.define怎么用?TypeScript metadata.define使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类aurelia-metadata.metadata
的用法示例。
在下文中一共展示了metadata.define方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: bindingFunction
export function bindingFunction(nameOrTarget){
if(nameOrTarget === undefined || typeof nameOrTarget === 'string'){
return function(target) {
metadata.define(metadata.resource, new BindingFunctionResource(nameOrTarget), target);
}
}
metadata.define(metadata.resource, new BindingFunctionResource(), nameOrTarget);
}
示例2: analyze
ModuleAnalyzer.prototype.analyze = function analyze(moduleId: string, moduleInstance: any, mainResourceKey?: string): ResourceModule {
let mainResource;
let fallbackValue;
let fallbackKey;
let resourceTypeMeta;
let key;
let exportedValue;
let resources = [];
let conventional;
let vs;
let resourceModule;
resourceModule = this.cache[moduleId];
if (resourceModule) {
return resourceModule;
}
resourceModule = new ResourceModule(moduleId);
this.cache[moduleId] = resourceModule;
if (typeof moduleInstance === 'function') {
moduleInstance = {'default': moduleInstance};
}
if (mainResourceKey) {
mainResource = new ResourceDescription(mainResourceKey, moduleInstance[mainResourceKey]);
}
for (key in moduleInstance) {
exportedValue = moduleInstance[key];
if (key === mainResourceKey || typeof exportedValue !== 'function') {
continue;
}
resourceTypeMeta = metadata.get(metadata.resource, exportedValue);
if (resourceTypeMeta) {
if (resourceTypeMeta.attributeName === null && resourceTypeMeta.elementName === null) {
//no customeElement or customAttribute but behavior added by other metadata
HtmlBehaviorResource.convention(key, resourceTypeMeta);
}
if (resourceTypeMeta.attributeName === null && resourceTypeMeta.elementName === null) {
//no convention and no customeElement or customAttribute but behavior added by other metadata
resourceTypeMeta.elementName = _hyphenate(key);
}
if (!mainResource && resourceTypeMeta instanceof HtmlBehaviorResource && resourceTypeMeta.elementName !== null) {
mainResource = new ResourceDescription(key, exportedValue, resourceTypeMeta);
} else {
resources.push(new ResourceDescription(key, exportedValue, resourceTypeMeta));
}
} else if (viewStrategy.decorates(exportedValue)) {
vs = exportedValue;
} else if (exportedValue instanceof TemplateRegistryEntry) {
vs = new TemplateRegistryViewStrategy(moduleId, exportedValue);
} else {
if (conventional = HtmlBehaviorResource.convention(key)) {
if (conventional.elementName !== null && !mainResource) {
mainResource = new ResourceDescription(key, exportedValue, conventional);
} else {
resources.push(new ResourceDescription(key, exportedValue, conventional));
}
metadata.define(metadata.resource, conventional, exportedValue);
} else if (conventional = ValueConverterResource.convention(key)) {
resources.push(new ResourceDescription(key, exportedValue, conventional));
metadata.define(metadata.resource, conventional, exportedValue);
} else if (conventional = BindingBehaviorResource.convention(key)) {
resources.push(new ResourceDescription(key, exportedValue, conventional));
metadata.define(metadata.resource, conventional, exportedValue);
} else if (conventional = BindingFunctionResource.convention(key)) {
resources.push(new ResourceDescription(key, exportedValue, conventional));
metadata.define(metadata.resource, conventional, exportedValue);
} else if (!fallbackValue) {
fallbackValue = exportedValue;
fallbackKey = key;
}
}
}
if (!mainResource && fallbackValue) {
mainResource = new ResourceDescription(fallbackKey, fallbackValue);
}
resourceModule.moduleInstance = moduleInstance;
resourceModule.mainResource = mainResource;
resourceModule.resources = resources;
resourceModule.viewStrategy = vs;
return resourceModule;
}
示例3: function
return function(target) {
metadata.define(metadata.resource, new BindingFunctionResource(nameOrTarget), target);
}
示例4: return
return (target: any) => {
metadata.define(symbols.alias, alias, target);
};