@flighthq/spritesheet-formats 0.2.1-next.652.c550eaa → 0.2.1-next.701.409c279
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.
- package/dist/asepriteParse.d.ts.map +1 -1
- package/dist/asepriteParse.js +35 -2
- package/dist/asepriteParse.js.map +1 -1
- package/dist/texturePackerParse.d.ts.map +1 -1
- package/dist/texturePackerParse.js +26 -2
- package/dist/texturePackerParse.js.map +1 -1
- package/package.json +6 -6
- package/src/asepriteParse.test.ts +16 -0
- package/src/texturePackerParse.test.ts +12 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asepriteParse.d.ts","sourceRoot":"","sources":["../src/asepriteParse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA4B,eAAe,EAAwB,MAAM,uBAAuB,CAAC;AAQ7G,OAAO,KAAK,EAKV,cAAc,EAEf,MAAM,iBAAiB,CAAC;AAgFzB;;;;;;uDAMuD;AACvD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"asepriteParse.d.ts","sourceRoot":"","sources":["../src/asepriteParse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA4B,eAAe,EAAwB,MAAM,uBAAuB,CAAC;AAQ7G,OAAO,KAAK,EAKV,cAAc,EAEf,MAAM,iBAAiB,CAAC;AAgFzB;;;;;;uDAMuD;AACvD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAWtE;AAED;wDACwD;AACxD,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAW7E"}
|
package/dist/asepriteParse.js
CHANGED
|
@@ -76,12 +76,45 @@ function documentToData(doc) {
|
|
|
76
76
|
* Per-frame durations from Aseprite are preserved in `animation.frameDurations`
|
|
77
77
|
* when frames within a tag have varying durations. */
|
|
78
78
|
export function parseAsepriteSpritesheet(json) {
|
|
79
|
-
|
|
79
|
+
let document;
|
|
80
|
+
try {
|
|
81
|
+
document = JSON.parse(json);
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
// Malformed JSON is an expected failure — return an empty SpritesheetData sentinel rather than
|
|
85
|
+
// throwing an uncaught SyntaxError, matching `parseSpritesheet`'s null-on-unrecognized philosophy and
|
|
86
|
+
// the never-throw importer policy (the XML path returns a data descriptor, never throws).
|
|
87
|
+
return createSpritesheetData();
|
|
88
|
+
}
|
|
89
|
+
return documentToData(document);
|
|
80
90
|
}
|
|
81
91
|
/** Parse an Aseprite JSON string and preserve the full document for round-trip
|
|
82
92
|
* serialisation via `serializeAsepriteSpritesheet`. */
|
|
83
93
|
export function parseAsepriteSpritesheetDocument(json) {
|
|
84
|
-
|
|
94
|
+
let document;
|
|
95
|
+
try {
|
|
96
|
+
document = JSON.parse(json);
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
// Malformed JSON is an expected failure — return an EMPTY RESULT (empty data + empty document), never
|
|
100
|
+
// throwing. Empty (not null) keeps this variant's return contract identical to the non-Document sibling
|
|
101
|
+
// parseAsepriteSpritesheet, and the empty document stays serialisable for round-trip.
|
|
102
|
+
return { data: createSpritesheetData(), document: createEmptyAsepriteDocument() };
|
|
103
|
+
}
|
|
85
104
|
return { data: documentToData(document), document };
|
|
86
105
|
}
|
|
106
|
+
// The frame-less Aseprite document used as the malformed-JSON sentinel — a valid array document so the
|
|
107
|
+
// result round-trips through serializeAsepriteSpritesheet.
|
|
108
|
+
function createEmptyAsepriteDocument() {
|
|
109
|
+
const meta = {
|
|
110
|
+
app: '',
|
|
111
|
+
format: '',
|
|
112
|
+
frameTags: [],
|
|
113
|
+
image: '',
|
|
114
|
+
scale: 1,
|
|
115
|
+
size: { h: 0, w: 0 },
|
|
116
|
+
version: '',
|
|
117
|
+
};
|
|
118
|
+
return { frames: [], meta };
|
|
119
|
+
}
|
|
87
120
|
//# sourceMappingURL=asepriteParse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asepriteParse.js","sourceRoot":"","sources":["../src/asepriteParse.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"asepriteParse.js","sourceRoot":"","sources":["../src/asepriteParse.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"texturePackerParse.d.ts","sourceRoot":"","sources":["../src/texturePackerParse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA4B,eAAe,EAAwB,MAAM,uBAAuB,CAAC;AAQ7G,OAAO,KAAK,EAKV,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;AAgEzB;;;kGAGkG;AAClG,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"texturePackerParse.d.ts","sourceRoot":"","sources":["../src/texturePackerParse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA4B,eAAe,EAAwB,MAAM,uBAAuB,CAAC;AAQ7G,OAAO,KAAK,EAKV,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;AAgEzB;;;kGAGkG;AAClG,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAW3E;AAED;wEACwE;AACxE,wBAAgB,qCAAqC,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAUvF"}
|
|
@@ -59,12 +59,36 @@ function documentToData(doc) {
|
|
|
59
59
|
* Single-pass: no intermediate document object is allocated.
|
|
60
60
|
* Use `parseTexturePackerSpritesheetDocument` instead when you need round-trip serialisation. */
|
|
61
61
|
export function parseTexturePackerSpritesheet(json) {
|
|
62
|
-
|
|
62
|
+
let document;
|
|
63
|
+
try {
|
|
64
|
+
document = JSON.parse(json);
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
// Malformed JSON is an expected failure — return an empty SpritesheetData sentinel rather than
|
|
68
|
+
// throwing an uncaught SyntaxError, matching `parseSpritesheet`'s null-on-unrecognized philosophy and
|
|
69
|
+
// the never-throw importer policy.
|
|
70
|
+
return createSpritesheetData();
|
|
71
|
+
}
|
|
72
|
+
return documentToData(document);
|
|
63
73
|
}
|
|
64
74
|
/** Parse a Texture Packer JSON string and preserve the full document for
|
|
65
75
|
* round-trip serialisation via `serializeTexturePackerSpritesheet`. */
|
|
66
76
|
export function parseTexturePackerSpritesheetDocument(json) {
|
|
67
|
-
|
|
77
|
+
let document;
|
|
78
|
+
try {
|
|
79
|
+
document = JSON.parse(json);
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
// Malformed JSON is an expected failure — return an EMPTY RESULT (empty data + empty document), never
|
|
83
|
+
// throwing; empty (not null) matches the non-Document sibling parseTexturePackerSpritesheet.
|
|
84
|
+
return { data: createSpritesheetData(), document: createEmptyTexturePackerDocument() };
|
|
85
|
+
}
|
|
68
86
|
return { data: documentToData(document), document };
|
|
69
87
|
}
|
|
88
|
+
// The frame-less TexturePacker document used as the malformed-JSON sentinel — a valid array document so the
|
|
89
|
+
// result round-trips through serializeTexturePackerSpritesheet.
|
|
90
|
+
function createEmptyTexturePackerDocument() {
|
|
91
|
+
const meta = { app: '', format: '', image: '', scale: 1, size: { h: 0, w: 0 }, version: '' };
|
|
92
|
+
return { frames: [], meta };
|
|
93
|
+
}
|
|
70
94
|
//# sourceMappingURL=texturePackerParse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"texturePackerParse.js","sourceRoot":"","sources":["../src/texturePackerParse.ts"],"names":[],"mappings":"AACA,OAAO,EACL,8BAA8B,EAC9B,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AASjF,gFAAgF;AAEhF,sGAAsG;AACtG,uGAAuG;AACvG,wGAAwG;AACxG,wGAAwG;AACxG,SAAS,eAAe,CAAC,MAAoC;IAC3D,OAAO,0BAA0B,CAAC;QAChC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,YAAY,EAAE,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,MAAM;QACpD,WAAW,EAAE,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,KAAK;QACjD,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,CAAC,EAAE,MAAM,CAAC,CAAC;KACZ,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,IAA6B,EAAE,UAAoB;IAClF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACtB,8BAA8B,CAAC;QAC7B,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,SAAS;QACrC,aAAa,EAAE,GAAG;QAClB,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QAClD,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,GAAG,CAAC,IAAI;KACf,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,IAAuB;IACxC,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvE,OAAO,IAAI,CAAC,KAAK,CAAC;AACpB,CAAC;AAED,SAAS,cAAc,CAAC,GAA0B;IAChD,uGAAuG;IACvG,sGAAsG;IACtG,MAAM,OAAO,GAAG,+BAA+B,CAAC,GAAG,EAAE,kBAAkB,EAAE,CAAC,CAAC,OAAO,CAAC;IACnF,MAAM,MAAM,GAA2B,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACpE,MAAM,UAAU,GAAa,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAExE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACrB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7F,OAAO,qBAAqB,CAAC;QAC3B,UAAU;QACV,MAAM;QACN,SAAS,EAAE,IAAI,CAAC,KAAK;QACrB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC;KACvB,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAEhF;;;kGAGkG;AAClG,MAAM,UAAU,6BAA6B,CAAC,IAAY;IACxD,
|
|
1
|
+
{"version":3,"file":"texturePackerParse.js","sourceRoot":"","sources":["../src/texturePackerParse.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/spritesheet-formats",
|
|
3
|
-
"version": "0.2.1-next.
|
|
3
|
+
"version": "0.2.1-next.701.409c279",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/flighthq/flight.git",
|
|
@@ -32,11 +32,11 @@
|
|
|
32
32
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@flighthq/textureatlas": "0.2.1-next.
|
|
36
|
-
"@flighthq/textureatlas-formats": "0.2.1-next.
|
|
37
|
-
"@flighthq/spritesheet": "0.2.1-next.
|
|
38
|
-
"@flighthq/types": "0.2.1-next.
|
|
39
|
-
"@flighthq/xml": "0.2.1-next.
|
|
35
|
+
"@flighthq/textureatlas": "0.2.1-next.701.409c279",
|
|
36
|
+
"@flighthq/textureatlas-formats": "0.2.1-next.701.409c279",
|
|
37
|
+
"@flighthq/spritesheet": "0.2.1-next.701.409c279",
|
|
38
|
+
"@flighthq/types": "0.2.1-next.701.409c279",
|
|
39
|
+
"@flighthq/xml": "0.2.1-next.701.409c279"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"typescript": "^5.3.0"
|
|
@@ -107,6 +107,13 @@ const NO_TAGS_JSON = JSON.stringify({
|
|
|
107
107
|
});
|
|
108
108
|
|
|
109
109
|
describe('parseAsepriteSpritesheet', () => {
|
|
110
|
+
it('returns an empty SpritesheetData (no throw) on malformed JSON', () => {
|
|
111
|
+
// Malformed JSON must yield the empty-data sentinel, not an uncaught SyntaxError — matching the
|
|
112
|
+
// never-throw importer policy and parseSpritesheet's null-on-unrecognized philosophy.
|
|
113
|
+
expect(() => parseAsepriteSpritesheet('{ not valid json')).not.toThrow();
|
|
114
|
+
expect(parseAsepriteSpritesheet('{ not valid json').frames).toHaveLength(0);
|
|
115
|
+
});
|
|
116
|
+
|
|
110
117
|
it('returns a SpritesheetData (not a Parsed object)', () => {
|
|
111
118
|
const result = parseAsepriteSpritesheet(HASH_JSON);
|
|
112
119
|
expect(typeof result.frames).toBe('object');
|
|
@@ -209,6 +216,15 @@ describe('parseAsepriteSpritesheet', () => {
|
|
|
209
216
|
});
|
|
210
217
|
|
|
211
218
|
describe('parseAsepriteSpritesheetDocument', () => {
|
|
219
|
+
it('returns an empty result (no throw) on malformed JSON', () => {
|
|
220
|
+
// Malformed JSON yields an empty result — empty data AND an empty (frame-less) document — not an
|
|
221
|
+
// uncaught throw and not null, matching the non-Document sibling.
|
|
222
|
+
expect(() => parseAsepriteSpritesheetDocument('{ not valid json')).not.toThrow();
|
|
223
|
+
const { data, document } = parseAsepriteSpritesheetDocument('{ not valid json');
|
|
224
|
+
expect(data.frames).toHaveLength(0);
|
|
225
|
+
expect((document as { frames: unknown[] }).frames).toHaveLength(0);
|
|
226
|
+
});
|
|
227
|
+
|
|
212
228
|
it('returns the same data as parseAsepriteSpritesheet', () => {
|
|
213
229
|
const parsed = parseAsepriteSpritesheet(HASH_JSON);
|
|
214
230
|
const { data } = parseAsepriteSpritesheetDocument(HASH_JSON);
|
|
@@ -90,6 +90,11 @@ const MINIMAL_HASH_JSON = JSON.stringify({
|
|
|
90
90
|
});
|
|
91
91
|
|
|
92
92
|
describe('parseTexturePackerSpritesheet', () => {
|
|
93
|
+
it('returns an empty SpritesheetData (no throw) on malformed JSON', () => {
|
|
94
|
+
expect(() => parseTexturePackerSpritesheet('not json')).not.toThrow();
|
|
95
|
+
expect(parseTexturePackerSpritesheet('not json').frames).toHaveLength(0);
|
|
96
|
+
});
|
|
97
|
+
|
|
93
98
|
it('returns a SpritesheetData (not a Parsed object)', () => {
|
|
94
99
|
const result = parseTexturePackerSpritesheet(HASH_JSON);
|
|
95
100
|
expect(typeof result.frames).toBe('object');
|
|
@@ -207,6 +212,13 @@ describe('parseTexturePackerSpritesheet', () => {
|
|
|
207
212
|
});
|
|
208
213
|
|
|
209
214
|
describe('parseTexturePackerSpritesheetDocument', () => {
|
|
215
|
+
it('returns an empty result (no throw) on malformed JSON', () => {
|
|
216
|
+
expect(() => parseTexturePackerSpritesheetDocument('not json')).not.toThrow();
|
|
217
|
+
const { data, document } = parseTexturePackerSpritesheetDocument('not json');
|
|
218
|
+
expect(data.frames).toHaveLength(0);
|
|
219
|
+
expect((document as { frames: unknown[] }).frames).toHaveLength(0);
|
|
220
|
+
});
|
|
221
|
+
|
|
210
222
|
it('returns the same data as parseTexturePackerSpritesheet', () => {
|
|
211
223
|
const parsed = parseTexturePackerSpritesheet(HASH_JSON);
|
|
212
224
|
const { data } = parseTexturePackerSpritesheetDocument(HASH_JSON);
|