mirror of
https://github.com/marko-js/marko.git
synced 2025-12-08 19:26:05 +00:00
Use attr helper and handle attribute escaping Also improved AST and added walking capability
35 lines
669 B
JavaScript
35 lines
669 B
JavaScript
'use strict';
|
|
|
|
var Node = require('./Node');
|
|
|
|
class Property extends Node {
|
|
constructor(def) {
|
|
super('Property');
|
|
this.key = def.key;
|
|
this.value = def.value;
|
|
}
|
|
|
|
generateCode(codegen) {
|
|
var key = this.key;
|
|
var value = this.value;
|
|
|
|
codegen.generateCode(key);
|
|
codegen.write(': ');
|
|
codegen.generateCode(value);
|
|
}
|
|
|
|
toJSON() {
|
|
return {
|
|
type: 'Property',
|
|
key: this.key,
|
|
value: this.value
|
|
};
|
|
}
|
|
|
|
walk(walker) {
|
|
this.key = walker.walk(this.key);
|
|
this.value = walker.walk(this.value);
|
|
}
|
|
}
|
|
|
|
module.exports = Property; |