Comparing version 0.6.0 to 0.7.0
@@ -24,6 +24,10 @@ "use strict"; | ||
}); | ||
this.storage = new storage_1.Storage(containerId, function () { return class_transformer_1.serialize(_this.rootComponent); }, function (serialized) { return _this.setRootComponent(class_transformer_1.deserialize(rootComponentConstructor, serialized), true, false); }); | ||
var newRoot = (rootComponent || new rootComponentConstructor()); | ||
newRoot.initDecorators(); | ||
this.storage = new storage_1.Storage(containerId, function () { return class_transformer_1.serialize(_this.rootComponent); }, function (serialized) { | ||
_this.setRootComponent(class_transformer_1.deserialize(rootComponentConstructor, serialized), true, false); | ||
}); | ||
this.storage.load(); | ||
if (!this.rootComponent) | ||
this.setRootComponent(rootComponent || new rootComponentConstructor()); | ||
this.setRootComponent(newRoot); | ||
} | ||
@@ -30,0 +34,0 @@ Object.defineProperty(App.prototype, "rootComponent", { |
@@ -37,2 +37,4 @@ import { App } from './app'; | ||
onRefreshed(action: () => void): void; | ||
initDecorators(): void; | ||
} | ||
export declare function typed<T>(x: new () => T): T | undefined; |
@@ -132,2 +132,18 @@ "use strict"; | ||
}; | ||
Component.prototype.initDecorators = function () { | ||
var _loop_1 = function () { | ||
var propValue = this_1[propName]; | ||
if (!(propValue instanceof Component) || propValue == this_1) | ||
return "continue"; | ||
propValue.initDecorators(); | ||
class_transformer_1.Type(function () { return propValue.constructor; })(this_1, propName); | ||
if (propValue["isSerializeMarker"]) | ||
this_1[propName] = undefined; | ||
}; | ||
var this_1 = this; | ||
for (var _i = 0, _a = Object.keys(this); _i < _a.length; _i++) { | ||
var propName = _a[_i]; | ||
_loop_1(); | ||
} | ||
}; | ||
__decorate([ | ||
@@ -150,1 +166,7 @@ class_transformer_1.Exclude(), | ||
exports.Component = Component; | ||
function typed(x) { | ||
var obj = new x(); | ||
obj["isSerializeMarker"] = true; | ||
return obj; | ||
} | ||
exports.typed = typed; |
@@ -1,2 +0,2 @@ | ||
export { Component } from './component'; | ||
export { Component, typed } from './component'; | ||
export { App } from './app'; | ||
@@ -6,6 +6,6 @@ export { TimeTravel } from './timeTravel'; | ||
export { Validator, IValidated } from './validation'; | ||
export { Router, IRouted, pathHead, pathTail, combinePaths, equalsIgnoreCase } from './router'; | ||
export { Router, IRouted, pathHead, pathTail, combinePaths } from './router'; | ||
export { VElement, VNode, VAttributes, VLifecycle, isVElement, createVElement, merge } from './dom'; | ||
export { literal, KeyValue, isNullOrEmpty, key, Let, Num } from './util'; | ||
export { literal, KeyValue, isNullOrEmpty, key, Let, Num, equalsIgnoreCase } from './util'; | ||
export { commandButton, commandLink, inputText, inputValue, slider, radioGroup, selector } from './widgets'; | ||
export { h, HValue, HAttributes, HProps, a, abbr, address, area, article, aside, audio, b, bdi, bdo, blockquote, br, button, canvas, caption, cite, code, col, colgroup, data, datalist, dd, del, details, dfn, dialog, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hr, i, img, input, ins, kbd, label, legend, li, main, map, mark, menu, menuitem, meter, nav, object, ol, optgroup, option, output, p, param, pre, progress, q, rp, rt, rtc, ruby, s, samp, section, select, small, source, span, strong, sub, summary, sup, svg, table, tbody, td, textarea, tfoot, th, thead, time, tr, track, u, ul, video, vvar, wbr } from './html'; | ||
export { h, HValue, HAttributes, HProps, a, abbr, address, area, article, aside, audio, b, bdi, bdo, blockquote, br, button, canvas, caption, cite, code, col, colgroup, data, datalist, dd, del, details, dfn, dialog, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hr, i, iframe, img, input, ins, kbd, label, legend, li, main, map, mark, menu, menuitem, meter, nav, object, ol, optgroup, option, output, p, param, pre, progress, q, rp, rt, rtc, ruby, s, samp, section, select, small, source, span, strong, sub, summary, sup, svg, table, tbody, td, textarea, tfoot, th, thead, time, tr, track, u, ul, video, vvar, wbr } from './html'; |
@@ -5,2 +5,3 @@ "use strict"; | ||
exports.Component = component_1.Component; | ||
exports.typed = component_1.typed; | ||
var app_1 = require("./app"); | ||
@@ -19,3 +20,2 @@ exports.App = app_1.App; | ||
exports.combinePaths = router_1.combinePaths; | ||
exports.equalsIgnoreCase = router_1.equalsIgnoreCase; | ||
var dom_1 = require("./dom"); | ||
@@ -31,2 +31,3 @@ exports.isVElement = dom_1.isVElement; | ||
exports.Num = util_1.Num; | ||
exports.equalsIgnoreCase = util_1.equalsIgnoreCase; | ||
var widgets_1 = require("./widgets"); | ||
@@ -87,2 +88,3 @@ exports.commandButton = widgets_1.commandButton; | ||
exports.i = html_1.i; | ||
exports.iframe = html_1.iframe; | ||
exports.img = html_1.img; | ||
@@ -89,0 +91,0 @@ exports.input = html_1.input; |
@@ -9,2 +9,3 @@ import 'reflect-metadata'; | ||
export declare function key(propertyAccess: () => any): string; | ||
export declare function equalsIgnoreCase(a: string, b: string): boolean; | ||
export declare function fuzzyEquals(x: any, y: any): boolean; | ||
@@ -11,0 +12,0 @@ export declare function literal(html: string): (element: Element) => void; |
@@ -9,5 +9,13 @@ "use strict"; | ||
function key(propertyAccess) { | ||
return ("" + propertyAccess).match(/\.(.*);/)[1]; | ||
return ("" + propertyAccess).match(/\.([a-zA-Z_$][0-9a-zA-Z_$]*)[^\.]*$/)[1]; | ||
} | ||
exports.key = key; | ||
function equalsIgnoreCase(a, b) { | ||
if (a == b) | ||
return true; | ||
if (a == null || b == null) | ||
return false; | ||
return a.toLowerCase() == b.toLowerCase(); | ||
} | ||
exports.equalsIgnoreCase = equalsIgnoreCase; | ||
function fuzzyEquals(x, y) { | ||
@@ -14,0 +22,0 @@ return (x == y || |
{ | ||
"name": "pickle-ts", | ||
"version": "0.6.0", | ||
"version": "0.7.0", | ||
"author": "pickle", | ||
@@ -5,0 +5,0 @@ "license": "MIT", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
109911
2840