| 14 | AuraManager.prototype.Serialize = function() |
| 15 | { |
| 16 | var serializeMap = function(map) |
| 17 | { |
| 18 | var arr = [...map]; |
| 19 | for (let kv of arr) |
| 20 | if (kv[1].__proto__.constructor == Map) |
| 21 | kv[1] = serializeMap(kv[1]); |
| 22 | arr.isMap = true; |
| 23 | return arr; |
| 24 | } |
| 25 | return { |
| 26 | "modificationsCache": serializeMap(this.modificationsCache), |
| 27 | "modifications": serializeMap(this.modifications), |
| 28 | "templateModificationsCache": serializeMap(this.templateModificationsCache), |
| 29 | "templateModifications": serializeMap(this.templateModifications) |
| 30 | }; |
| 31 | }; |
| 32 | |
| 33 | AuraManager.prototype.Deserialize = function(data) |
| 34 | { |
| 35 | var deserializeMap = function(arr) |
| 36 | { |
| 37 | var map = new Map(arr); |
| 38 | for (let kv of map) |
| 39 | if (map.get(kv[0]) && map.get(kv[0]).isMap) |
| 40 | map.set(kv[0], deserializeMap(map.get(kv[0]))); |
| 41 | return map; |
| 42 | } |
| 43 | this.modificationsCache = deserializeMap(data.modificationsCache); |
| 44 | this.modifications = deserializeMap(data.modifications); |
| 45 | this.templateModificationsCache = deserializeMap(data.templateModificationsCache); |
| 46 | this.templateModifications = deserializeMap(data.templateModifications); |
| 47 | }; |
| 48 | |