ag-psd 31.0.3 → 33.0.0

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 (159) hide show
  1. package/.v8-cache/v24.7.0-x64-ef5a0af0/00d0e0b4 +0 -0
  2. package/.v8-cache/v24.7.0-x64-ef5a0af0/03e19709 +0 -0
  3. package/.v8-cache/v24.7.0-x64-ef5a0af0/05135617 +0 -0
  4. package/.v8-cache/v24.7.0-x64-ef5a0af0/0cc76730 +0 -0
  5. package/.v8-cache/v24.7.0-x64-ef5a0af0/1130885f +0 -0
  6. package/.v8-cache/v24.7.0-x64-ef5a0af0/20729831 +0 -0
  7. package/.v8-cache/v24.7.0-x64-ef5a0af0/214a593b +0 -0
  8. package/.v8-cache/v24.7.0-x64-ef5a0af0/226e2801 +0 -0
  9. package/.v8-cache/v24.7.0-x64-ef5a0af0/25f8b84a +0 -0
  10. package/.v8-cache/v24.7.0-x64-ef5a0af0/27518289 +0 -0
  11. package/.v8-cache/v24.7.0-x64-ef5a0af0/2a19133e +0 -0
  12. package/.v8-cache/v24.7.0-x64-ef5a0af0/330ef2d9 +0 -0
  13. package/.v8-cache/v24.7.0-x64-ef5a0af0/37ff16b8 +0 -0
  14. package/.v8-cache/v24.7.0-x64-ef5a0af0/3f72a97c +0 -0
  15. package/.v8-cache/v24.7.0-x64-ef5a0af0/4511bacf +0 -0
  16. package/.v8-cache/v24.7.0-x64-ef5a0af0/68416cb2 +0 -0
  17. package/.v8-cache/v24.7.0-x64-ef5a0af0/71df9cb3 +0 -0
  18. package/.v8-cache/v24.7.0-x64-ef5a0af0/75efccd4 +0 -0
  19. package/.v8-cache/v24.7.0-x64-ef5a0af0/762f9305 +0 -0
  20. package/.v8-cache/v24.7.0-x64-ef5a0af0/7bcfc50a +0 -0
  21. package/.v8-cache/v24.7.0-x64-ef5a0af0/7ea06cea +0 -0
  22. package/.v8-cache/v24.7.0-x64-ef5a0af0/825e9a05 +0 -0
  23. package/.v8-cache/v24.7.0-x64-ef5a0af0/87372817 +0 -0
  24. package/.v8-cache/v24.7.0-x64-ef5a0af0/87cf2209 +0 -0
  25. package/.v8-cache/v24.7.0-x64-ef5a0af0/891a7c73 +0 -0
  26. package/.v8-cache/v24.7.0-x64-ef5a0af0/8b68a3a2 +0 -0
  27. package/.v8-cache/v24.7.0-x64-ef5a0af0/932f0770 +0 -0
  28. package/.v8-cache/v24.7.0-x64-ef5a0af0/a1d12a93 +0 -0
  29. package/.v8-cache/v24.7.0-x64-ef5a0af0/a7e80865 +0 -0
  30. package/.v8-cache/v24.7.0-x64-ef5a0af0/ac317c9c +0 -0
  31. package/.v8-cache/v24.7.0-x64-ef5a0af0/acc36e66 +0 -0
  32. package/.v8-cache/v24.7.0-x64-ef5a0af0/b3c2fab7 +0 -0
  33. package/.v8-cache/v24.7.0-x64-ef5a0af0/b8569d6b +0 -0
  34. package/.v8-cache/v24.7.0-x64-ef5a0af0/b8b073c4 +0 -0
  35. package/.v8-cache/v24.7.0-x64-ef5a0af0/bb489c89 +0 -0
  36. package/.v8-cache/v24.7.0-x64-ef5a0af0/c0b789d2 +0 -0
  37. package/.v8-cache/v24.7.0-x64-ef5a0af0/c314aece +0 -0
  38. package/.v8-cache/v24.7.0-x64-ef5a0af0/c46725e1 +0 -0
  39. package/.v8-cache/v24.7.0-x64-ef5a0af0/c794cb34 +0 -0
  40. package/.v8-cache/v24.7.0-x64-ef5a0af0/cd4ae980 +0 -0
  41. package/.v8-cache/v24.7.0-x64-ef5a0af0/cfc49f4f +0 -0
  42. package/.v8-cache/v24.7.0-x64-ef5a0af0/cff9434a +0 -0
  43. package/.v8-cache/v24.7.0-x64-ef5a0af0/d02dd6f7 +0 -0
  44. package/.v8-cache/v24.7.0-x64-ef5a0af0/dc86f000 +0 -0
  45. package/.v8-cache/v24.7.0-x64-ef5a0af0/e03e2acd +0 -0
  46. package/.v8-cache/v24.7.0-x64-ef5a0af0/e6735171 +0 -0
  47. package/.v8-cache/v24.7.0-x64-ef5a0af0/e6745c2b +0 -0
  48. package/.v8-cache/v24.7.0-x64-ef5a0af0/e6b99945 +0 -0
  49. package/.v8-cache/v24.7.0-x64-ef5a0af0/eeeebdfe +0 -0
  50. package/.v8-cache/v24.7.0-x64-ef5a0af0/f5417276 +0 -0
  51. package/.v8-cache/v24.7.0-x64-ef5a0af0/f6fd8125 +0 -0
  52. package/.v8-cache/v24.7.0-x64-ef5a0af0/f74d3518 +0 -0
  53. package/.v8-cache/v24.7.0-x64-ef5a0af0/f886deac +0 -0
  54. package/.v8-cache/v24.7.0-x64-ef5a0af0/fd0a2987 +0 -0
  55. package/.v8-cache/v24.7.0-x64-ef5a0af0/fe349423 +0 -0
  56. package/CHANGELOG.md +107 -0
  57. package/LICENSE +5 -0
  58. package/README.md +3 -6
  59. package/README_PSD.md +242 -81
  60. package/dist/abr.d.ts +11 -4
  61. package/dist/abr.js +363 -229
  62. package/dist/abr.js.map +1 -1
  63. package/dist/additionalInfo.d.ts +56 -2
  64. package/dist/additionalInfo.js +600 -364
  65. package/dist/additionalInfo.js.map +1 -1
  66. package/dist/ase.d.ts +6 -1
  67. package/dist/ase.js +61 -61
  68. package/dist/ase.js.map +1 -1
  69. package/dist/bundle.js +3096 -1541
  70. package/dist/descriptor.d.ts +25 -6
  71. package/dist/descriptor.js +380 -135
  72. package/dist/descriptor.js.map +1 -1
  73. package/dist/effectsHelpers.js +12 -12
  74. package/dist/effectsHelpers.js.map +1 -1
  75. package/dist/engineData.d.ts +3 -1
  76. package/dist/engineData.js +34 -13
  77. package/dist/engineData.js.map +1 -1
  78. package/dist/engineData2.js +50 -21
  79. package/dist/engineData2.js.map +1 -1
  80. package/dist/helpers.d.ts +6 -3
  81. package/dist/helpers.js +22 -6
  82. package/dist/helpers.js.map +1 -1
  83. package/dist/imageResources.d.ts +15 -3
  84. package/dist/imageResources.js +529 -144
  85. package/dist/imageResources.js.map +1 -1
  86. package/dist/index.js +1 -0
  87. package/dist/index.js.map +1 -1
  88. package/dist/jpeg.js +30 -10
  89. package/dist/jpeg.js.map +1 -1
  90. package/dist/psd.d.ts +154 -18
  91. package/dist/psd.js.map +1 -1
  92. package/dist/psdReader.d.ts +12 -2
  93. package/dist/psdReader.js +720 -421
  94. package/dist/psdReader.js.map +1 -1
  95. package/dist/psdWriter.d.ts +3 -0
  96. package/dist/psdWriter.js +167 -130
  97. package/dist/psdWriter.js.map +1 -1
  98. package/dist/text.js +143 -29
  99. package/dist/text.js.map +1 -1
  100. package/dist/utf8.js +36 -18
  101. package/dist/utf8.js.map +1 -1
  102. package/dist-es/abr.d.ts +11 -4
  103. package/dist-es/abr.js +363 -229
  104. package/dist-es/abr.js.map +1 -1
  105. package/dist-es/additionalInfo.d.ts +56 -2
  106. package/dist-es/additionalInfo.js +600 -364
  107. package/dist-es/additionalInfo.js.map +1 -1
  108. package/dist-es/ase.d.ts +6 -1
  109. package/dist-es/ase.js +61 -61
  110. package/dist-es/ase.js.map +1 -1
  111. package/dist-es/descriptor.d.ts +25 -6
  112. package/dist-es/descriptor.js +380 -135
  113. package/dist-es/descriptor.js.map +1 -1
  114. package/dist-es/effectsHelpers.js +12 -12
  115. package/dist-es/effectsHelpers.js.map +1 -1
  116. package/dist-es/engineData.d.ts +3 -1
  117. package/dist-es/engineData.js +34 -13
  118. package/dist-es/engineData.js.map +1 -1
  119. package/dist-es/engineData2.js +50 -21
  120. package/dist-es/engineData2.js.map +1 -1
  121. package/dist-es/helpers.d.ts +6 -3
  122. package/dist-es/helpers.js +22 -6
  123. package/dist-es/helpers.js.map +1 -1
  124. package/dist-es/imageResources.d.ts +15 -3
  125. package/dist-es/imageResources.js +529 -144
  126. package/dist-es/imageResources.js.map +1 -1
  127. package/dist-es/index.js +1 -0
  128. package/dist-es/index.js.map +1 -1
  129. package/dist-es/jpeg.js +30 -10
  130. package/dist-es/jpeg.js.map +1 -1
  131. package/dist-es/psd.d.ts +154 -18
  132. package/dist-es/psd.js.map +1 -1
  133. package/dist-es/psdReader.d.ts +12 -2
  134. package/dist-es/psdReader.js +720 -421
  135. package/dist-es/psdReader.js.map +1 -1
  136. package/dist-es/psdWriter.d.ts +3 -0
  137. package/dist-es/psdWriter.js +167 -130
  138. package/dist-es/psdWriter.js.map +1 -1
  139. package/dist-es/text.js +143 -29
  140. package/dist-es/text.js.map +1 -1
  141. package/dist-es/utf8.js +36 -18
  142. package/dist-es/utf8.js.map +1 -1
  143. package/package.json +2 -2
  144. package/src/abr.ts +380 -232
  145. package/src/additionalInfo.ts +781 -477
  146. package/src/ase.ts +66 -61
  147. package/src/descriptor.ts +386 -142
  148. package/src/effectsHelpers.ts +9 -9
  149. package/src/engineData.ts +36 -13
  150. package/src/engineData2.ts +468 -432
  151. package/src/helpers.ts +23 -5
  152. package/src/imageResources.ts +658 -167
  153. package/src/index.ts +1 -0
  154. package/src/jpeg.ts +27 -12
  155. package/src/psd.ts +158 -30
  156. package/src/psdReader.ts +732 -414
  157. package/src/psdWriter.ts +186 -132
  158. package/src/text.ts +139 -18
  159. package/src/utf8.ts +35 -21
package/dist-es/ase.d.ts CHANGED
@@ -29,4 +29,9 @@ export interface AseGroup {
29
29
  export interface Ase {
30
30
  colors: (AseGroup | AseColor)[];
31
31
  }
32
- export declare function readAse(buffer: ArrayBufferView): Ase;
32
+ export interface ReadAseOptions {
33
+ logMissingFeatures?: boolean;
34
+ /** Throw on unsupported or invalid blocks instead of skipping them */
35
+ throwForMissingFeatures?: boolean;
36
+ }
37
+ export declare function readAse(buffer: ArrayBufferView, options?: ReadAseOptions): Ase;
package/dist-es/ase.js CHANGED
@@ -2,83 +2,83 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.readAse = readAse;
4
4
  const psdReader_1 = require("./psdReader");
5
- function readAse(buffer) {
5
+ function readAse(buffer, options = {}) {
6
6
  const reader = (0, psdReader_1.createReader)(buffer.buffer, buffer.byteOffset, buffer.byteLength);
7
7
  const signature = (0, psdReader_1.readSignature)(reader); // ASEF
8
8
  if (signature !== 'ASEF')
9
9
  throw new Error('Invalid signature');
10
10
  const versionMajor = (0, psdReader_1.readUint16)(reader); // 1
11
- const versionMinor = (0, psdReader_1.readUint16)(reader); // 0
12
- if (versionMajor !== 1 || versionMinor !== 0)
11
+ (0, psdReader_1.readUint16)(reader); // minor version: 0
12
+ if (versionMajor !== 1)
13
13
  throw new Error('Invalid version');
14
14
  const blocksCount = (0, psdReader_1.readUint32)(reader);
15
- const colorTypes = ['global', 'spot', 'normal'];
16
15
  const ase = { colors: [] };
17
16
  let group = ase;
18
- for (let i = 0; i < blocksCount; i++) {
17
+ for (let i = 0; i < blocksCount && reader.offset + 6 <= reader.view.byteLength; i++) {
19
18
  const type = (0, psdReader_1.readUint16)(reader);
20
19
  const length = (0, psdReader_1.readUint32)(reader);
21
- const end = reader.offset + length;
22
- switch (type) {
23
- case 0x0001: { // color
24
- const nameLength = (0, psdReader_1.readUint16)(reader);
25
- const name = (0, psdReader_1.readUnicodeStringWithLength)(reader, nameLength);
26
- const colorMode = (0, psdReader_1.readSignature)(reader);
27
- let color;
28
- switch (colorMode) {
29
- case 'RGB ':
30
- color = {
31
- r: (0, psdReader_1.readFloat32)(reader),
32
- g: (0, psdReader_1.readFloat32)(reader),
33
- b: (0, psdReader_1.readFloat32)(reader),
34
- type: colorTypes[(0, psdReader_1.readUint16)(reader)],
35
- };
36
- break;
37
- case 'CMYK':
38
- color = {
39
- c: (0, psdReader_1.readFloat32)(reader),
40
- m: (0, psdReader_1.readFloat32)(reader),
41
- y: (0, psdReader_1.readFloat32)(reader),
42
- k: (0, psdReader_1.readFloat32)(reader),
43
- type: colorTypes[(0, psdReader_1.readUint16)(reader)],
44
- };
45
- break;
46
- case 'Gray':
47
- color = {
48
- k: (0, psdReader_1.readFloat32)(reader),
49
- type: colorTypes[(0, psdReader_1.readUint16)(reader)],
50
- };
51
- break;
52
- case 'LAB ':
53
- color = {
54
- l: (0, psdReader_1.readFloat32)(reader),
55
- a: (0, psdReader_1.readFloat32)(reader),
56
- b: (0, psdReader_1.readFloat32)(reader),
57
- type: colorTypes[(0, psdReader_1.readUint16)(reader)],
58
- };
59
- break;
60
- default:
61
- throw new Error('Invalid color mode');
20
+ const end = Math.min(reader.offset + length, reader.view.byteLength);
21
+ // block reader, so invalid lengths can't make us read data of following blocks
22
+ const block = (0, psdReader_1.createReader)(reader.view.buffer, reader.view.byteOffset + reader.offset, end - reader.offset);
23
+ try {
24
+ switch (type) {
25
+ case 0x0001: { // color
26
+ const color = readAseColor(block);
27
+ if (color) {
28
+ group.colors.push(color);
29
+ }
30
+ else {
31
+ if (options.throwForMissingFeatures)
32
+ throw new Error('Unsupported color mode');
33
+ options.logMissingFeatures && reader.log('Skipped color with unsupported color mode');
34
+ }
35
+ break;
62
36
  }
63
- if (!color.type)
64
- throw new Error('Invalid color type');
65
- group.colors.push({ name, color });
66
- break;
67
- }
68
- case 0xC001: { // group start
69
- const nameLength = (0, psdReader_1.readUint16)(reader);
70
- const name = (0, psdReader_1.readUnicodeStringWithLength)(reader, nameLength);
71
- ase.colors.push(group = { name, colors: [] });
72
- break;
37
+ case 0xC001: { // group start
38
+ const nameLength = (0, psdReader_1.readUint16)(block);
39
+ const name = (0, psdReader_1.readUnicodeStringWithLength)(block, nameLength);
40
+ ase.colors.push(group = { name, colors: [] });
41
+ break;
42
+ }
43
+ case 0xC002: // group end
44
+ group = ase;
45
+ break;
46
+ default:
47
+ if (options.throwForMissingFeatures)
48
+ throw new Error(`Invalid block type: ${type}`);
49
+ options.logMissingFeatures && reader.log(`Skipped unknown block type: ${type}`);
73
50
  }
74
- case 0xC002: // group end
75
- group = ase;
76
- break;
77
- default:
78
- throw new Error('Invalid block type');
51
+ }
52
+ catch (e) {
53
+ if (options.throwForMissingFeatures)
54
+ throw e;
55
+ options.logMissingFeatures && reader.log(`Skipped invalid block: ${e.message}`);
79
56
  }
80
57
  reader.offset = end;
81
58
  }
82
59
  return ase;
83
60
  }
61
+ function readAseColor(reader) {
62
+ const nameLength = (0, psdReader_1.readUint16)(reader);
63
+ const name = (0, psdReader_1.readUnicodeStringWithLength)(reader, nameLength);
64
+ const colorMode = (0, psdReader_1.readSignature)(reader);
65
+ // NaN and infinite values are replaced with 0
66
+ const value = () => {
67
+ const v = (0, psdReader_1.readFloat32)(reader);
68
+ return isFinite(v) ? v : 0;
69
+ };
70
+ // color type is sometimes missing, unknown types are treated as process (normal) colors
71
+ const colorType = () => {
72
+ const index = reader.offset + 2 <= reader.view.byteLength ? (0, psdReader_1.readUint16)(reader) : 2;
73
+ return colorTypes[index] || 'normal';
74
+ };
75
+ switch (colorMode) {
76
+ case 'RGB ': return { name, color: { r: value(), g: value(), b: value(), type: colorType() } };
77
+ case 'CMYK': return { name, color: { c: value(), m: value(), y: value(), k: value(), type: colorType() } };
78
+ case 'Gray': return { name, color: { k: value(), type: colorType() } };
79
+ case 'LAB ': return { name, color: { l: value(), a: value(), b: value(), type: colorType() } };
80
+ default: return undefined;
81
+ }
82
+ }
83
+ const colorTypes = ['global', 'spot', 'normal'];
84
84
  //# sourceMappingURL=ase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ase.js","sourceRoot":"../src/","sources":["ase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ase.js","sourceRoot":"../src/","sources":["ase.ts"],"names":[],"mappings":";;AA2CA,0BAoDC;AA/FD,2CAAuI;AA2CvI,SAAgB,OAAO,CAAC,MAAuB,EAAE,UAA0B,EAAE;IAC3E,MAAM,MAAM,GAAG,IAAA,wBAAY,EAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IACjF,MAAM,SAAS,GAAG,IAAA,yBAAa,EAAC,MAAM,CAAC,CAAC,CAAC,OAAO;IAChD,IAAI,SAAS,KAAK,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,IAAA,sBAAU,EAAC,MAAM,CAAC,CAAC,CAAC,IAAI;IAC7C,IAAA,sBAAU,EAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB;IACvC,IAAI,YAAY,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,IAAA,sBAAU,EAAC,MAAM,CAAC,CAAC;IACvC,MAAM,GAAG,GAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAChC,IAAI,KAAK,GAAmB,GAAG,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACpF,MAAM,IAAI,GAAG,IAAA,sBAAU,EAAC,MAAM,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,IAAA,sBAAU,EAAC,MAAM,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrE,+EAA+E;QAC/E,MAAM,KAAK,GAAG,IAAA,wBAAY,EAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAE5G,IAAI,CAAC;YACH,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ;oBACrB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;oBAClC,IAAI,KAAK,EAAE,CAAC;wBACV,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC3B,CAAC;yBAAM,CAAC;wBACN,IAAI,OAAO,CAAC,uBAAuB;4BAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;wBAC/E,OAAO,CAAC,kBAAkB,IAAI,MAAM,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;oBACxF,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc;oBAC3B,MAAM,UAAU,GAAG,IAAA,sBAAU,EAAC,KAAK,CAAC,CAAC;oBACrC,MAAM,IAAI,GAAG,IAAA,uCAA2B,EAAC,KAAK,EAAE,UAAU,CAAC,CAAC;oBAC5D,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC9C,MAAM;gBACR,CAAC;gBACD,KAAK,MAAM,EAAE,YAAY;oBACvB,KAAK,GAAG,GAAG,CAAC;oBACZ,MAAM;gBACR;oBACE,IAAI,OAAO,CAAC,uBAAuB;wBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC;oBACpF,OAAO,CAAC,kBAAkB,IAAI,MAAM,CAAC,GAAG,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,OAAO,CAAC,uBAAuB;gBAAE,MAAM,CAAC,CAAC;YAC7C,OAAO,CAAC,kBAAkB,IAAI,MAAM,CAAC,GAAG,CAAC,0BAA2B,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7F,CAAC;QAED,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;IACtB,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,YAAY,CAAC,MAAiB;IACrC,MAAM,UAAU,GAAG,IAAA,sBAAU,EAAC,MAAM,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,IAAA,uCAA2B,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,IAAA,yBAAa,EAAC,MAAM,CAAC,CAAC;IACxC,8CAA8C;IAC9C,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,MAAM,CAAC,GAAG,IAAA,uBAAW,EAAC,MAAM,CAAC,CAAC;QAC9B,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC;IACF,wFAAwF;IACxF,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,sBAAU,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC;IACvC,CAAC,CAAC;IAEF,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,MAAM,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAC/F,KAAK,MAAM,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAC3G,KAAK,MAAM,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QACvE,KAAK,MAAM,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAC/F,OAAO,CAAC,CAAC,OAAO,SAAS,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,GAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC"}
@@ -3,8 +3,21 @@ import { PsdReader } from './psdReader';
3
3
  import { PsdWriter } from './psdWriter';
4
4
  export declare function setLogErrors(value: boolean): void;
5
5
  export declare function readAsciiStringOrClassId(reader: PsdReader): string;
6
+ export declare function writeAsciiStringOrClassId(writer: PsdWriter, value: string): void;
6
7
  export declare function readDescriptorStructure(reader: PsdReader, includeClass: boolean): any;
8
+ export declare const outputSettingsRoot = "outputSettings";
7
9
  export declare function writeDescriptorStructure(writer: PsdWriter, name: string, classId: string, value: any, root: string): void;
10
+ export interface DescriptorReferenceItem {
11
+ type: 'prop' | 'Clss' | 'Enmr' | 'rele' | 'Idnt' | 'indx' | 'name';
12
+ _name?: string;
13
+ _classID?: string;
14
+ keyID?: string;
15
+ typeID?: string;
16
+ enumValue?: string;
17
+ value?: string | number;
18
+ }
19
+ export declare function pathSelectionStateToReference(items: string[]): DescriptorReferenceItem[];
20
+ export declare function writeClassStructure(writer: PsdWriter, name: string, classID: string): void;
8
21
  export declare function readVersionAndDescriptor(reader: PsdReader, includeClass?: boolean): any;
9
22
  export declare function writeVersionAndDescriptor(writer: PsdWriter, name: string, classID: string, descriptor: any, root?: string): void;
10
23
  export type DescriptorUnits = 'Angle' | 'Density' | 'Distance' | 'None' | 'Percent' | 'Pixels' | 'Millimeters' | 'Points' | 'Picas' | 'Inches' | 'Centimeters';
@@ -33,11 +46,11 @@ export type DescriptorColor = {
33
46
  Blck: number;
34
47
  } | {
35
48
  _name: '';
36
- _classID: 'GRYC';
49
+ _classID: 'Grsc' | 'GRYC';
37
50
  'Gry ': number;
38
51
  } | {
39
52
  _name: '';
40
- _classID: 'LABC';
53
+ _classID: 'LbCl' | 'LABC';
41
54
  Lmnc: number;
42
55
  'A ': number;
43
56
  'B ': number;
@@ -57,8 +70,8 @@ export type DesciptorGradient = {
57
70
  GrdF: 'GrdF.CstS';
58
71
  Intr: number;
59
72
  Clrs: {
60
- 'Clr ': DescriptorColor;
61
- Type: 'Clry.UsrS';
73
+ 'Clr '?: DescriptorColor;
74
+ Type?: string;
62
75
  Lctn: number;
63
76
  Mdpn: number;
64
77
  }[];
@@ -99,9 +112,11 @@ export interface DescriptorPatternContent {
99
112
  Ptrn: DesciptorPattern;
100
113
  Lnkd?: boolean;
101
114
  phase?: {
102
- Hrzn: number;
103
- Vrtc: number;
115
+ Hrzn: number | DescriptorUnitsValue;
116
+ Vrtc: number | DescriptorUnitsValue;
104
117
  };
118
+ 'Scl '?: DescriptorUnitsValue;
119
+ Angl?: DescriptorUnitsValue;
105
120
  }
106
121
  export type DescriptorVectorContent = DescriptorColorContent | DescriptorGradientContent | DescriptorPatternContent;
107
122
  export interface StrokeDescriptor {
@@ -443,6 +458,10 @@ export declare const gradientInterpolationMethodType: {
443
458
  decode: (val: string) => InterpolationMethod;
444
459
  encode: (val: InterpolationMethod | undefined) => string;
445
460
  };
461
+ export declare const Clry: {
462
+ decode: (val: string) => "background" | "user" | "foreground";
463
+ encode: (val: "background" | "user" | "foreground" | undefined) => string;
464
+ };
446
465
  export declare const ClrS: {
447
466
  decode: (val: string) => "rgb" | "hsb" | "lab" | "hsl";
448
467
  encode: (val: "rgb" | "hsb" | "lab" | "hsl" | undefined) => string;