本文整理汇总了TypeScript中aurelia-metadata.metadata类的典型用法代码示例。如果您正苦于以下问题:TypeScript metadata类的具体用法?TypeScript metadata怎么用?TypeScript metadata使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了metadata类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: function
const deco = function (target, key, descriptor?) {
if (!key) {
target.inject = metadata.getOwn(metadata.paramTypes, target, key) || emptyParameters;
} else if (!descriptor) {
if (!target.constructor.injectProperties) {
target.constructor.injectProperties = Object.create(null);
}
target.constructor.injectProperties[key] = metadata.getOwn(metadataType, target, key);
}
};
示例2: function
let deco = function (target, key, descriptor?) {
if (key === undefined) {
target.inject = metadata.getOwn(metadata.paramTypes, target, key) || Object.freeze([]);
} else if (descriptor === undefined) {
if (target.constructor.injectProperties === undefined) {
target.constructor.injectProperties = Object.create(null);
}
target.constructor.injectProperties[key] = metadata.getOwn("design:type", target, key);
}
};
示例3: 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);
}
示例4: createViewResources
// create the root view resources.
function createViewResources(container) {
let resources = new ViewResources();
// repeat
let resource = metadata.get(metadata.resource, Repeat) as HtmlBehaviorResource;
resource.target = Repeat;
resource.initialize(container, Repeat);
resources.registerAttribute('repeat', resource, 'repeat');
// if
resource = metadata.get(metadata.resource, If) as HtmlBehaviorResource;
resource.target = If;
resource.initialize(container, If);
resources.registerAttribute('if', resource, 'if');
// compose
resource = metadata.get(metadata.resource, Compose) as HtmlBehaviorResource;
resource.target = Compose;
resource.initialize(container, Compose);
resources.registerElement('compose', resource);
container.registerInstance(ViewResources, resources);
// slice value converter
resources.registerValueConverter('slice', { toView: array => array ? array.slice(0) : array });
// no-op value converter
resources.registerValueConverter('noopValueConverter', { toView: value => value });
// toLength value converter
resources.registerValueConverter('toLength', { toView: collection => collection ? (collection.length || collection.size || 0) : 0 });
// no-op binding behavior
resources.registerBindingBehavior('noopBehavior', { bind: () => {/**/}, unbind: () => {/**/} });
// oneTime binding behavior
resources.registerBindingBehavior('oneTime', new OneTimeBindingBehavior());
}
示例5: 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;
}
示例6: function
return function(target) {
metadata.define(metadata.resource, new BindingFunctionResource(nameOrTarget), target);
}
示例7: return
return (target: any) => {
metadata.define(symbols.alias, alias, target);
};