Я только что опубликовал пакет NPM gen_enum , позволяющий быстро создавать структуру данных Enum в Javascript:
var genEnum = require('gen_enum');
var AppMode = genEnum('SIGN_UP, LOG_IN, FORGOT_PASSWORD');
var curMode = AppMode.LOG_IN;
console.log(curMode.isLogIn()); // output true
console.log(curMode.isSignUp()); // output false
console.log(curMode.isForgotPassword()); // output false
Одна приятная вещь об этом небольшом инструменте - в современной среде ( включая nodejs и браузеры IE 9+) возвращаемый объект Enum является неизменным.
Для получения дополнительной информации, пожалуйста, проверьте https://github.com/greenlaw110/enumjs
Обновления
Я устарел gen_enum
пакет и объединить функцию в пакет constjs , который предоставляет больше возможностей, включая неизменяемые объекты, десериализацию строк JSON, константы строк, генерацию растровых изображений и т. д. Оформить заказ https://www.npmjs.com/package/constjs для получения дополнительной информации
Чтобы перейти с gen_enum
на constjs
, просто измените оператор
var genEnum = require('gen_enum');
на
var genEnum = require('constjs').enum;
Чтобы создать текстовую геометрию, просто используйте FormattedText.BuildGeometry, например, чтобы получить геометрию «Текст для отображения» шрифтом Tahoma размером 16 пикселей в точке (5,5), используйте:
FormattedText text = new FormattedText("Text to display",
CultureInfo.CurrentCulture,
FlowDirection.LeftToRight,
new Typeface("Tahoma"),
16,
Brushes.Black);
Geometry geometry = text.BuildGeometry(new Point(5, 5));
Если вам нужно сделать это в XAML, вы можете заключить этот код в MarkupExtention