@sedeh/extensible-json-transformations
Version:
Have you ever wanted to perform query on a JSON? Have you ever wanted to consume it in a program but the JSON was in a form not suitable for your program? Have you wanted to use the JSON without writing any code to do it? Have you wondered what it takes
56 lines • 6.25 kB
JavaScript
/*
* tool to display result of a search on set of points of interests on objects.
*/
import { Component, Input, Output, EventEmitter } from '@angular/core';
import { Styler } from './shared/transformations';
import * as i0 from "@angular/core";
export class XjsltComponent {
constructor() {
this.node = {};
this.ontransformation = new EventEmitter();
this.onerror = new EventEmitter();
}
ngOnInit() {
if (this.node && this.transformations) {
if (!this.styler) {
this.styler = new Styler(this.transformations);
}
this.styler.changeRootNode(this.node);
try {
this.ontransformation.emit(this.styler.transform());
}
catch (e) {
console.log(e);
this.onerror.emit(e);
}
}
}
ngOnChanges(chages) {
if (chages.transformations) {
this.styler = undefined;
setTimeout(this.ngOnInit.bind(this), 333);
}
else if (chages.node) {
setTimeout(this.ngOnInit.bind(this), 333);
}
}
}
XjsltComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: XjsltComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
XjsltComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: XjsltComponent, isStandalone: true, selector: "xjslt", inputs: { node: "node", transformations: "transformations" }, outputs: { ontransformation: "ontransformation", onerror: "onerror" }, usesOnChanges: true, ngImport: i0, template: ``, isInline: true });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: XjsltComponent, decorators: [{
type: Component,
args: [{ selector: 'xjslt', standalone: true, template: `` }]
}], propDecorators: { node: [{
type: Input,
args: ["node"]
}], transformations: [{
type: Input,
args: ["transformations"]
}], ontransformation: [{
type: Output,
args: ["ontransformation"]
}], onerror: [{
type: Output,
args: ["onerror"]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaWJsZS1qc29uLXRyYW5zZm9ybWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2libGUtanNvbi10cmFuc2Zvcm1hdGlvbnMvc3JjL2xpYi9leHRlbnNpYmxlLWpzb24tdHJhbnNmb3JtYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUNMLFNBQVMsRUFHVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFtQixNQUFNLDBCQUEwQixDQUFDOztBQVFuRSxNQUFNLE9BQU8sY0FBYztJQU4zQjtRQVdFLFNBQUksR0FBRyxFQUFFLENBQUM7UUFNVixxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3RDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBd0I5QjtJQXRCQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDckMsSUFBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDaEQ7WUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEMsSUFBSTtnQkFDRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQzthQUNyRDtZQUFDLE9BQU0sQ0FBQyxFQUFFO2dCQUNULE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdEI7U0FDRjtJQUNILENBQUM7SUFDRCxXQUFXLENBQUMsTUFBVztRQUNyQixJQUFJLE1BQU0sQ0FBQyxlQUFlLEVBQUU7WUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7WUFDeEIsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQzNDO2FBQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ3RCLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUMzQztJQUNILENBQUM7OzRHQXJDVSxjQUFjO2dHQUFkLGNBQWMsMk5BSGYsRUFBRTs0RkFHRCxjQUFjO2tCQU4xQixTQUFTOytCQUNFLE9BQU8sY0FDTCxJQUFJLFlBQ04sRUFBRTs4QkFRWixJQUFJO3NCQURILEtBQUs7dUJBQUMsTUFBTTtnQkFJYixlQUFlO3NCQURkLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUl4QixnQkFBZ0I7c0JBRGYsTUFBTTt1QkFBQyxrQkFBa0I7Z0JBSTFCLE9BQU87c0JBRE4sTUFBTTt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogdG9vbCB0byBkaXNwbGF5IHJlc3VsdCBvZiBhIHNlYXJjaCBvbiBzZXQgb2YgcG9pbnRzIG9mIGludGVyZXN0cyBvbiBvYmplY3RzLlxyXG4gKi9cclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN0eWxlciwgVHJhbnNmb3JtYXRpb25zIH0gZnJvbSAnLi9zaGFyZWQvdHJhbnNmb3JtYXRpb25zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAneGpzbHQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgdGVtcGxhdGU6IGBgLFxyXG4gIHN0eWxlczogW10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYanNsdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzICB7XHJcbiAgXHJcbiAgcHJpdmF0ZSBzdHlsZXIhOiBhbnk7XHJcblxyXG4gIEBJbnB1dChcIm5vZGVcIilcclxuICBub2RlID0ge307XHJcblxyXG4gIEBJbnB1dChcInRyYW5zZm9ybWF0aW9uc1wiKVxyXG4gIHRyYW5zZm9ybWF0aW9ucyE6IFRyYW5zZm9ybWF0aW9ucztcclxuXHJcbiAgQE91dHB1dChcIm9udHJhbnNmb3JtYXRpb25cIilcclxuICBvbnRyYW5zZm9ybWF0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KFwib25lcnJvclwiKVxyXG4gIG9uZXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMubm9kZSAmJiB0aGlzLnRyYW5zZm9ybWF0aW9ucykge1xyXG4gICAgICBpZighdGhpcy5zdHlsZXIpIHtcclxuICAgICAgICB0aGlzLnN0eWxlciA9IG5ldyBTdHlsZXIodGhpcy50cmFuc2Zvcm1hdGlvbnMpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3R5bGVyLmNoYW5nZVJvb3ROb2RlKHRoaXMubm9kZSk7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgdGhpcy5vbnRyYW5zZm9ybWF0aW9uLmVtaXQodGhpcy5zdHlsZXIudHJhbnNmb3JtKCkpO1xyXG4gICAgICB9IGNhdGNoKGUpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlKVxyXG4gICAgICAgIHRoaXMub25lcnJvci5lbWl0KGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKGNoYWdlczogYW55KSB7XHJcbiAgICBpZiAoY2hhZ2VzLnRyYW5zZm9ybWF0aW9ucykge1xyXG4gICAgICB0aGlzLnN0eWxlciA9IHVuZGVmaW5lZDtcclxuICAgICAgc2V0VGltZW91dCh0aGlzLm5nT25Jbml0LmJpbmQodGhpcyksIDMzMyk7XHJcbiAgICB9IGVsc2UgaWYgKGNoYWdlcy5ub2RlKSB7XHJcbiAgICAgIHNldFRpbWVvdXQodGhpcy5uZ09uSW5pdC5iaW5kKHRoaXMpLCAzMzMpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=