@jsprismarine/nbt 0.13.1 → 0.13.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/package.json +10 -7
  3. package/dist/Allocation.cjs.cjs +0 -14
  4. package/dist/Allocation.d.ts +0 -7
  5. package/dist/Allocation.d.ts.map +0 -1
  6. package/dist/Allocation.es.js +0 -10
  7. package/dist/ByteOrder.cjs.cjs +0 -12
  8. package/dist/ByteOrder.d.ts +0 -5
  9. package/dist/ByteOrder.d.ts.map +0 -1
  10. package/dist/ByteOrder.es.js +0 -8
  11. package/dist/NBTDefinitions.cjs.cjs +0 -22
  12. package/dist/NBTDefinitions.d.ts +0 -15
  13. package/dist/NBTDefinitions.d.ts.map +0 -1
  14. package/dist/NBTDefinitions.es.js +0 -18
  15. package/dist/NBTReader.cjs.cjs +0 -163
  16. package/dist/NBTReader.d.ts +0 -12
  17. package/dist/NBTReader.d.ts.map +0 -1
  18. package/dist/NBTReader.es.js +0 -159
  19. package/dist/NBTStreamReader.cjs.cjs +0 -119
  20. package/dist/NBTStreamReader.d.ts +0 -31
  21. package/dist/NBTStreamReader.d.ts.map +0 -1
  22. package/dist/NBTStreamReader.es.js +0 -115
  23. package/dist/NBTTagCompound.cjs.cjs +0 -151
  24. package/dist/NBTTagCompound.d.ts +0 -29
  25. package/dist/NBTTagCompound.d.ts.map +0 -1
  26. package/dist/NBTTagCompound.es.js +0 -142
  27. package/dist/NBTWriter.cjs.cjs +0 -238
  28. package/dist/NBTWriter.d.ts +0 -26
  29. package/dist/NBTWriter.d.ts.map +0 -1
  30. package/dist/NBTWriter.es.js +0 -234
  31. package/dist/index.cjs.cjs +0 -22
  32. package/dist/index.d.ts +0 -9
  33. package/dist/index.d.ts.map +0 -1
  34. package/dist/index.es.js +0 -10
  35. package/dist/types/ByteVal.cjs.cjs +0 -16
  36. package/dist/types/ByteVal.d.ts +0 -6
  37. package/dist/types/ByteVal.d.ts.map +0 -1
  38. package/dist/types/ByteVal.es.js +0 -12
  39. package/dist/types/DoubleVal.cjs.cjs +0 -16
  40. package/dist/types/DoubleVal.d.ts +0 -6
  41. package/dist/types/DoubleVal.d.ts.map +0 -1
  42. package/dist/types/DoubleVal.es.js +0 -12
  43. package/dist/types/FloatVal.cjs.cjs +0 -16
  44. package/dist/types/FloatVal.d.ts +0 -6
  45. package/dist/types/FloatVal.d.ts.map +0 -1
  46. package/dist/types/FloatVal.es.js +0 -12
  47. package/dist/types/LongVal.cjs.cjs +0 -16
  48. package/dist/types/LongVal.d.ts +0 -6
  49. package/dist/types/LongVal.d.ts.map +0 -1
  50. package/dist/types/LongVal.es.js +0 -12
  51. package/dist/types/NumberVal.cjs.cjs +0 -16
  52. package/dist/types/NumberVal.d.ts +0 -6
  53. package/dist/types/NumberVal.d.ts.map +0 -1
  54. package/dist/types/NumberVal.es.js +0 -12
  55. package/dist/types/ShortVal.cjs.cjs +0 -16
  56. package/dist/types/ShortVal.d.ts +0 -6
  57. package/dist/types/ShortVal.d.ts.map +0 -1
  58. package/dist/types/ShortVal.es.js +0 -12
  59. package/dist/types/StringVal.cjs.cjs +0 -16
  60. package/dist/types/StringVal.d.ts +0 -6
  61. package/dist/types/StringVal.d.ts.map +0 -1
  62. package/dist/types/StringVal.es.js +0 -12
  63. package/dist/types/Types.cjs.cjs +0 -22
  64. package/dist/types/Types.d.ts +0 -9
  65. package/dist/types/Types.d.ts.map +0 -1
  66. package/dist/types/Types.es.js +0 -8
@@ -1,142 +0,0 @@
1
- import fs from 'node:fs';
2
- import BinaryStream from '@jsprismarine/jsbinaryutils';
3
- import NBTReader from './NBTReader.es.js';
4
- import NBTWriter from './NBTWriter.es.js';
5
- import ByteValue from './types/ByteVal.es.js';
6
- import DoubleValue from './types/DoubleVal.es.js';
7
- import FloatValue from './types/FloatVal.es.js';
8
- import LongValue from './types/LongVal.es.js';
9
- import NumberValue from './types/NumberVal.es.js';
10
- import ShortValue from './types/ShortVal.es.js';
11
- import StringValue from './types/StringVal.es.js';
12
-
13
- class NBTTagCompound {
14
- name;
15
- children = /* @__PURE__ */ new Map();
16
- static readFromFile(path, byteOrder) {
17
- return NBTTagCompound.readFromStream(new BinaryStream(fs.readFileSync(path)), byteOrder);
18
- }
19
- static readFromStream(input, byteOrder, varints = false) {
20
- const reader = new NBTReader(input, byteOrder);
21
- reader.setUseVarint(varints);
22
- return reader.parse();
23
- }
24
- constructor(name = null) {
25
- this.name = name;
26
- }
27
- setName(name) {
28
- this.name = name;
29
- }
30
- getName() {
31
- return this.name;
32
- }
33
- addValue(name, value) {
34
- if (value instanceof NBTTagCompound && name !== value.getName()) {
35
- throw new Error(`Failed to add NBTTagCompound with name ${value.getName()} given name ${name}`);
36
- }
37
- this.children.set(name, value);
38
- }
39
- addChild(tag) {
40
- this.children.set(tag.getName(), tag);
41
- }
42
- getList(name, insert) {
43
- if (this.children.has(name)) {
44
- return this.children.get(name);
45
- }
46
- if (insert) {
47
- const backingList = /* @__PURE__ */ new Set();
48
- this.addValue(name, backingList);
49
- return backingList;
50
- }
51
- return null;
52
- }
53
- getCompound(name, insert) {
54
- if (this.children.has(name)) {
55
- return this.children.get(name);
56
- }
57
- if (insert) {
58
- const compound = new NBTTagCompound();
59
- this.addValue(name, compound);
60
- return compound;
61
- }
62
- return null;
63
- }
64
- writeToStream(out, byteOrder, varints = false) {
65
- const writer = new NBTWriter(out, byteOrder);
66
- writer.setUseVarint(varints);
67
- writer.writeCompound(this);
68
- }
69
- getByte(name, defaultValue) {
70
- return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
71
- }
72
- getShort(name, defaultValue) {
73
- return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
74
- }
75
- getNumber(name, defaultValue) {
76
- return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
77
- }
78
- getLong(name, defaultValue) {
79
- return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
80
- }
81
- getFloat(name, defaultValue) {
82
- return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
83
- }
84
- getDouble(name, defaultValue) {
85
- return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
86
- }
87
- getString(name, defaultValue) {
88
- return this.children.has(name) ? this.children.get(name).getValue() : defaultValue;
89
- }
90
- remove(key) {
91
- return this.children.delete(key);
92
- }
93
- entries() {
94
- return this.children.entries();
95
- }
96
- has(key) {
97
- return this.children.has(key);
98
- }
99
- size() {
100
- return this.children.size;
101
- }
102
- // Thanks stackoverflow! https://stackoverflow.com/questions/35948335/how-can-i-check-if-two-map-objects-are-equal
103
- equals(that) {
104
- if (this.children.size !== that.children.size) {
105
- return false;
106
- }
107
- for (const [key, val] of this.children) {
108
- const testVal = that.children.get(key);
109
- if (testVal === void 0 && !that.children.has(key)) {
110
- return false;
111
- }
112
- if (val instanceof NBTTagCompound && testVal instanceof NBTTagCompound && !val.equals(testVal)) {
113
- return false;
114
- }
115
- if (val instanceof ByteValue && testVal instanceof ByteValue && val.getValue() !== testVal.getValue()) {
116
- return false;
117
- }
118
- if (val instanceof DoubleValue && testVal instanceof DoubleValue && val.getValue() !== testVal.getValue()) {
119
- return false;
120
- }
121
- if (val instanceof FloatValue && testVal instanceof FloatValue && val.getValue() !== testVal.getValue()) {
122
- return false;
123
- }
124
- if (val instanceof LongValue && testVal instanceof LongValue && val.getValue() !== testVal.getValue()) {
125
- return false;
126
- }
127
- if (val instanceof NumberValue && testVal instanceof NumberValue && val.getValue() !== testVal.getValue()) {
128
- return false;
129
- }
130
- if (val instanceof ShortValue && testVal instanceof ShortValue && val.getValue() !== testVal.getValue()) {
131
- return false;
132
- }
133
- if (val instanceof StringValue && testVal instanceof StringValue && val.getValue() !== testVal.getValue()) {
134
- return false;
135
- }
136
- }
137
- return true;
138
- }
139
- }
140
-
141
- export { NBTTagCompound as default };
142
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTkJUVGFnQ29tcG91bmQuZXMuanMiLCJzb3VyY2VzIjpbIi4uL3NyYy9OQlRUYWdDb21wb3VuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSAnbm9kZTpmcyc7XG5cbmltcG9ydCBCaW5hcnlTdHJlYW0gZnJvbSAnQGpzcHJpc21hcmluZS9qc2JpbmFyeXV0aWxzJztcbmltcG9ydCB0eXBlIHsgQnl0ZU9yZGVyIH0gZnJvbSAnLi9CeXRlT3JkZXInO1xuaW1wb3J0IE5CVFJlYWRlciBmcm9tICcuL05CVFJlYWRlcic7XG5pbXBvcnQgTkJUV3JpdGVyIGZyb20gJy4vTkJUV3JpdGVyJztcbmltcG9ydCBCeXRlVmFsIGZyb20gJy4vdHlwZXMvQnl0ZVZhbCc7XG5pbXBvcnQgRG91YmxlVmFsIGZyb20gJy4vdHlwZXMvRG91YmxlVmFsJztcbmltcG9ydCBGbG9hdFZhbCBmcm9tICcuL3R5cGVzL0Zsb2F0VmFsJztcbmltcG9ydCBMb25nVmFsIGZyb20gJy4vdHlwZXMvTG9uZ1ZhbCc7XG5pbXBvcnQgTnVtYmVyVmFsIGZyb20gJy4vdHlwZXMvTnVtYmVyVmFsJztcbmltcG9ydCBTaG9ydFZhbCBmcm9tICcuL3R5cGVzL1Nob3J0VmFsJztcbmltcG9ydCBTdHJpbmdWYWwgZnJvbSAnLi90eXBlcy9TdHJpbmdWYWwnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOQlRUYWdDb21wb3VuZCB7XG4gICAgcHJpdmF0ZSBuYW1lOiBzdHJpbmcgfCBudWxsO1xuICAgIHB1YmxpYyByZWFkb25seSBjaGlsZHJlbjogTWFwPHN0cmluZywgYW55PiA9IG5ldyBNYXAoKTtcblxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZEZyb21GaWxlKHBhdGg6IHN0cmluZywgYnl0ZU9yZGVyOiBCeXRlT3JkZXIpOiBOQlRUYWdDb21wb3VuZCB7XG4gICAgICAgIHJldHVybiBOQlRUYWdDb21wb3VuZC5yZWFkRnJvbVN0cmVhbShuZXcgQmluYXJ5U3RyZWFtKGZzLnJlYWRGaWxlU3luYyhwYXRoKSksIGJ5dGVPcmRlcik7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyByZWFkRnJvbVN0cmVhbShpbnB1dDogQmluYXJ5U3RyZWFtLCBieXRlT3JkZXI6IEJ5dGVPcmRlciwgdmFyaW50cyA9IGZhbHNlKTogTkJUVGFnQ29tcG91bmQge1xuICAgICAgICBjb25zdCByZWFkZXI6IE5CVFJlYWRlciA9IG5ldyBOQlRSZWFkZXIoaW5wdXQsIGJ5dGVPcmRlcik7XG4gICAgICAgIHJlYWRlci5zZXRVc2VWYXJpbnQodmFyaW50cyk7XG4gICAgICAgIHJldHVybiByZWFkZXIucGFyc2UoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IobmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGwpIHtcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0TmFtZShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkVmFsdWUobmFtZTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE5CVFRhZ0NvbXBvdW5kICYmIG5hbWUgIT09IHZhbHVlLmdldE5hbWUoKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gYWRkIE5CVFRhZ0NvbXBvdW5kIHdpdGggbmFtZSAke3ZhbHVlLmdldE5hbWUoKX0gZ2l2ZW4gbmFtZSAke25hbWV9YCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNoaWxkcmVuLnNldChuYW1lLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZENoaWxkKHRhZzogTkJUVGFnQ29tcG91bmQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGlsZHJlbi5zZXQodGFnLmdldE5hbWUoKSEsIHRhZyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldExpc3QobmFtZTogc3RyaW5nLCBpbnNlcnQ6IGJvb2xlYW4pOiBTZXQ8YW55PiB8IG51bGwge1xuICAgICAgICBpZiAodGhpcy5jaGlsZHJlbi5oYXMobmFtZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuLmdldChuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpbnNlcnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGJhY2tpbmdMaXN0OiBTZXQ8YW55PiA9IG5ldyBTZXQoKTtcbiAgICAgICAgICAgIHRoaXMuYWRkVmFsdWUobmFtZSwgYmFja2luZ0xpc3QpO1xuICAgICAgICAgICAgcmV0dXJuIGJhY2tpbmdMaXN0O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldENvbXBvdW5kKG5hbWU6IHN0cmluZywgaW5zZXJ0OiBib29sZWFuKTogTkJUVGFnQ29tcG91bmQgfCBudWxsIHtcbiAgICAgICAgaWYgKHRoaXMuY2hpbGRyZW4uaGFzKG5hbWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jaGlsZHJlbi5nZXQobmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaW5zZXJ0KSB7XG4gICAgICAgICAgICBjb25zdCBjb21wb3VuZDogTkJUVGFnQ29tcG91bmQgPSBuZXcgTkJUVGFnQ29tcG91bmQoKTtcbiAgICAgICAgICAgIHRoaXMuYWRkVmFsdWUobmFtZSwgY29tcG91bmQpO1xuICAgICAgICAgICAgcmV0dXJuIGNvbXBvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIHdyaXRlVG9TdHJlYW0ob3V0OiBCaW5hcnlTdHJlYW0sIGJ5dGVPcmRlcjogQnl0ZU9yZGVyLCB2YXJpbnRzID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgd3JpdGVyOiBOQlRXcml0ZXIgPSBuZXcgTkJUV3JpdGVyKG91dCwgYnl0ZU9yZGVyKTtcbiAgICAgICAgd3JpdGVyLnNldFVzZVZhcmludCh2YXJpbnRzKTtcbiAgICAgICAgd3JpdGVyLndyaXRlQ29tcG91bmQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEJ5dGUobmFtZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuLmhhcyhuYW1lKSA/ICh0aGlzLmNoaWxkcmVuLmdldChuYW1lKSBhcyBCeXRlVmFsKS5nZXRWYWx1ZSgpIDogZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTaG9ydChuYW1lOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hpbGRyZW4uaGFzKG5hbWUpID8gKHRoaXMuY2hpbGRyZW4uZ2V0KG5hbWUpIGFzIFNob3J0VmFsKS5nZXRWYWx1ZSgpIDogZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXROdW1iZXIobmFtZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuLmhhcyhuYW1lKSA/ICh0aGlzLmNoaWxkcmVuLmdldChuYW1lKSBhcyBOdW1iZXJWYWwpLmdldFZhbHVlKCkgOiBkZWZhdWx0VmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldExvbmcobmFtZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IGJpZ2ludCk6IGJpZ2ludCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuLmhhcyhuYW1lKSA/ICh0aGlzLmNoaWxkcmVuLmdldChuYW1lKSBhcyBMb25nVmFsKS5nZXRWYWx1ZSgpIDogZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRGbG9hdChuYW1lOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hpbGRyZW4uaGFzKG5hbWUpID8gKHRoaXMuY2hpbGRyZW4uZ2V0KG5hbWUpIGFzIEZsb2F0VmFsKS5nZXRWYWx1ZSgpIDogZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXREb3VibGUobmFtZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuLmhhcyhuYW1lKSA/ICh0aGlzLmNoaWxkcmVuLmdldChuYW1lKSBhcyBEb3VibGVWYWwpLmdldFZhbHVlKCkgOiBkZWZhdWx0VmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFN0cmluZyhuYW1lOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hpbGRyZW4uaGFzKG5hbWUpID8gKHRoaXMuY2hpbGRyZW4uZ2V0KG5hbWUpIGFzIFN0cmluZ1ZhbCkuZ2V0VmFsdWUoKSA6IGRlZmF1bHRWYWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuLmRlbGV0ZShrZXkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBlbnRyaWVzKCk6IEl0ZXJhYmxlSXRlcmF0b3I8W3N0cmluZywgYW55XT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGlsZHJlbi5lbnRyaWVzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGhhcyhrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGlsZHJlbi5oYXMoa2V5KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2l6ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGlsZHJlbi5zaXplO1xuICAgIH1cblxuICAgIC8vIFRoYW5rcyBzdGFja292ZXJmbG93ISBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNTk0ODMzNS9ob3ctY2FuLWktY2hlY2staWYtdHdvLW1hcC1vYmplY3RzLWFyZS1lcXVhbFxuICAgIHB1YmxpYyBlcXVhbHModGhhdDogTkJUVGFnQ29tcG91bmQpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuY2hpbGRyZW4uc2l6ZSAhPT0gdGhhdC5jaGlsZHJlbi5zaXplKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbF0gb2YgdGhpcy5jaGlsZHJlbikge1xuICAgICAgICAgICAgY29uc3QgdGVzdFZhbCA9IHRoYXQuY2hpbGRyZW4uZ2V0KGtleSk7XG5cbiAgICAgICAgICAgIGlmICh0ZXN0VmFsID09PSB1bmRlZmluZWQgJiYgIXRoYXQuY2hpbGRyZW4uaGFzKGtleSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBOQlRUYWdDb21wb3VuZCAmJiB0ZXN0VmFsIGluc3RhbmNlb2YgTkJUVGFnQ29tcG91bmQgJiYgIXZhbC5lcXVhbHModGVzdFZhbCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBCeXRlVmFsICYmIHRlc3RWYWwgaW5zdGFuY2VvZiBCeXRlVmFsICYmIHZhbC5nZXRWYWx1ZSgpICE9PSB0ZXN0VmFsLmdldFZhbHVlKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBEb3VibGVWYWwgJiYgdGVzdFZhbCBpbnN0YW5jZW9mIERvdWJsZVZhbCAmJiB2YWwuZ2V0VmFsdWUoKSAhPT0gdGVzdFZhbC5nZXRWYWx1ZSgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodmFsIGluc3RhbmNlb2YgRmxvYXRWYWwgJiYgdGVzdFZhbCBpbnN0YW5jZW9mIEZsb2F0VmFsICYmIHZhbC5nZXRWYWx1ZSgpICE9PSB0ZXN0VmFsLmdldFZhbHVlKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBMb25nVmFsICYmIHRlc3RWYWwgaW5zdGFuY2VvZiBMb25nVmFsICYmIHZhbC5nZXRWYWx1ZSgpICE9PSB0ZXN0VmFsLmdldFZhbHVlKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBOdW1iZXJWYWwgJiYgdGVzdFZhbCBpbnN0YW5jZW9mIE51bWJlclZhbCAmJiB2YWwuZ2V0VmFsdWUoKSAhPT0gdGVzdFZhbC5nZXRWYWx1ZSgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodmFsIGluc3RhbmNlb2YgU2hvcnRWYWwgJiYgdGVzdFZhbCBpbnN0YW5jZW9mIFNob3J0VmFsICYmIHZhbC5nZXRWYWx1ZSgpICE9PSB0ZXN0VmFsLmdldFZhbHVlKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBTdHJpbmdWYWwgJiYgdGVzdFZhbCBpbnN0YW5jZW9mIFN0cmluZ1ZhbCAmJiB2YWwuZ2V0VmFsdWUoKSAhPT0gdGVzdFZhbC5nZXRWYWx1ZSgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbIkJ5dGVWYWwiLCJEb3VibGVWYWwiLCJGbG9hdFZhbCIsIkxvbmdWYWwiLCJOdW1iZXJWYWwiLCJTaG9ydFZhbCIsIlN0cmluZ1ZhbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBY0EsTUFBcUIsY0FBZSxDQUFBO0FBQUEsRUFDeEIsSUFBQTtBQUFBLEVBQ1EsUUFBQSx1QkFBaUMsR0FBSSxFQUFBO0FBQUEsRUFFckQsT0FBYyxZQUFhLENBQUEsSUFBQSxFQUFjLFNBQXNDLEVBQUE7QUFDM0UsSUFBTyxPQUFBLGNBQUEsQ0FBZSxlQUFlLElBQUksWUFBQSxDQUFhLEdBQUcsWUFBYSxDQUFBLElBQUksQ0FBQyxDQUFBLEVBQUcsU0FBUyxDQUFBO0FBQUE7QUFDM0YsRUFFQSxPQUFjLGNBQUEsQ0FBZSxLQUFxQixFQUFBLFNBQUEsRUFBc0IsVUFBVSxLQUF1QixFQUFBO0FBQ3JHLElBQUEsTUFBTSxNQUFvQixHQUFBLElBQUksU0FBVSxDQUFBLEtBQUEsRUFBTyxTQUFTLENBQUE7QUFDeEQsSUFBQSxNQUFBLENBQU8sYUFBYSxPQUFPLENBQUE7QUFDM0IsSUFBQSxPQUFPLE9BQU8sS0FBTSxFQUFBO0FBQUE7QUFDeEIsRUFFTyxXQUFBLENBQVksT0FBc0IsSUFBTSxFQUFBO0FBQzNDLElBQUEsSUFBQSxDQUFLLElBQU8sR0FBQSxJQUFBO0FBQUE7QUFDaEIsRUFFTyxRQUFRLElBQW9CLEVBQUE7QUFDL0IsSUFBQSxJQUFBLENBQUssSUFBTyxHQUFBLElBQUE7QUFBQTtBQUNoQixFQUVPLE9BQXlCLEdBQUE7QUFDNUIsSUFBQSxPQUFPLElBQUssQ0FBQSxJQUFBO0FBQUE7QUFDaEIsRUFFTyxRQUFBLENBQVMsTUFBYyxLQUFrQixFQUFBO0FBQzVDLElBQUEsSUFBSSxLQUFpQixZQUFBLGNBQUEsSUFBa0IsSUFBUyxLQUFBLEtBQUEsQ0FBTSxTQUFXLEVBQUE7QUFDN0QsTUFBTSxNQUFBLElBQUks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
@@ -1,238 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
-
5
- const ByteOrder = require('./ByteOrder.cjs.cjs');
6
- const types_ByteVal = require('./types/ByteVal.cjs.cjs');
7
- const types_DoubleVal = require('./types/DoubleVal.cjs.cjs');
8
- const types_FloatVal = require('./types/FloatVal.cjs.cjs');
9
- const types_LongVal = require('./types/LongVal.cjs.cjs');
10
- const NBTDefinitions = require('./NBTDefinitions.cjs.cjs');
11
- const NBTTagCompound = require('./NBTTagCompound.cjs.cjs');
12
- const types_NumberVal = require('./types/NumberVal.cjs.cjs');
13
- const types_ShortVal = require('./types/ShortVal.cjs.cjs');
14
- const types_StringVal = require('./types/StringVal.cjs.cjs');
15
-
16
- class NBTWriter {
17
- order;
18
- buf;
19
- useVarint = false;
20
- constructor(out, byteOrder) {
21
- this.buf = out;
22
- this.order = byteOrder;
23
- }
24
- setUseVarint(useVarint) {
25
- this.useVarint = useVarint;
26
- }
27
- writeList(list) {
28
- this.writeTagHeader(NBTDefinitions.NBTDefinitions.TAG_LIST, "");
29
- this.writeListValue(list);
30
- }
31
- writeCompound(compound) {
32
- this.writeTagHeader(NBTDefinitions.NBTDefinitions.TAG_COMPOUND, compound.getName() ?? "");
33
- this.writeCompoundValue(compound);
34
- }
35
- writeTagHeader(type, name) {
36
- this.writeByteValue(type);
37
- this.writeStringValue(name);
38
- }
39
- writeStringValue(value) {
40
- if (value !== null) {
41
- const bytes = Buffer.from(value, "utf8");
42
- if (this.useVarint) {
43
- this.buf.writeUnsignedVarInt(Buffer.byteLength(value));
44
- } else {
45
- this.writeShortValue(Buffer.byteLength(value));
46
- }
47
- this.buf.write(bytes);
48
- } else if (this.useVarint) {
49
- this.writeByteValue(0);
50
- } else {
51
- this.writeShortValue(0);
52
- }
53
- }
54
- writeByteValue(value) {
55
- this.buf.writeByte(value);
56
- }
57
- writeShortValue(value) {
58
- if (this.order === ByteOrder.ByteOrder.LITTLE_ENDIAN) {
59
- this.buf.writeUnsignedShortLE(value);
60
- } else {
61
- this.buf.writeUnsignedShort(value);
62
- }
63
- }
64
- writeIntegerValue(value) {
65
- if (this.useVarint) {
66
- this.buf.writeVarInt(value);
67
- } else if (this.order === ByteOrder.ByteOrder.LITTLE_ENDIAN) {
68
- this.buf.writeUnsignedIntLE(value);
69
- } else {
70
- this.buf.writeUnsignedInt(value);
71
- }
72
- }
73
- writeLongValue(value) {
74
- if (this.useVarint) {
75
- this.buf.writeVarLong(value);
76
- } else if (this.order === ByteOrder.ByteOrder.LITTLE_ENDIAN) {
77
- this.buf.writeUnsignedLongLE(value);
78
- } else {
79
- this.buf.writeUnsignedLong(value);
80
- }
81
- }
82
- writeFloatValue(value) {
83
- if (this.order === ByteOrder.ByteOrder.LITTLE_ENDIAN) {
84
- this.buf.writeFloatLE(value);
85
- } else {
86
- this.buf.writeFloat(value);
87
- }
88
- }
89
- writeDoubleValue(value) {
90
- if (this.order === ByteOrder.ByteOrder.LITTLE_ENDIAN) {
91
- this.buf.writeDoubleLE(value);
92
- } else {
93
- this.buf.writeDouble(value);
94
- }
95
- }
96
- writeByteArrayValue(value) {
97
- this.writeIntegerValue(value.length);
98
- this.buf.write(value);
99
- }
100
- writeIntegerArrayValue(value) {
101
- this.writeIntegerValue(value.length);
102
- value.forEach((v) => {
103
- this.writeIntegerValue(v);
104
- });
105
- }
106
- writeListValue(value) {
107
- if (value.size > 0) {
108
- const listNbtType = this.getNBTTypeFromValue(value.entries().next().value);
109
- this.writeByteValue(listNbtType);
110
- this.writeIntegerValue(value.size);
111
- for (const rawValue of value) {
112
- switch (listNbtType) {
113
- case NBTDefinitions.NBTDefinitions.TAG_BYTE:
114
- this.writeByteValue(rawValue.getValue());
115
- break;
116
- case NBTDefinitions.NBTDefinitions.TAG_SHORT:
117
- this.writeShortValue(rawValue.getValue());
118
- break;
119
- case NBTDefinitions.NBTDefinitions.TAG_INT:
120
- this.writeIntegerValue(rawValue.getValue());
121
- break;
122
- case NBTDefinitions.NBTDefinitions.TAG_LONG:
123
- this.writeLongValue(rawValue.getValue());
124
- break;
125
- case NBTDefinitions.NBTDefinitions.TAG_FLOAT:
126
- this.writeFloatValue(rawValue.getValue());
127
- break;
128
- case NBTDefinitions.NBTDefinitions.TAG_DOUBLE:
129
- this.writeDoubleValue(rawValue.getValue());
130
- break;
131
- case NBTDefinitions.NBTDefinitions.TAG_BYTE_ARRAY:
132
- this.writeDoubleValue(rawValue);
133
- break;
134
- case NBTDefinitions.NBTDefinitions.TAG_STRING:
135
- this.writeStringValue(rawValue.getValue());
136
- break;
137
- case NBTDefinitions.NBTDefinitions.TAG_LIST:
138
- this.writeListValue(rawValue);
139
- break;
140
- case NBTDefinitions.NBTDefinitions.TAG_COMPOUND:
141
- this.writeCompoundValue(rawValue);
142
- break;
143
- case NBTDefinitions.NBTDefinitions.TAG_INT_ARRAY:
144
- this.writeIntegerArrayValue(rawValue);
145
- break;
146
- default:
147
- throw new Error("Invalid NBTTagType");
148
- }
149
- }
150
- } else {
151
- this.writeByteValue(NBTDefinitions.NBTDefinitions.TAG_BYTE);
152
- this.writeIntegerValue(0);
153
- }
154
- }
155
- writeCompoundValue(compound) {
156
- for (const [key, value] of compound.entries()) {
157
- const nbtType = this.getNBTTypeFromValue(value);
158
- this.writeTagHeader(nbtType, key);
159
- switch (nbtType) {
160
- case NBTDefinitions.NBTDefinitions.TAG_BYTE:
161
- this.writeByteValue(value.getValue());
162
- break;
163
- case NBTDefinitions.NBTDefinitions.TAG_SHORT:
164
- this.writeShortValue(value.getValue());
165
- break;
166
- case NBTDefinitions.NBTDefinitions.TAG_INT:
167
- this.writeIntegerValue(value.getValue());
168
- break;
169
- case NBTDefinitions.NBTDefinitions.TAG_LONG:
170
- this.writeLongValue(value.getValue());
171
- break;
172
- case NBTDefinitions.NBTDefinitions.TAG_FLOAT:
173
- this.writeFloatValue(value.getValue());
174
- break;
175
- case NBTDefinitions.NBTDefinitions.TAG_DOUBLE:
176
- this.writeDoubleValue(value.getValue());
177
- break;
178
- case NBTDefinitions.NBTDefinitions.TAG_BYTE_ARRAY:
179
- this.writeByteArrayValue(value);
180
- break;
181
- case NBTDefinitions.NBTDefinitions.TAG_STRING:
182
- this.writeStringValue(value.getValue());
183
- break;
184
- case NBTDefinitions.NBTDefinitions.TAG_LIST:
185
- this.writeListValue(value);
186
- break;
187
- case NBTDefinitions.NBTDefinitions.TAG_COMPOUND:
188
- this.writeCompoundValue(value);
189
- break;
190
- case NBTDefinitions.NBTDefinitions.TAG_INT_ARRAY:
191
- this.writeIntegerValue(value);
192
- break;
193
- default:
194
- throw new Error("Invalid NBTTagType");
195
- }
196
- }
197
- this.writeByteValue(NBTDefinitions.NBTDefinitions.TAG_END);
198
- }
199
- getNBTTypeFromValue(value) {
200
- if (value instanceof types_ByteVal.default) {
201
- return NBTDefinitions.NBTDefinitions.TAG_BYTE;
202
- }
203
- if (value instanceof types_ShortVal.default) {
204
- return NBTDefinitions.NBTDefinitions.TAG_SHORT;
205
- }
206
- if (value instanceof types_NumberVal.default) {
207
- return NBTDefinitions.NBTDefinitions.TAG_INT;
208
- }
209
- if (value instanceof types_LongVal.default) {
210
- return NBTDefinitions.NBTDefinitions.TAG_LONG;
211
- }
212
- if (value instanceof types_FloatVal.default) {
213
- return NBTDefinitions.NBTDefinitions.TAG_FLOAT;
214
- }
215
- if (value instanceof types_DoubleVal.default) {
216
- return NBTDefinitions.NBTDefinitions.TAG_DOUBLE;
217
- }
218
- if (value instanceof Buffer) {
219
- return NBTDefinitions.NBTDefinitions.TAG_BYTE_ARRAY;
220
- }
221
- if (value instanceof types_StringVal.default) {
222
- return NBTDefinitions.NBTDefinitions.TAG_STRING;
223
- }
224
- if (value instanceof Set) {
225
- return NBTDefinitions.NBTDefinitions.TAG_LIST;
226
- }
227
- if (value instanceof NBTTagCompound.default) {
228
- return NBTDefinitions.NBTDefinitions.TAG_COMPOUND;
229
- }
230
- if (Array.isArray(value)) {
231
- return NBTDefinitions.NBTDefinitions.TAG_INT_ARRAY;
232
- }
233
- throw new TypeError(`Invalid NBT Data: Cannot deduce NBT type of class ${value.constructor.name} (${value})`);
234
- }
235
- }
236
-
237
- exports.default = NBTWriter;
238
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTkJUV3JpdGVyLmNqcy5janMiLCJzb3VyY2VzIjpbIi4uL3NyYy9OQlRXcml0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgQmluYXJ5U3RyZWFtIGZyb20gJ0Bqc3ByaXNtYXJpbmUvanNiaW5hcnl1dGlscyc7XG5pbXBvcnQgeyBCeXRlT3JkZXIgfSBmcm9tICcuL0J5dGVPcmRlcic7XG5pbXBvcnQgQnl0ZVZhbCBmcm9tICcuL3R5cGVzL0J5dGVWYWwnO1xuaW1wb3J0IERvdWJsZVZhbCBmcm9tICcuL3R5cGVzL0RvdWJsZVZhbCc7XG5pbXBvcnQgRmxvYXRWYWwgZnJvbSAnLi90eXBlcy9GbG9hdFZhbCc7XG5pbXBvcnQgTG9uZ1ZhbCBmcm9tICcuL3R5cGVzL0xvbmdWYWwnO1xuaW1wb3J0IHsgTkJURGVmaW5pdGlvbnMgfSBmcm9tICcuL05CVERlZmluaXRpb25zJztcbmltcG9ydCBOQlRUYWdDb21wb3VuZCBmcm9tICcuL05CVFRhZ0NvbXBvdW5kJztcbmltcG9ydCBOdW1iZXJWYWwgZnJvbSAnLi90eXBlcy9OdW1iZXJWYWwnO1xuaW1wb3J0IFNob3J0VmFsIGZyb20gJy4vdHlwZXMvU2hvcnRWYWwnO1xuaW1wb3J0IFN0cmluZ1ZhbCBmcm9tICcuL3R5cGVzL1N0cmluZ1ZhbCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5CVFdyaXRlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvcmRlcjogQnl0ZU9yZGVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYnVmOiBCaW5hcnlTdHJlYW07XG5cbiAgICBwcml2YXRlIHVzZVZhcmludCA9IGZhbHNlO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKG91dDogQmluYXJ5U3RyZWFtLCBieXRlT3JkZXI6IEJ5dGVPcmRlcikge1xuICAgICAgICB0aGlzLmJ1ZiA9IG91dDtcbiAgICAgICAgdGhpcy5vcmRlciA9IGJ5dGVPcmRlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0VXNlVmFyaW50KHVzZVZhcmludDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVzZVZhcmludCA9IHVzZVZhcmludDtcbiAgICB9XG5cbiAgICBwdWJsaWMgd3JpdGVMaXN0KGxpc3Q6IFNldDxhbnk+KTogdm9pZCB7XG4gICAgICAgIHRoaXMud3JpdGVUYWdIZWFkZXIoTkJURGVmaW5pdGlvbnMuVEFHX0xJU1QsICcnKTtcbiAgICAgICAgdGhpcy53cml0ZUxpc3RWYWx1ZShsaXN0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgd3JpdGVDb21wb3VuZChjb21wb3VuZDogTkJUVGFnQ29tcG91bmQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53cml0ZVRhZ0hlYWRlcihOQlREZWZpbml0aW9ucy5UQUdfQ09NUE9VTkQsIGNvbXBvdW5kLmdldE5hbWUoKSA/PyAnJyk7XG4gICAgICAgIHRoaXMud3JpdGVDb21wb3VuZFZhbHVlKGNvbXBvdW5kKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHdyaXRlVGFnSGVhZGVyKHR5cGU6IG51bWJlciwgbmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMud3JpdGVCeXRlVmFsdWUodHlwZSk7XG4gICAgICAgIHRoaXMud3JpdGVTdHJpbmdWYWx1ZShuYW1lKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHdyaXRlU3RyaW5nVmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCBieXRlcyA9IEJ1ZmZlci5mcm9tKHZhbHVlLCAndXRmOCcpO1xuICAgICAgICAgICAgaWYgKHRoaXMudXNlVmFyaW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5idWYud3JpdGVVbnNpZ25lZFZhckludChCdWZmZXIuYnl0ZUxlbmd0aCh2YWx1ZSkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLndyaXRlU2hvcnRWYWx1ZShCdWZmZXIuYnl0ZUxlbmd0aCh2YWx1ZSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmJ1Zi53cml0ZShieXRlcyk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy51c2VWYXJpbnQpIHtcbiAgICAgICAgICAgIHRoaXMud3JpdGVCeXRlVmFsdWUoMCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLndyaXRlU2hvcnRWYWx1ZSgwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyB3cml0ZUJ5dGVWYWx1ZSh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYnVmLndyaXRlQnl0ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHdyaXRlU2hvcnRWYWx1ZSh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm9yZGVyID09PSBCeXRlT3JkZXIuTElUVExFX0VORElBTikge1xuICAgICAgICAgICAgdGhpcy5idWYud3JpdGVVbnNpZ25lZFNob3J0TEUodmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5idWYud3JpdGVVbnNpZ25lZFNob3J0KHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgd3JpdGVJbnRlZ2VyVmFsdWUodmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy51c2VWYXJpbnQpIHtcbiAgICAgICAgICAgIHRoaXMuYnVmLndyaXRlVmFySW50KHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm9yZGVyID09PSBCeXRlT3JkZXIuTElUVExFX0VORElBTikge1xuICAgICAgICAgICAgdGhpcy5idWYud3JpdGVVbnNpZ25lZEludExFKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYnVmLndyaXRlVW5zaWduZWRJbnQodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3cml0ZUxvbmdWYWx1ZSh2YWx1ZTogYmlnaW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnVzZVZhcmludCkge1xuICAgICAgICAgICAgdGhpcy5idWYud3JpdGVWYXJMb25nKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm9yZGVyID09PSBCeXRlT3JkZXIuTElUVExFX0VORElBTikge1xuICAgICAgICAgICAgdGhpcy5idWYud3JpdGVVbnNpZ25lZExvbmdMRSh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmJ1Zi53cml0ZVVuc2lnbmVkTG9uZyh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHdyaXRlRmxvYXRWYWx1ZSh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm9yZGVyID09PSBCeXRlT3JkZXIuTElUVExFX0VORElBTikge1xuICAgICAgICAgICAgdGhpcy5idWYud3JpdGVGbG9hdExFKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYnVmLndyaXRlRmxvYXQodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3cml0ZURvdWJsZVZhbHVlKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMub3JkZXIgPT09IEJ5dGVPcmRlci5MSVRUTEVfRU5ESUFOKSB7XG4gICAgICAgICAgICB0aGlzLmJ1Zi53cml0ZURvdWJsZUxFKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYnVmLndyaXRlRG91YmxlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgd3JpdGVCeXRlQXJyYXlWYWx1ZSh2YWx1ZTogQnVmZmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMud3JpdGVJbnRlZ2VyVmFsdWUodmFsdWUubGVuZ3RoKTtcbiAgICAgICAgdGhpcy5idWYud3JpdGUodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgd3JpdGVJbnRlZ2VyQXJyYXlWYWx1ZSh2YWx1ZTogbnVtYmVyW10pIHtcbiAgICAgICAgdGhpcy53cml0ZUludGVnZXJWYWx1ZSh2YWx1ZS5sZW5ndGgpO1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKCh2KSA9PiB7XG4gICAgICAgICAgICB0aGlzLndyaXRlSW50ZWdlclZhbHVlKHYpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHdyaXRlTGlzdFZhbHVlKHZhbHVlOiBTZXQ8YW55Pik6IHZvaWQge1xuICAgICAgICBpZiAodmFsdWUuc2l6ZSA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGxpc3ROYnRUeXBlID0gdGhpcy5nZXROQlRUeXBlRnJvbVZhbHVlKHZhbHVlLmVudHJpZXMoKS5uZXh0KCkudmFsdWUpO1xuICAgICAgICAgICAgdGhpcy53cml0ZUJ5dGVWYWx1ZShsaXN0TmJ0VHlwZSk7XG4gICAgICAgICAgICB0aGlzLndyaXRlSW50ZWdlclZhbHVlKHZhbHVlLnNpemUpO1xuICAgICAgICAgICAgZm9yIChjb25zdCByYXdWYWx1ZSBvZiB2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAobGlzdE5idFR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBOQlREZWZpbml0aW9ucy5UQUdfQllURTpcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMud3JpdGVCeXRlVmFsdWUocmF3VmFsdWUuZ2V0VmFsdWUoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBOQlREZWZpbml0aW9ucy5UQUdfU0hPUlQ6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlU2hvcnRWYWx1ZShyYXdWYWx1ZS5nZXRWYWx1ZSgpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIE5CVERlZmluaXRpb25zLlRBR19JTlQ6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlSW50ZWdlclZhbHVlKHJhd1ZhbHVlLmdldFZhbHVlKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgTkJURGVmaW5pdGlvbnMuVEFHX0xPTkc6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlTG9uZ1ZhbHVlKHJhd1ZhbHVlLmdldFZhbHVlKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgTkJURGVmaW5pdGlvbnMuVEFHX0ZMT0FUOlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy53cml0ZUZsb2F0VmFsdWUocmF3VmFsdWUuZ2V0VmFsdWUoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBOQlREZWZpbml0aW9ucy5UQUdfRE9VQkxFOlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy53cml0ZURvdWJsZVZhbHVlKHJhd1ZhbHVlLmdldFZhbHVlKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgTkJURGVmaW5pdGlvbnMuVEFHX0JZVEVfQVJSQVk6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlRG91YmxlVmFsdWUocmF3VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgTkJURGVmaW5pdGlvbnMuVEFHX1NUUklORzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMud3JpdGVTdHJpbmdWYWx1ZShyYXdWYWx1ZS5nZXRWYWx1ZSgpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIE5CVERlZmluaXRpb25zLlRBR19MSVNUOlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy53cml0ZUxpc3RWYWx1ZShyYXdWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBOQlREZWZpbml0aW9ucy5UQUdfQ09NUE9VTkQ6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlQ29tcG91bmRWYWx1ZShyYXdWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBOQlREZWZpbml0aW9ucy5UQUdfSU5UX0FSUkFZOlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy53cml0ZUludGVnZXJBcnJheVZhbHVlKHJhd1ZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIE5CVFRhZ1R5cGUnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLndyaXRlQnl0ZVZhbHVlKE5CVERlZmluaXRpb25zLlRBR19CWVRFKTtcbiAgICAgICAgICAgIHRoaXMud3JpdGVJbnRlZ2VyVmFsdWUoMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHdyaXRlQ29tcG91bmRWYWx1ZShjb21wb3VuZDogTkJUVGFnQ29tcG91bmQpOiB2b2lkIHtcbiAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgY29tcG91bmQuZW50cmllcygpKSB7XG4gICAgICAgICAgICBjb25zdCBuYnRUeXBlID0gdGhpcy5nZXROQlRUeXBlRnJvbVZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMud3JpdGVUYWdIZWFkZXIobmJ0VHlwZSwga2V5KTtcbiAgICAgICAgICAgIHN3aXRjaCAobmJ0VHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgTkJURGVmaW5pdGlvbnMuVEFHX0JZVEU6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMud3JpdGVCeXRlVmFsdWUodmFsdWUuZ2V0VmFsdWUoKSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgTkJURGVmaW5pdGlvbnMuVEFHX1NIT1JUOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlU2hvcnRWYWx1ZSh2YWx1ZS5nZXRWYWx1ZSgpKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBOQlREZWZpbml0aW9ucy5UQUdfSU5UOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlSW50ZWdlclZhbHVlKHZhbHVlLmdldFZhbHVlKCkpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIE5CVERlZmluaXRpb25zLlRBR19MT05HOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlTG9uZ1ZhbHVlKHZhbHVlLmdldFZhbHVlKCkpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIE5CVERlZmluaXRpb25zLlRBR19GTE9BVDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53cml0ZUZsb2F0VmFsdWUodmFsdWUuZ2V0VmFsdWUoKSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgTkJURGVmaW5pdGlvbnMuVEFHX0RPVUJMRTpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53cml0ZURvdWJsZVZhbHVlKHZhbHVlLmdldFZhbHVlKCkpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIE5CVERlZmluaXRpb25zLlRBR19CWVRFX0FSUkFZOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlQnl0ZUFycmF5VmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIE5CVERlZmluaXRpb25zLlRBR19TVFJJTkc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMud3JpdGVTdHJpbmdWYWx1ZSh2YWx1ZS5nZXRWYWx1ZSgpKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBOQlREZWZpbml0aW9ucy5UQUdfTElTVDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53cml0ZUxpc3RWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgTkJURGVmaW5pdGlvbnMuVEFHX0NPTVBPVU5EOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlQ29tcG91bmRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgTkJURGVmaW5pdGlvbnMuVEFHX0lOVF9BUlJBWTpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53cml0ZUludGVnZXJWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBOQlRUYWdUeXBlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLndyaXRlQnl0ZVZhbHVlKE5CVERlZmluaXRpb25zLlRBR19FTkQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TkJUVHlwZUZyb21WYWx1ZSh2YWx1ZTogYW55KTogTkJURGVmaW5pdGlvbnMge1xuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBCeXRlVmFsKSB7XG4gICAgICAgICAgICByZXR1cm4gTkJURGVmaW5pdGlvbnMuVEFHX0JZVEU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgU2hvcnRWYWwpIHtcbiAgICAgICAgICAgIHJldHVybiBOQlREZWZpbml0aW9ucy5UQUdfU0hPUlQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgTnVtYmVyVmFsKSB7XG4gICAgICAgICAgICByZXR1cm4gTkJURGVmaW5pdGlvbnMuVEFHX0lOVDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBMb25nVmFsKSB7XG4gICAgICAgICAgICByZXR1cm4gTkJURGVmaW5pdGlvbnMuVEFHX0xPTkc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRmxvYXRWYWwpIHtcbiAgICAgICAgICAgIHJldHVybiBOQlREZWZpbml0aW9ucy5UQUdfRkxPQVQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRG91YmxlVmFsKSB7XG4gICAgICAgICAgICByZXR1cm4gTkJURGVmaW5pdGlvbnMuVEFHX0RPVUJMRTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBCdWZmZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBOQlREZWZpbml0aW9ucy5UQUdfQllURV9BUlJBWTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBTdHJpbmdWYWwpIHtcbiAgICAgICAgICAgIHJldHVybiBOQlREZWZpbml0aW9ucy5UQUdfU1RSSU5HO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFNldCkge1xuICAgICAgICAgICAgcmV0dXJuIE5CVERlZmluaXRpb25zLlRBR19MSVNUO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE5CVFRhZ0NvbXBvdW5kKSB7XG4gICAgICAgICAgICByZXR1cm4gTkJURGVmaW5pdGlvbnMuVEFHX0NPTVBPVU5EO1xuICAgICAgICB9XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIE5CVERlZmluaXRpb25zLlRBR19JTlRfQVJSQVk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBJbnZhbGlkIE5CVCBEYXRhOiBDYW5ub3QgZGVkdWNlIE5CVCB0eXBlIG9mIGNsYXNzICR7dmFsdWUuY29uc3RydWN0b3IubmFtZX0gKCR7dmFsdWV9KWApO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJOQlREZWZpbml0aW9ucyIsIkJ5dGVPcmRlciIsIkJ5dGVWYWwiLCJTaG9ydFZhbCIsIk51bWJlclZhbCIsIkxvbmdWYWwiLCJGbG9hdFZhbCIsIkRvdWJsZVZhbCIsIlN0cmluZ1ZhbCIsIk5CVFRhZ0NvbXBvdW5kIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFZQSxNQUFxQixTQUFVLENBQUE7QUFBQSxFQUNWLEtBQUE7QUFBQSxFQUNBLEdBQUE7QUFBQSxFQUVULFNBQVksR0FBQSxLQUFBO0FBQUEsRUFFYixXQUFBLENBQVksS0FBbUIsU0FBc0IsRUFBQTtBQUN4RCxJQUFBLElBQUEsQ0FBSyxHQUFNLEdBQUEsR0FBQTtBQUNYLElBQUEsSUFBQSxDQUFLLEtBQVEsR0FBQSxTQUFBO0FBQUE7QUFDakIsRUFFTyxhQUFhLFNBQTBCLEVBQUE7QUFDMUMsSUFBQSxJQUFBLENBQUssU0FBWSxHQUFBLFNBQUE7QUFBQTtBQUNyQixFQUVPLFVBQVUsSUFBc0IsRUFBQTtBQUNuQyxJQUFLLElBQUEsQ0FBQSxjQUFBLENBQWVBLDZCQUFlLENBQUEsUUFBQSxFQUFVLEVBQUUsQ0FBQTtBQUMvQyxJQUFBLElBQUEsQ0FBSyxlQUFlLElBQUksQ0FBQTtBQUFBO0FBQzVCLEVBRU8sY0FBYyxRQUFnQyxFQUFBO0FBQ2pELElBQUEsSUFBQSxDQUFLLGVBQWVBLDZCQUFlLENBQUEsWUFBQSxFQUFjLFFBQVMsQ0FBQSxPQUFBLE1BQWEsRUFBRSxDQUFBO0FBQ3pFLElBQUEsSUFBQSxDQUFLLG1CQUFtQixRQUFRLENBQUE7QUFBQTtBQUNwQyxFQUVRLGNBQUEsQ0FBZSxNQUFjLElBQW9CLEVBQUE7QUFDckQsSUFBQSxJQUFBLENBQUssZUFBZSxJQUFJLENBQUE7QUFDeEIsSUFBQSxJQUFBLENBQUssaUJBQWlCLElBQUksQ0FBQTtBQUFBO0FBQzlCLEVBRVEsaUJBQWlCLEtBQTRCLEVBQUE7QUFDakQsSUFBQSxJQUFJLFVBQVUsSUFBTSxFQUFBO0FBQ2hCLE1BQUEsTUFBTSxLQUFRLEdBQUEsTUFBQSxDQUFPLElBQUssQ0FBQSxLQUFBLEVBQU8sTUFBTSxDQUFBO0FBQ3ZDLE1BQUEsSUFBSSxLQUFLLFNBQVcsRUFBQTtBQUNoQixRQUFBLElBQUEsQ0FBSyxHQUFJLENBQUEsbUJBQUEsQ0FBb0IsTUFBTyxDQUFBLFVBQUEsQ0FBVyxLQUFLLENBQUMsQ0FBQTtBQUFBLE9BQ2xELE1BQUE7QUFDSCxRQUFBLElBQUEsQ0FBSyxlQUFnQixDQUFBLE1BQUEsQ0FBTyxVQUFXLENBQUEsS0FBSyxDQUFDLENBQUE7QUFBQTtBQUdqRCxNQUFLLElBQUEsQ0FBQSxHQUFBLENBQUksTUFBTSxLQUFLLENBQUE7QUFBQSxLQUN4QixNQUFBLElBQVcsS0FBSyxTQUFXLEVBQUE7QUFDdkIsTUFBQSxJQUFBLENBQUssZUFBZSxDQUFDLENBQUE7QUFBQSxLQUNsQixNQUFBO0FBQ0gsTUFBQSxJQUFBLENBQUssZ0JBQWdCLENBQUMsQ0FBQTtBQUFBO0FBQzFCO0FBQ0osRUFFTyxlQUFlLEtBQXFCLEVBQUE7QUFDdkMsSUFBSyxJQUFBLENBQUEsR0FBQSxDQUFJLFVBQVUsS0FBSyxDQUFBO0FBQUE7QUFDNUIsRUFFTyxnQkFBZ0IsS0FBcUIsRUFBQTtBQUN4QyxJQUFJLElBQUEsSUFBQSxDQUFLLEtBQVUsS0FBQUMsbUJBQUEsQ0FBVSxhQUFlLEVBQUE7QUFDeEMsTUFBSyxJQUFBLENBQUEsR0FBQSxDQUFJLHFCQUFxQixLQUFLLENBQUE7QUFBQSxLQUNoQyxNQUFBO0FBQ0gsTUFBSyxJQUFBLENBQUEsR0FBQSxDQUFJLG1CQUFtQixLQUFLLENBQUE7QUFBQTtBQUNyQztBQUNKLEVBRVEsa0JBQWtCLEtBQXFCLEVBQUE7QUFDM0MsSUFBQSxJQUFJLEtBQUssU0FBVyxFQUFBO0FBQ2hCLE1BQUssSUFBQSxDQUFBLEdBQUEsQ0FBSSxZQUFZLEtBQUssQ0FBQTtBQUFBLEtBQ25CLE1BQUEsSUFBQSxJQUFBLENBQUssS0FBVSxLQUFBQSxtQkFBQSxDQUFVLGFBQWUsRUFBQTtBQUMvQyxNQUFLLElBQUEsQ0FBQSxHQUFBLENBQUksbUJBQW1CLEtBQUssQ0FBQTtBQUFBLEtBQzlCLE1BQUE7QUFDSCxNQUFLLElBQUEsQ0FBQSxHQUFBLENBQUksaUJBQWlCLEtBQUssQ0FBQTtBQUFBO0FBQ25DO0FBQ0osRUFFUSxlQUFlLEtBQXFCLEVBQUE7QUFDeEMsSUFBQSxJQUFJLEtBQUssU0FBVyxFQUFBO0FBQ2hCLE1BQUssSUFBQSxDQUFBLEdBQUEsQ0FBSSxhQUFhLEtBQUssQ0FBQTtBQUFBLEtBQ3BCLE1BQUEsSUFBQSxJQUFBLENBQUssS0FBVSxLQUFBQSxtQkFBQSxDQUFVLGFBQWUsRUFBQTtBQUMvQyxNQUFLLElBQUEsQ0FBQSxHQUFBLENBQUksb0JBQW9CLEtBQUssQ0FBQTtBQUFBLEtBQy9CLE1BQUE7QUFDSCxNQUFLLElBQUEsQ0FBQSxHQUFBLENBQUksa0JBQWtCLEtBQUssQ0FBQTtBQUFBO0FBQ3BDO0FBQ0osRUFFUSxnQkFBZ0IsS0FBcUIsRUFBQTtBQUN6QyxJQUFJLElBQUEsSUFBQSxDQUFLLEtBQVUsS0FBQUEsbUJBQUEsQ0FBVSxhQUFlLEVBQUE7QUFDeEMsTUFBSyxJQUFBLENBQUEsR0FBQSxDQUFJLGFBQWEsS0FBSyxDQUFBO0FBQUEsS0FDeEIsTUFBQTtBQUNILE1BQUssSUFBQSxDQUFBLEdBQUEsQ0FBSSxXQUFXLEtBQUssQ0FBQTtBQUFBO0FBQzdCO0FBQ0osRUFFUSxpQkFBaUIsS0FBcUIsRUFBQTtBQUMxQyxJQUFJLElBQUEsSUFBQSxDQUFLLEtBQVUsS0FBQUEsbUJBQUEsQ0FBVSxhQUFlLEVBQUE7QUFDeEMsTUFBSyxJQUFBLENBQUEsR0FBQSxDQUFJLGNBQWMsS0FBSyxDQUFBO0FBQUEsS0FDekIsTUFBQTtBQUNILE1BQUssSUFBQSxDQUFBLEdBQUEsQ0FBSSxZQUFZLEtBQUssQ0FBQTtBQUFBO0FBQzlCO0FBQ0osRUFFUSxvQkFBb0IsS0FBcUIsRUFBQTtBQUM3QyxJQUFLLElBQUEsQ0FBQSxpQkFBQSxDQUFrQixNQUFNLE1BQU0sQ0FBQTtBQUNuQyxJQUFLLElBQUEsQ0FBQSxHQUFBLENBQUksTUFBTSxLQUFLLENBQUE7QUFBQTtBQUN4QixFQUVRLHVCQUF1QixLQUFpQixFQUFBO0FBQzVDLElBQUssSUFBQSxDQUFBLGlCQUFBLENBQWtCLE1BQU0sTUFBTSxDQUFBO0FBQ25DLElBQU0sS0FBQSxDQUFBLE9BQUEsQ0FBUSxDQUFDLENBQU0sS0FBQTtBQUNqQixNQUFBLElBQUEsQ0FBSyxrQkFBa0IsQ0FBQyxDQUFBO0FBQUEsS0FDM0IsQ0FBQTtBQUFBO0FBQ0wsRUFFUSxlQUFlLEtBQXVCLEVBQUE7QUFDMUMsSUFBSSxJQUFBLEtBQUEsQ0FBTSxPQUFPLENBQUcsRUFBQTtBQUNoQixNQUFNLE1BQUEsV0FBQSxHQUFjLEtBQUssbUJBQW9CLENBQUEsS0FBQSxDQUFNLFNBQVUsQ0FBQSxJQUFBLEdBQU8sS0FBSyxDQUFBO0FBQ3pFLE1BQUEsSUFBQSxDQUFLLGVBQWUsV0FBVyxDQUFBO0FBQy9CLE1BQUssSUFBQSxDQUFBLGlCQUFBLENBQWtCLE1BQU0sSUFBSSxDQUFBO0FBQ2pDLE1BQUEsS0FBQSxNQUFXLFlBQVksS0FBTyxFQUFBO0FBQzFCLFFBQUEsUUFBUSxXQUFhO0FBQUEsVUFDakIsS0FBS0QsNkJBQWUsQ0FBQSxRQUFBO0FBQ2hCLFlBQUssSUFBQSxDQUFBLGNBQUEsQ0FBZSxRQUFTLENBQUEsUUFBQSxFQUFVLENBQUE7QUFDdkMsWUFBQTtBQUFBLFVBQ0osS0FBS0EsNkJBQWUsQ0FBQSxTQUFBO0FBQ2hCLFlBQUssSUFBQSxDQUFBLGVBQUEsQ0FBZ0IsUUFBUyxDQUFBLFFBQUEsRUFBVSxDQUFBO0FBQ3hDLFlBQUE7QUFBQSxVQUNKLEtBQUtBLDZCQUFlLENBQUEsT0FBQTtBQUNoQixZQUFLLElBQUEsQ0FBQSxpQkFBQSxDQUFrQixRQUFTLENBQUEsUUFBQSxFQUFVLENBQUE7QUFDMUMsWUFBQTtBQUFBLFVBQ0osS0FBS0EsNkJBQWUsQ0FBQSxRQUFBO0FBQ2hCLFlBQUssSUFBQSxDQUFBLGNBQUEsQ0FBZSxRQUFTLENBQUEsUUFBQSxFQUFVLENBQUE7QUFDdkMsWUFBQTtBQUFBLFVBQ0osS0FBS0EsNkJBQWUsQ0FBQSxTQUFBO0FBQ2hCLFlBQUssSUFBQSxDQUFBLGVBQUEsQ0FBZ0IsUUFBUyxDQUFBLFFBQUEsRUFBVSxDQUFBO0FBQ3hDLFlBQUE7QUFBQSxVQUNKLEtBQUtBLDZCQUFlLENBQUEsVUFBQTtBQUNoQixZQUFLLElBQUEsQ0FBQSxnQkFBQSxDQUFpQixRQUFTLENBQUEsUUFBQSxFQUFVLENBQUE7QUFDekMsWUFBQTtBQUFBLFVBQ0osS0FBS0EsNkJBQWUsQ0FBQSxjQUFBO0FBQ2hCLFlBQUEsSUFBQSxDQUFLLGlCQUFpQixRQUFRLENBQUE7QUFDOUIsWUFBQTtBQUFBLFVBQ0osS0FBS0EsNkJBQWUsQ0FBQSxVQUFBO0FBQ2hCLFlBQUssSUFBQSxDQUFBLGdCQUFBLENBQWlCLFFBQVMsQ0FBQSxRQUFBLEVBQVUsQ0FBQTtBQUN6QyxZQUFBO0FBQUEsVUFDSixLQUFLQSw2QkFBZSxDQUFBLFFBQUE7QUFDaEIsWUFBQSxJQUFBLENBQUssZUFBZSxRQUFRLENBQUE7QUFDNUIsWUFBQTtBQUFBLFVBQ0osS0FBS0EsNkJBQWUsQ0FBQSxZQUFBO0FBQ2hCLFlBQUEsSUFBQSxDQUFLLG1CQUFtQixRQUFRLENBQUE7QUFDaEMsWUFBQTtBQUFBLFVBQ0osS0FBS0EsNkJBQWUsQ0FBQSxhQUFBO0FBQ2hCLFlBQUEsSUFBQSxDQUFLLHVCQUF1QixRQUFRLENBQUE7QUFDcEMsWUFBQTtBQUFBLFVBQ0o7QUFDSSxZQUFNLE1BQUEsSUFBSSxNQUFNLG9CQUFvQixDQUFBO0FBQUE7QUFDNUM7QUFDSixLQUNHLE1BQUE7QUFDSCxNQUFLLElBQUEsQ0FBQSxjQUFBLENBQWVBLDhCQUFlLFFBQVEsQ0FBQTtBQUMzQyxNQUFBLElBQUEsQ0FBSyxrQkFBa0IsQ0FBQyxDQUFBO0FBQUE7QUFDNUI7QUFDSixFQUVRLG1CQUFtQixRQUFnQyxFQUFBO0FBQ3ZELElBQUEsS0FBQSxNQUFXLENBQUMsR0FBSyxFQUFBLEtBQUssQ0FBSyxJQUFBLFFBQUEsQ0FBUyxTQUFXLEVBQUE7QUFDM0MsTUFBTSxNQUFBLE9BQUEsR0FBVSxJQUFLLENBQUEsbUJBQUEsQ0FBb0IsS0FBSyxDQUFBO0FBQzlDLE1BQUssSUFBQSxDQUFBLGNBQUEsQ0FBZSxTQUFTLEdBQUcsQ0FBQTtBQUNoQyxNQUFBLFFBQVEsT0FBUztBQUFBLFFBQ2IsS0FBS0EsNkJBQWUsQ0FBQSxRQUFBO0FBQ2hCLFVBQUssSUFBQSxDQUFBLGNBQUEsQ0FBZSxLQUFNLENBQUEsUUFBQSxFQUFVLENBQUE7QUFDcEMsVUFBQTtBQUFBLFFBQ0osS0FBS0EsNkJBQWUsQ0FBQSxTQUFBO0FBQ2hCLFVBQUssSUFBQSxDQUFBLGVBQUEsQ0FBZ0IsS0FBTSxDQUFBLFFBQUEsRUFBVSxDQUFBO0FBQ3JDLFVBQUE7QUFBQSxRQUNKLEtBQUtBLDZCQUFlLENBQUEsT0FBQTtBQUNoQixVQUFLLElBQUEsQ0FBQSxpQkFBQSxDQUFrQixLQUFNLENBQUEsUUFBQSxFQUFVLENBQUE7QUFDdkMsVUFBQTtBQUFBLFFBQ0osS0FBS0EsNkJBQWUsQ0FBQSxRQUFBO0FBQ2hCLFVBQUssSUFBQSxDQUFBLGNBQUEsQ0FBZSxLQUFNLENBQUEsUUFBQSxFQUFVLENBQUE7QUFDcEMsVUFBQTtBQUFBLFFBQ0osS0FBS0EsNkJBQWUsQ0FBQSxTQUFBO0FBQ2hCLFVBQUssSUFBQSxDQUFBLGVBQUEsQ0FBZ0IsS0FBTSxDQUFBLFFBQUEsRUFBVSxDQUFBO0FBQ3JDLFVBQUE7QUFBQSxRQUNKLEtBQUtBLDZCQUFlLENBQUEsVUFBQTtBQUNoQixVQUFLLElBQUEsQ0FBQSxnQkFBQSxDQUFpQixLQUFNLENBQUEsUUFBQSxFQUFVLENBQUE7QUFDdEMsVUFBQTtBQUFBLFFBQ0osS0FBS0EsNkJBQWUsQ0FBQSxjQUFBO0FBQ2hCLFVBQUEsSUFBQSxDQUFLLG9CQUFvQixLQUFLLENBQUE7QUFDOUIsVUFBQTtBQUFBLFFBQ0osS0FBS0EsNkJBQWUsQ0FBQSxVQUFBO0FBQ2hCLFVBQUssSUFBQSxDQUFBLGdCQUFBLENBQWlCLEtBQU0sQ0FBQSxRQUFBLEVBQVUsQ0FBQTtBQUN0QyxVQUFBO0FBQUEsUUFDSixLQUFLQSw2QkFBZSxDQUFBLFFBQUE7QUFDaEIsVUFBQSxJQUFBLENBQUssZUFBZSxLQUFLLENBQUE7QUFDekIsVUFBQTtBQUFBLFFBQ0osS0FBS0EsNkJBQWUsQ0FBQSxZQUFBO0FBQ2hCLFVBQUEsSUFBQSxDQUFLLG1CQUFtQixLQUFLLENBQUE7QUFDN0IsVUFBQTtBQUFBLFFBQ0osS0FBS0EsNkJBQWUsQ0FBQSxhQUFBO0FBQ2hCLFVBQUEsSUFBQSxDQUFLLGtCQUFrQixLQUFLLENBQUE7QUFDNUIsVUFBQTtBQUFBLFFBQ0o7QUFDSSxVQUFNLE1BQUEsSUFBSSxNQUFNLG9CQUFvQixDQUFBO0FBQUE7QUFDNUM7QUFHSixJQUFLLElBQUEsQ0FBQSxjQUFBLENBQWVBLDhCQUFlLE9BQU8sQ0FBQTtBQUFBO0FBQzlDLEVBRVEsb0JBQW9CLEtBQTRCLEVBQUE7QUFDcEQsSUFBQSxJQUFJLGlCQUFpQkUscUJBQVMsRUFBQTtBQUMxQixNQUFBLE9BQU9GLDZCQUFlLENBQUEsUUFBQTtBQUFBO0FBRTFCLElBQUEsSUFBSSxpQkFBaUJHLHNCQUFVLEVBQUE7QUFDM0IsTUFBQSxPQUFPSCw2QkFBZSxDQUFBLFNBQUE7QUFBQTtBQUUxQixJQUFBLElBQUksaUJBQWlCSSx1QkFBVyxFQUFBO0FBQzVCLE1BQUEsT0FBT0osNkJBQWUsQ0FBQSxPQUFBO0FBQUE7QUFFMUIsSUFBQSxJQUFJLGlCQUFpQksscUJBQVMsRUFBQTtBQUMxQixNQUFBLE9BQU9MLDZCQUFlLENBQUEsUUFBQTtBQUFBO0FBRTFCLElBQUEsSUFBSSxpQkFBaUJNLHNCQUFVLEVBQUE7QUFDM0IsTUFBQSxPQUFPTiw2QkFBZSxDQUFBLFNBQUE7QUFBQTtBQUUxQixJQUFBLElBQUksaUJBQWlCTyx1QkFBVyxFQUFBO0FBQzVCLE1BQUEsT0FBT1AsNkJBQWUsQ0FBQSxVQUFBO0FBQUE7QUFFMUIsSUFBQSxJQUFJLGlCQUFpQixNQUFRLEVBQUE7QUFDekIsTUFBQSxPQUFPQSw2QkFBZSxDQUFBLGNBQUE7QUFBQTtBQUUxQixJQUFBLElBQUksaUJBQWlCUSx1QkFBVyxFQUFBO0FBQzVCLE1BQUEsT0FBT1IsNkJBQWUsQ0FBQSxVQUFBO0FBQUE7QUFFMUIsSUFBQSxJQUFJLGlCQUFpQixHQUFLLEVBQUE7QUFDdEIsTUFBQSxPQUFPQSw2QkFBZSxDQUFBLFFBQUE7QUFBQTtBQUUxQixJQUFBLElBQUksaUJBQWlCUyxzQkFBZ0IsRUFBQTtBQUNqQyxNQUFBLE9BQU9ULDZCQUFlLENBQUEsWUFBQTtBQUFBO0FBRTFCLElBQUksSUFBQSxLQUFBLENBQU0sT0FBUSxDQUFBLEtBQUssQ0FBRyxFQUFBO0FBQ3RCLE1BQUEsT0FBT0EsNkJBQWUsQ0FBQSxhQUFBO0FBQUE7QUFHMUIsSUFBTSxNQUFBLElBQUksVUFBVSxDQUFxRCxrREFBQSxFQUFBLEtBQUEsQ0FBTSxZQUFZLElBQUksQ0FBQSxFQUFBLEVBQUssS0FBSyxDQUFHLENBQUEsQ0FBQSxDQUFBO0FBQUE7QUFFcEg7Ozs7In0=
@@ -1,26 +0,0 @@
1
- import { default as BinaryStream } from '@jsprismarine/jsbinaryutils';
2
- import { ByteOrder } from './ByteOrder';
3
- import { default as NBTTagCompound } from './NBTTagCompound';
4
- export default class NBTWriter {
5
- private readonly order;
6
- private readonly buf;
7
- private useVarint;
8
- constructor(out: BinaryStream, byteOrder: ByteOrder);
9
- setUseVarint(useVarint: boolean): void;
10
- writeList(list: Set<any>): void;
11
- writeCompound(compound: NBTTagCompound): void;
12
- private writeTagHeader;
13
- private writeStringValue;
14
- writeByteValue(value: number): void;
15
- writeShortValue(value: number): void;
16
- private writeIntegerValue;
17
- private writeLongValue;
18
- private writeFloatValue;
19
- private writeDoubleValue;
20
- private writeByteArrayValue;
21
- private writeIntegerArrayValue;
22
- private writeListValue;
23
- private writeCompoundValue;
24
- private getNBTTypeFromValue;
25
- }
26
- //# sourceMappingURL=NBTWriter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NBTWriter.d.ts","sourceRoot":"","sources":["../src/NBTWriter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAMxC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAK9C,MAAM,CAAC,OAAO,OAAO,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IAEnC,OAAO,CAAC,SAAS,CAAS;gBAEP,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS;IAKnD,YAAY,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAItC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI;IAK/B,aAAa,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAKpD,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,gBAAgB;IAiBjB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAInC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ3C,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,cAAc;IAkDtB,OAAO,CAAC,kBAAkB;IA8C1B,OAAO,CAAC,mBAAmB;CAqC9B"}