JavaScript module pattern (inspiration: TypeScript, json2.js by Douglas Crockford)
var Module;
(function (Module) {
'use strict';
var Greeter = (function () {
// Define the Greeter class:
function Greeter(message) {
this.greeting = message;
}
Greeter.prototype.greet = function (name) {
return this.greeting + ' ' + name;
};
return Greeter;
})();
// Exports:
Module.Greeter = Greeter;
})(Module || (Module = {}));