jw-ng-forward
Version:
Temporary package. The default solution for those that want to write Angular 2.x style code in Angular 1.x
35 lines (34 loc) • 1.55 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var writers_1 = require("../writers");
var parse_property_map_1 = __importDefault(require("../properties/parse-property-map"));
var events_1 = require("../events/events");
exports.writeMapSingle = function (t, localName, publicName, storeKey) {
var put = localName + (publicName ? ":" + publicName : "");
var putMap = parse_property_map_1.default([put]);
var previousPutMap = writers_1.componentStore.get(storeKey, t) || {};
writers_1.componentStore.set(storeKey, Object.assign({}, previousPutMap, putMap), t);
return putMap;
};
exports.writeMapMulti = function (t, names, storeKey) {
var putMap = parse_property_map_1.default(names);
var previousPutMap = writers_1.componentStore.get(storeKey, t) || {};
writers_1.componentStore.set(storeKey, Object.assign({}, previousPutMap, putMap), t);
return putMap;
};
function Input(publicName) {
return function (proto, localName) {
exports.writeMapSingle(proto.constructor, localName, publicName, 'inputMap');
};
}
exports.Input = Input;
function Output(publicName) {
return function (proto, localName) {
var outputMap = exports.writeMapSingle(proto.constructor, localName, publicName, 'outputMap');
Object.keys(outputMap).forEach(function (key) { return events_1.events.add(key); });
};
}
exports.Output = Output;