ag-psd 15.0.0 → 15.0.2

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 (102) hide show
  1. package/TODO +0 -2
  2. package/clean.js +3 -0
  3. package/dist/abr.d.ts +132 -132
  4. package/dist/abr.js +270 -271
  5. package/dist/abr.js.map +1 -0
  6. package/dist/additionalInfo.d.ts +25 -25
  7. package/dist/additionalInfo.js +2026 -2045
  8. package/dist/additionalInfo.js.map +1 -0
  9. package/dist/bundle.js +9133 -8707
  10. package/dist/csh.d.ts +10 -10
  11. package/dist/csh.js +48 -49
  12. package/dist/csh.js.map +1 -0
  13. package/dist/descriptor.d.ts +411 -390
  14. package/dist/descriptor.js +1689 -1644
  15. package/dist/descriptor.js.map +1 -0
  16. package/dist/effectsHelpers.d.ts +5 -5
  17. package/dist/effectsHelpers.js +309 -310
  18. package/dist/effectsHelpers.js.map +1 -0
  19. package/dist/engineData.d.ts +2 -2
  20. package/dist/engineData.js +337 -338
  21. package/dist/engineData.js.map +1 -0
  22. package/dist/helpers.d.ts +93 -93
  23. package/dist/helpers.js +332 -333
  24. package/dist/helpers.js.map +1 -0
  25. package/dist/imageResources.d.ts +13 -13
  26. package/dist/imageResources.js +1007 -788
  27. package/dist/imageResources.js.map +1 -0
  28. package/dist/index.d.ts +20 -20
  29. package/dist/index.js +53 -54
  30. package/dist/index.js.map +1 -0
  31. package/dist/initializeCanvas.d.ts +1 -1
  32. package/dist/initializeCanvas.js +26 -27
  33. package/dist/initializeCanvas.js.map +1 -0
  34. package/dist/jpeg.d.ts +1 -1
  35. package/dist/jpeg.js +1019 -1020
  36. package/dist/jpeg.js.map +1 -0
  37. package/dist/psd.d.ts +1200 -1147
  38. package/dist/psd.js +22 -23
  39. package/dist/psd.js.map +1 -0
  40. package/dist/psdReader.d.ts +36 -34
  41. package/dist/psdReader.js +958 -941
  42. package/dist/psdReader.js.map +1 -0
  43. package/dist/psdWriter.d.ts +27 -27
  44. package/dist/psdWriter.js +694 -690
  45. package/dist/psdWriter.js.map +1 -0
  46. package/dist/text.d.ts +168 -168
  47. package/dist/text.js +557 -558
  48. package/dist/text.js.map +1 -0
  49. package/dist/utf8.d.ts +5 -5
  50. package/dist/utf8.js +152 -153
  51. package/dist/utf8.js.map +1 -0
  52. package/dist-es/abr.d.ts +132 -132
  53. package/dist-es/abr.js +266 -267
  54. package/dist-es/abr.js.map +1 -0
  55. package/dist-es/additionalInfo.d.ts +25 -25
  56. package/dist-es/additionalInfo.js +2020 -2039
  57. package/dist-es/additionalInfo.js.map +1 -0
  58. package/dist-es/csh.d.ts +10 -10
  59. package/dist-es/csh.js +44 -45
  60. package/dist-es/csh.js.map +1 -0
  61. package/dist-es/descriptor.d.ts +411 -390
  62. package/dist-es/descriptor.js +1661 -1616
  63. package/dist-es/descriptor.js.map +1 -0
  64. package/dist-es/effectsHelpers.d.ts +5 -5
  65. package/dist-es/effectsHelpers.js +304 -305
  66. package/dist-es/effectsHelpers.js.map +1 -0
  67. package/dist-es/engineData.d.ts +2 -2
  68. package/dist-es/engineData.js +332 -333
  69. package/dist-es/engineData.js.map +1 -0
  70. package/dist-es/helpers.d.ts +93 -93
  71. package/dist-es/helpers.js +315 -316
  72. package/dist-es/helpers.js.map +1 -0
  73. package/dist-es/imageResources.d.ts +13 -13
  74. package/dist-es/imageResources.js +1004 -785
  75. package/dist-es/imageResources.js.map +1 -0
  76. package/dist-es/index.d.ts +20 -20
  77. package/dist-es/index.js +31 -32
  78. package/dist-es/index.js.map +1 -0
  79. package/dist-es/initializeCanvas.d.ts +1 -1
  80. package/dist-es/initializeCanvas.js +22 -23
  81. package/dist-es/initializeCanvas.js.map +1 -0
  82. package/dist-es/jpeg.d.ts +1 -1
  83. package/dist-es/jpeg.js +1015 -1016
  84. package/dist-es/jpeg.js.map +1 -0
  85. package/dist-es/psd.d.ts +1200 -1147
  86. package/dist-es/psd.js +19 -20
  87. package/dist-es/psd.js.map +1 -0
  88. package/dist-es/psdReader.d.ts +36 -34
  89. package/dist-es/psdReader.js +928 -912
  90. package/dist-es/psdReader.js.map +1 -0
  91. package/dist-es/psdWriter.d.ts +27 -27
  92. package/dist-es/psdWriter.js +670 -666
  93. package/dist-es/psdWriter.js.map +1 -0
  94. package/dist-es/text.d.ts +168 -168
  95. package/dist-es/text.js +552 -553
  96. package/dist-es/text.js.map +1 -0
  97. package/dist-es/utf8.d.ts +5 -5
  98. package/dist-es/utf8.js +145 -146
  99. package/dist-es/utf8.js.map +1 -0
  100. package/package.json +11 -17
  101. package/tsconfig-es6.json +7 -0
  102. package/tsconfig.json +7 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.js","sourceRoot":"../src/","sources":["text.ts"],"names":[],"mappings":"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"}
package/dist/utf8.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- /// <reference types="node" />
2
- export declare function stringLengthInBytes(value: string): number;
3
- export declare function encodeStringTo(buffer: Uint8Array | Buffer, offset: number, value: string): number;
4
- export declare function encodeString(value: string): Uint8Array;
5
- export declare function decodeString(value: Uint8Array): string;
1
+ /// <reference types="node" />
2
+ export declare function stringLengthInBytes(value: string): number;
3
+ export declare function encodeStringTo(buffer: Uint8Array | Buffer, offset: number, value: string): number;
4
+ export declare function encodeString(value: string): Uint8Array;
5
+ export declare function decodeString(value: Uint8Array): string;
package/dist/utf8.js CHANGED
@@ -1,153 +1,152 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.decodeString = exports.encodeString = exports.encodeStringTo = exports.stringLengthInBytes = void 0;
4
- function charLengthInBytes(code) {
5
- if ((code & 0xffffff80) === 0) {
6
- return 1;
7
- }
8
- else if ((code & 0xfffff800) === 0) {
9
- return 2;
10
- }
11
- else if ((code & 0xffff0000) === 0) {
12
- return 3;
13
- }
14
- else {
15
- return 4;
16
- }
17
- }
18
- function stringLengthInBytes(value) {
19
- var result = 0;
20
- for (var i = 0; i < value.length; i++) {
21
- var code = value.charCodeAt(i);
22
- // high surrogate
23
- if (code >= 0xd800 && code <= 0xdbff) {
24
- if ((i + 1) < value.length) {
25
- var extra = value.charCodeAt(i + 1);
26
- // low surrogate
27
- if ((extra & 0xfc00) === 0xdc00) {
28
- i++;
29
- result += charLengthInBytes(((code & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);
30
- }
31
- }
32
- }
33
- else {
34
- result += charLengthInBytes(code);
35
- }
36
- }
37
- return result;
38
- }
39
- exports.stringLengthInBytes = stringLengthInBytes;
40
- function writeCharacter(buffer, offset, code) {
41
- var length = charLengthInBytes(code);
42
- switch (length) {
43
- case 1:
44
- buffer[offset] = code;
45
- break;
46
- case 2:
47
- buffer[offset] = ((code >> 6) & 0x1f) | 0xc0;
48
- buffer[offset + 1] = (code & 0x3f) | 0x80;
49
- break;
50
- case 3:
51
- buffer[offset] = ((code >> 12) & 0x0f) | 0xe0;
52
- buffer[offset + 1] = ((code >> 6) & 0x3f) | 0x80;
53
- buffer[offset + 2] = (code & 0x3f) | 0x80;
54
- break;
55
- default:
56
- buffer[offset] = ((code >> 18) & 0x07) | 0xf0;
57
- buffer[offset + 1] = ((code >> 12) & 0x3f) | 0x80;
58
- buffer[offset + 2] = ((code >> 6) & 0x3f) | 0x80;
59
- buffer[offset + 3] = (code & 0x3f) | 0x80;
60
- break;
61
- }
62
- return length;
63
- }
64
- function encodeStringTo(buffer, offset, value) {
65
- for (var i = 0; i < value.length; i++) {
66
- var code = value.charCodeAt(i);
67
- // high surrogate
68
- if (code >= 0xd800 && code <= 0xdbff) {
69
- if ((i + 1) < value.length) {
70
- var extra = value.charCodeAt(i + 1);
71
- // low surrogate
72
- if ((extra & 0xfc00) === 0xdc00) {
73
- i++;
74
- var fullCode = ((code & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000;
75
- offset += writeCharacter(buffer, offset, fullCode);
76
- }
77
- }
78
- }
79
- else {
80
- offset += writeCharacter(buffer, offset, code);
81
- }
82
- }
83
- return offset;
84
- }
85
- exports.encodeStringTo = encodeStringTo;
86
- function encodeString(value) {
87
- var buffer = new Uint8Array(stringLengthInBytes(value));
88
- encodeStringTo(buffer, 0, value);
89
- return buffer;
90
- }
91
- exports.encodeString = encodeString;
92
- function continuationByte(buffer, index) {
93
- if (index >= buffer.length) {
94
- throw Error('Invalid byte index');
95
- }
96
- var continuationByte = buffer[index];
97
- if ((continuationByte & 0xC0) === 0x80) {
98
- return continuationByte & 0x3F;
99
- }
100
- else {
101
- throw Error('Invalid continuation byte');
102
- }
103
- }
104
- function decodeString(value) {
105
- var result = '';
106
- for (var i = 0; i < value.length;) {
107
- var byte1 = value[i++];
108
- var code = void 0;
109
- if ((byte1 & 0x80) === 0) {
110
- code = byte1;
111
- }
112
- else if ((byte1 & 0xe0) === 0xc0) {
113
- var byte2 = continuationByte(value, i++);
114
- code = ((byte1 & 0x1f) << 6) | byte2;
115
- if (code < 0x80) {
116
- throw Error('Invalid continuation byte');
117
- }
118
- }
119
- else if ((byte1 & 0xf0) === 0xe0) {
120
- var byte2 = continuationByte(value, i++);
121
- var byte3 = continuationByte(value, i++);
122
- code = ((byte1 & 0x0f) << 12) | (byte2 << 6) | byte3;
123
- if (code < 0x0800) {
124
- throw Error('Invalid continuation byte');
125
- }
126
- if (code >= 0xd800 && code <= 0xdfff) {
127
- throw Error("Lone surrogate U+".concat(code.toString(16).toUpperCase(), " is not a scalar value"));
128
- }
129
- }
130
- else if ((byte1 & 0xf8) === 0xf0) {
131
- var byte2 = continuationByte(value, i++);
132
- var byte3 = continuationByte(value, i++);
133
- var byte4 = continuationByte(value, i++);
134
- code = ((byte1 & 0x0f) << 0x12) | (byte2 << 0x0c) | (byte3 << 0x06) | byte4;
135
- if (code < 0x010000 || code > 0x10ffff) {
136
- throw Error('Invalid continuation byte');
137
- }
138
- }
139
- else {
140
- throw Error('Invalid UTF-8 detected');
141
- }
142
- if (code > 0xffff) {
143
- code -= 0x10000;
144
- result += String.fromCharCode(code >>> 10 & 0x3ff | 0xd800);
145
- code = 0xdc00 | code & 0x3ff;
146
- }
147
- result += String.fromCharCode(code);
148
- }
149
- return result;
150
- }
151
- exports.decodeString = decodeString;
152
-
153
- //# sourceMappingURL=data:application/json;charset=utf8;base64,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Q0FBQzthQUN6RjtTQUNEO2FBQU0sSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDbkMsSUFBTSxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDM0MsSUFBTSxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDM0MsSUFBTSxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDM0MsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBRTVFLElBQUksSUFBSSxHQUFHLFFBQVEsSUFBSSxJQUFJLEdBQUcsUUFBUSxFQUFFO2dCQUN2QyxNQUFNLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO2FBQ3pDO1NBQ0Q7YUFBTTtZQUNOLE1BQU0sS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7U0FDdEM7UUFFRCxJQUFJLElBQUksR0FBRyxNQUFNLEVBQUU7WUFDbEIsSUFBSSxJQUFJLE9BQU8sQ0FBQztZQUNoQixNQUFNLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLEtBQUssRUFBRSxHQUFHLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQztZQUM1RCxJQUFJLEdBQUcsTUFBTSxHQUFHLElBQUksR0FBRyxLQUFLLENBQUM7U0FDN0I7UUFFRCxNQUFNLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNwQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2YsQ0FBQztBQW5ERCxvQ0FtREMiLCJmaWxlIjoidXRmOC5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIGNoYXJMZW5ndGhJbkJ5dGVzKGNvZGU6IG51bWJlcik6IG51bWJlciB7XHJcblx0aWYgKChjb2RlICYgMHhmZmZmZmY4MCkgPT09IDApIHtcclxuXHRcdHJldHVybiAxO1xyXG5cdH0gZWxzZSBpZiAoKGNvZGUgJiAweGZmZmZmODAwKSA9PT0gMCkge1xyXG5cdFx0cmV0dXJuIDI7XHJcblx0fSBlbHNlIGlmICgoY29kZSAmIDB4ZmZmZjAwMDApID09PSAwKSB7XHJcblx0XHRyZXR1cm4gMztcclxuXHR9IGVsc2Uge1xyXG5cdFx0cmV0dXJuIDQ7XHJcblx0fVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc3RyaW5nTGVuZ3RoSW5CeXRlcyh2YWx1ZTogc3RyaW5nKTogbnVtYmVyIHtcclxuXHRsZXQgcmVzdWx0ID0gMDtcclxuXHJcblx0Zm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZS5sZW5ndGg7IGkrKykge1xyXG5cdFx0Y29uc3QgY29kZSA9IHZhbHVlLmNoYXJDb2RlQXQoaSk7XHJcblxyXG5cdFx0Ly8gaGlnaCBzdXJyb2dhdGVcclxuXHRcdGlmIChjb2RlID49IDB4ZDgwMCAmJiBjb2RlIDw9IDB4ZGJmZikge1xyXG5cdFx0XHRpZiAoKGkgKyAxKSA8IHZhbHVlLmxlbmd0aCkge1xyXG5cdFx0XHRcdGNvbnN0IGV4dHJhID0gdmFsdWUuY2hhckNvZGVBdChpICsgMSk7XHJcblxyXG5cdFx0XHRcdC8vIGxvdyBzdXJyb2dhdGVcclxuXHRcdFx0XHRpZiAoKGV4dHJhICYgMHhmYzAwKSA9PT0gMHhkYzAwKSB7XHJcblx0XHRcdFx0XHRpKys7XHJcblx0XHRcdFx0XHRyZXN1bHQgKz0gY2hhckxlbmd0aEluQnl0ZXMoKChjb2RlICYgMHgzZmYpIDw8IDEwKSArIChleHRyYSAmIDB4M2ZmKSArIDB4MTAwMDApO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0cmVzdWx0ICs9IGNoYXJMZW5ndGhJbkJ5dGVzKGNvZGUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxuZnVuY3Rpb24gd3JpdGVDaGFyYWN0ZXIoYnVmZmVyOiBVaW50OEFycmF5IHwgQnVmZmVyLCBvZmZzZXQ6IG51bWJlciwgY29kZTogbnVtYmVyKTogbnVtYmVyIHtcclxuXHRjb25zdCBsZW5ndGggPSBjaGFyTGVuZ3RoSW5CeXRlcyhjb2RlKTtcclxuXHJcblx0c3dpdGNoIChsZW5ndGgpIHtcclxuXHRcdGNhc2UgMTpcclxuXHRcdFx0YnVmZmVyW29mZnNldF0gPSBjb2RlO1xyXG5cdFx0XHRicmVhaztcclxuXHRcdGNhc2UgMjpcclxuXHRcdFx0YnVmZmVyW29mZnNldF0gPSAoKGNvZGUgPj4gNikgJiAweDFmKSB8IDB4YzA7XHJcblx0XHRcdGJ1ZmZlcltvZmZzZXQgKyAxXSA9IChjb2RlICYgMHgzZikgfCAweDgwO1xyXG5cdFx0XHRicmVhaztcclxuXHRcdGNhc2UgMzpcclxuXHRcdFx0YnVmZmVyW29mZnNldF0gPSAoKGNvZGUgPj4gMTIpICYgMHgwZikgfCAweGUwO1xyXG5cdFx0XHRidWZmZXJbb2Zmc2V0ICsgMV0gPSAoKGNvZGUgPj4gNikgJiAweDNmKSB8IDB4ODA7XHJcblx0XHRcdGJ1ZmZlcltvZmZzZXQgKyAyXSA9IChjb2RlICYgMHgzZikgfCAweDgwO1xyXG5cdFx0XHRicmVhaztcclxuXHRcdGRlZmF1bHQ6XHJcblx0XHRcdGJ1ZmZlcltvZmZzZXRdID0gKChjb2RlID4+IDE4KSAmIDB4MDcpIHwgMHhmMDtcclxuXHRcdFx0YnVmZmVyW29mZnNldCArIDFdID0gKChjb2RlID4+IDEyKSAmIDB4M2YpIHwgMHg4MDtcclxuXHRcdFx0YnVmZmVyW29mZnNldCArIDJdID0gKChjb2RlID4+IDYpICYgMHgzZikgfCAweDgwO1xyXG5cdFx0XHRidWZmZXJbb2Zmc2V0ICsgM10gPSAoY29kZSAmIDB4M2YpIHwgMHg4MDtcclxuXHRcdFx0YnJlYWs7XHJcblx0fVxyXG5cclxuXHRyZXR1cm4gbGVuZ3RoO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZW5jb2RlU3RyaW5nVG8oYnVmZmVyOiBVaW50OEFycmF5IHwgQnVmZmVyLCBvZmZzZXQ6IG51bWJlciwgdmFsdWU6IHN0cmluZyk6IG51bWJlciB7XHJcblx0Zm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZS5sZW5ndGg7IGkrKykge1xyXG5cdFx0Y29uc3QgY29kZSA9IHZhbHVlLmNoYXJDb2RlQXQoaSk7XHJcblxyXG5cdFx0Ly8gaGlnaCBzdXJyb2dhdGVcclxuXHRcdGlmIChjb2RlID49IDB4ZDgwMCAmJiBjb2RlIDw9IDB4ZGJmZikge1xyXG5cdFx0XHRpZiAoKGkgKyAxKSA8IHZhbHVlLmxlbmd0aCkge1xyXG5cdFx0XHRcdGNvbnN0IGV4dHJhID0gdmFsdWUuY2hhckNvZGVBdChpICsgMSk7XHJcblxyXG5cdFx0XHRcdC8vIGxvdyBzdXJyb2dhdGVcclxuXHRcdFx0XHRpZiAoKGV4dHJhICYgMHhmYzAwKSA9PT0gMHhkYzAwKSB7XHJcblx0XHRcdFx0XHRpKys7XHJcblx0XHRcdFx0XHRjb25zdCBmdWxsQ29kZSA9ICgoY29kZSAmIDB4M2ZmKSA8PCAxMCkgKyAoZXh0cmEgJiAweDNmZikgKyAweDEwMDAwO1xyXG5cdFx0XHRcdFx0b2Zmc2V0ICs9IHdyaXRlQ2hhcmFjdGVyKGJ1ZmZlciwgb2Zmc2V0LCBmdWxsQ29kZSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRvZmZzZXQgKz0gd3JpdGVDaGFyYWN0ZXIoYnVmZmVyLCBvZmZzZXQsIGNvZGUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cmV0dXJuIG9mZnNldDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZVN0cmluZyh2YWx1ZTogc3RyaW5nKTogVWludDhBcnJheSB7XHJcblx0Y29uc3QgYnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoc3RyaW5nTGVuZ3RoSW5CeXRlcyh2YWx1ZSkpO1xyXG5cdGVuY29kZVN0cmluZ1RvKGJ1ZmZlciwgMCwgdmFsdWUpO1xyXG5cdHJldHVybiBidWZmZXI7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNvbnRpbnVhdGlvbkJ5dGUoYnVmZmVyOiBVaW50OEFycmF5LCBpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcclxuXHRpZiAoaW5kZXggPj0gYnVmZmVyLmxlbmd0aCkge1xyXG5cdFx0dGhyb3cgRXJyb3IoJ0ludmFsaWQgYnl0ZSBpbmRleCcpO1xyXG5cdH1cclxuXHJcblx0Y29uc3QgY29udGludWF0aW9uQnl0ZSA9IGJ1ZmZlcltpbmRleF07XHJcblxyXG5cdGlmICgoY29udGludWF0aW9uQnl0ZSAmIDB4QzApID09PSAweDgwKSB7XHJcblx0XHRyZXR1cm4gY29udGludWF0aW9uQnl0ZSAmIDB4M0Y7XHJcblx0fSBlbHNlIHtcclxuXHRcdHRocm93IEVycm9yKCdJbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlJyk7XHJcblx0fVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlU3RyaW5nKHZhbHVlOiBVaW50OEFycmF5KTogc3RyaW5nIHtcclxuXHRsZXQgcmVzdWx0ID0gJyc7XHJcblxyXG5cdGZvciAobGV0IGkgPSAwOyBpIDwgdmFsdWUubGVuZ3RoOykge1xyXG5cdFx0Y29uc3QgYnl0ZTEgPSB2YWx1ZVtpKytdO1xyXG5cdFx0bGV0IGNvZGU6IG51bWJlcjtcclxuXHJcblx0XHRpZiAoKGJ5dGUxICYgMHg4MCkgPT09IDApIHtcclxuXHRcdFx0Y29kZSA9IGJ5dGUxO1xyXG5cdFx0fSBlbHNlIGlmICgoYnl0ZTEgJiAweGUwKSA9PT0gMHhjMCkge1xyXG5cdFx0XHRjb25zdCBieXRlMiA9IGNvbnRpbnVhdGlvbkJ5dGUodmFsdWUsIGkrKyk7XHJcblx0XHRcdGNvZGUgPSAoKGJ5dGUxICYgMHgxZikgPDwgNikgfCBieXRlMjtcclxuXHJcblx0XHRcdGlmIChjb2RlIDwgMHg4MCkge1xyXG5cdFx0XHRcdHRocm93IEVycm9yKCdJbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlJyk7XHJcblx0XHRcdH1cclxuXHRcdH0gZWxzZSBpZiAoKGJ5dGUxICYgMHhmMCkgPT09IDB4ZTApIHtcclxuXHRcdFx0Y29uc3QgYnl0ZTIgPSBjb250aW51YXRpb25CeXRlKHZhbHVlLCBpKyspO1xyXG5cdFx0XHRjb25zdCBieXRlMyA9IGNvbnRpbnVhdGlvbkJ5dGUodmFsdWUsIGkrKyk7XHJcblx0XHRcdGNvZGUgPSAoKGJ5dGUxICYgMHgwZikgPDwgMTIpIHwgKGJ5dGUyIDw8IDYpIHwgYnl0ZTM7XHJcblxyXG5cdFx0XHRpZiAoY29kZSA8IDB4MDgwMCkge1xyXG5cdFx0XHRcdHRocm93IEVycm9yKCdJbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlJyk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGlmIChjb2RlID49IDB4ZDgwMCAmJiBjb2RlIDw9IDB4ZGZmZikge1xyXG5cdFx0XHRcdHRocm93IEVycm9yKGBMb25lIHN1cnJvZ2F0ZSBVKyR7Y29kZS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKX0gaXMgbm90IGEgc2NhbGFyIHZhbHVlYCk7XHJcblx0XHRcdH1cclxuXHRcdH0gZWxzZSBpZiAoKGJ5dGUxICYgMHhmOCkgPT09IDB4ZjApIHtcclxuXHRcdFx0Y29uc3QgYnl0ZTIgPSBjb250aW51YXRpb25CeXRlKHZhbHVlLCBpKyspO1xyXG5cdFx0XHRjb25zdCBieXRlMyA9IGNvbnRpbnVhdGlvbkJ5dGUodmFsdWUsIGkrKyk7XHJcblx0XHRcdGNvbnN0IGJ5dGU0ID0gY29udGludWF0aW9uQnl0ZSh2YWx1ZSwgaSsrKTtcclxuXHRcdFx0Y29kZSA9ICgoYnl0ZTEgJiAweDBmKSA8PCAweDEyKSB8IChieXRlMiA8PCAweDBjKSB8IChieXRlMyA8PCAweDA2KSB8IGJ5dGU0O1xyXG5cclxuXHRcdFx0aWYgKGNvZGUgPCAweDAxMDAwMCB8fCBjb2RlID4gMHgxMGZmZmYpIHtcclxuXHRcdFx0XHR0aHJvdyBFcnJvcignSW52YWxpZCBjb250aW51YXRpb24gYnl0ZScpO1xyXG5cdFx0XHR9XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aHJvdyBFcnJvcignSW52YWxpZCBVVEYtOCBkZXRlY3RlZCcpO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmIChjb2RlID4gMHhmZmZmKSB7XHJcblx0XHRcdGNvZGUgLT0gMHgxMDAwMDtcclxuXHRcdFx0cmVzdWx0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoY29kZSA+Pj4gMTAgJiAweDNmZiB8IDB4ZDgwMCk7XHJcblx0XHRcdGNvZGUgPSAweGRjMDAgfCBjb2RlICYgMHgzZmY7XHJcblx0XHR9XHJcblxyXG5cdFx0cmVzdWx0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoY29kZSk7XHJcblx0fVxyXG5cclxuXHRyZXR1cm4gcmVzdWx0O1xyXG59XHJcbiJdLCJzb3VyY2VSb290IjoiQzpcXFByb2plY3RzXFxnaXRodWJcXGFnLXBzZFxcc3JjIn0=
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decodeString = exports.encodeString = exports.encodeStringTo = exports.stringLengthInBytes = void 0;
4
+ function charLengthInBytes(code) {
5
+ if ((code & 0xffffff80) === 0) {
6
+ return 1;
7
+ }
8
+ else if ((code & 0xfffff800) === 0) {
9
+ return 2;
10
+ }
11
+ else if ((code & 0xffff0000) === 0) {
12
+ return 3;
13
+ }
14
+ else {
15
+ return 4;
16
+ }
17
+ }
18
+ function stringLengthInBytes(value) {
19
+ var result = 0;
20
+ for (var i = 0; i < value.length; i++) {
21
+ var code = value.charCodeAt(i);
22
+ // high surrogate
23
+ if (code >= 0xd800 && code <= 0xdbff) {
24
+ if ((i + 1) < value.length) {
25
+ var extra = value.charCodeAt(i + 1);
26
+ // low surrogate
27
+ if ((extra & 0xfc00) === 0xdc00) {
28
+ i++;
29
+ result += charLengthInBytes(((code & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);
30
+ }
31
+ }
32
+ }
33
+ else {
34
+ result += charLengthInBytes(code);
35
+ }
36
+ }
37
+ return result;
38
+ }
39
+ exports.stringLengthInBytes = stringLengthInBytes;
40
+ function writeCharacter(buffer, offset, code) {
41
+ var length = charLengthInBytes(code);
42
+ switch (length) {
43
+ case 1:
44
+ buffer[offset] = code;
45
+ break;
46
+ case 2:
47
+ buffer[offset] = ((code >> 6) & 0x1f) | 0xc0;
48
+ buffer[offset + 1] = (code & 0x3f) | 0x80;
49
+ break;
50
+ case 3:
51
+ buffer[offset] = ((code >> 12) & 0x0f) | 0xe0;
52
+ buffer[offset + 1] = ((code >> 6) & 0x3f) | 0x80;
53
+ buffer[offset + 2] = (code & 0x3f) | 0x80;
54
+ break;
55
+ default:
56
+ buffer[offset] = ((code >> 18) & 0x07) | 0xf0;
57
+ buffer[offset + 1] = ((code >> 12) & 0x3f) | 0x80;
58
+ buffer[offset + 2] = ((code >> 6) & 0x3f) | 0x80;
59
+ buffer[offset + 3] = (code & 0x3f) | 0x80;
60
+ break;
61
+ }
62
+ return length;
63
+ }
64
+ function encodeStringTo(buffer, offset, value) {
65
+ for (var i = 0; i < value.length; i++) {
66
+ var code = value.charCodeAt(i);
67
+ // high surrogate
68
+ if (code >= 0xd800 && code <= 0xdbff) {
69
+ if ((i + 1) < value.length) {
70
+ var extra = value.charCodeAt(i + 1);
71
+ // low surrogate
72
+ if ((extra & 0xfc00) === 0xdc00) {
73
+ i++;
74
+ var fullCode = ((code & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000;
75
+ offset += writeCharacter(buffer, offset, fullCode);
76
+ }
77
+ }
78
+ }
79
+ else {
80
+ offset += writeCharacter(buffer, offset, code);
81
+ }
82
+ }
83
+ return offset;
84
+ }
85
+ exports.encodeStringTo = encodeStringTo;
86
+ function encodeString(value) {
87
+ var buffer = new Uint8Array(stringLengthInBytes(value));
88
+ encodeStringTo(buffer, 0, value);
89
+ return buffer;
90
+ }
91
+ exports.encodeString = encodeString;
92
+ function continuationByte(buffer, index) {
93
+ if (index >= buffer.length) {
94
+ throw Error('Invalid byte index');
95
+ }
96
+ var continuationByte = buffer[index];
97
+ if ((continuationByte & 0xC0) === 0x80) {
98
+ return continuationByte & 0x3F;
99
+ }
100
+ else {
101
+ throw Error('Invalid continuation byte');
102
+ }
103
+ }
104
+ function decodeString(value) {
105
+ var result = '';
106
+ for (var i = 0; i < value.length;) {
107
+ var byte1 = value[i++];
108
+ var code = void 0;
109
+ if ((byte1 & 0x80) === 0) {
110
+ code = byte1;
111
+ }
112
+ else if ((byte1 & 0xe0) === 0xc0) {
113
+ var byte2 = continuationByte(value, i++);
114
+ code = ((byte1 & 0x1f) << 6) | byte2;
115
+ if (code < 0x80) {
116
+ throw Error('Invalid continuation byte');
117
+ }
118
+ }
119
+ else if ((byte1 & 0xf0) === 0xe0) {
120
+ var byte2 = continuationByte(value, i++);
121
+ var byte3 = continuationByte(value, i++);
122
+ code = ((byte1 & 0x0f) << 12) | (byte2 << 6) | byte3;
123
+ if (code < 0x0800) {
124
+ throw Error('Invalid continuation byte');
125
+ }
126
+ if (code >= 0xd800 && code <= 0xdfff) {
127
+ throw Error("Lone surrogate U+".concat(code.toString(16).toUpperCase(), " is not a scalar value"));
128
+ }
129
+ }
130
+ else if ((byte1 & 0xf8) === 0xf0) {
131
+ var byte2 = continuationByte(value, i++);
132
+ var byte3 = continuationByte(value, i++);
133
+ var byte4 = continuationByte(value, i++);
134
+ code = ((byte1 & 0x0f) << 0x12) | (byte2 << 0x0c) | (byte3 << 0x06) | byte4;
135
+ if (code < 0x010000 || code > 0x10ffff) {
136
+ throw Error('Invalid continuation byte');
137
+ }
138
+ }
139
+ else {
140
+ throw Error('Invalid UTF-8 detected');
141
+ }
142
+ if (code > 0xffff) {
143
+ code -= 0x10000;
144
+ result += String.fromCharCode(code >>> 10 & 0x3ff | 0xd800);
145
+ code = 0xdc00 | code & 0x3ff;
146
+ }
147
+ result += String.fromCharCode(code);
148
+ }
149
+ return result;
150
+ }
151
+ exports.decodeString = decodeString;
152
+ //# sourceMappingURL=utf8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utf8.js","sourceRoot":"../src/","sources":["utf8.ts"],"names":[],"mappings":"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"}