Files
NativeScript/tns-core-modules/ui/builder/special-properties.ts
Panayot Cankov e135c20b14 Rename the files
2016-05-26 14:30:25 +03:00

24 lines
787 B
TypeScript

import view = require("ui/core/view");
export type PropertySetter = (instance: view.View, propertyValue: any) => void;
var specialProperties: Map<string, PropertySetter> = new Map<string, PropertySetter>();
function specialPropertyKey(name: string) {
return name.toLowerCase();
}
export function registerSpecialProperty(name: string, setter: PropertySetter): void {
let propertyKey = specialPropertyKey(name);
if (specialProperties.has(propertyKey)) {
throw new Error(`Property for ${propertyKey} already registered`);
} else {
specialProperties.set(propertyKey, setter);
}
}
export function getSpecialPropertySetter(name: string): PropertySetter {
let propertyKey = specialPropertyKey(name);
return specialProperties.get(propertyKey);
}