@xivdyetools/types 1.6.1 → 1.9.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 (49) hide show
  1. package/LICENSE +37 -37
  2. package/README.md +290 -291
  3. package/dist/api/index.d.ts +1 -1
  4. package/dist/api/index.d.ts.map +1 -1
  5. package/dist/api/response.d.ts +1 -16
  6. package/dist/api/response.d.ts.map +1 -1
  7. package/dist/api/response.js +1 -1
  8. package/dist/auth/discord-snowflake.d.ts +71 -0
  9. package/dist/auth/discord-snowflake.d.ts.map +1 -0
  10. package/dist/auth/discord-snowflake.js +70 -0
  11. package/dist/auth/discord-snowflake.js.map +1 -0
  12. package/dist/auth/index.d.ts +3 -1
  13. package/dist/auth/index.d.ts.map +1 -1
  14. package/dist/auth/index.js +1 -1
  15. package/dist/auth/index.js.map +1 -1
  16. package/dist/auth/response.d.ts +93 -34
  17. package/dist/auth/response.d.ts.map +1 -1
  18. package/dist/character/index.d.ts +4 -0
  19. package/dist/character/index.d.ts.map +1 -1
  20. package/dist/character/index.js.map +1 -1
  21. package/dist/color/colorblind.d.ts +1 -0
  22. package/dist/color/colorblind.d.ts.map +1 -1
  23. package/dist/color/index.d.ts +1 -1
  24. package/dist/color/index.d.ts.map +1 -1
  25. package/dist/color/rgb.d.ts +70 -0
  26. package/dist/color/rgb.d.ts.map +1 -1
  27. package/dist/dye/database.d.ts +1 -0
  28. package/dist/dye/database.d.ts.map +1 -1
  29. package/dist/dye/dye.d.ts +1 -0
  30. package/dist/dye/dye.d.ts.map +1 -1
  31. package/dist/error/app-error.js +2 -0
  32. package/dist/error/app-error.js.map +1 -1
  33. package/dist/index.d.ts +7 -8
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +1 -1
  36. package/dist/index.js.map +1 -1
  37. package/dist/preset/community.d.ts +0 -9
  38. package/dist/preset/community.d.ts.map +1 -1
  39. package/dist/preset/core.d.ts +0 -10
  40. package/dist/preset/core.d.ts.map +1 -1
  41. package/dist/preset/index.d.ts +3 -3
  42. package/dist/preset/index.d.ts.map +1 -1
  43. package/dist/preset/response.d.ts +126 -40
  44. package/dist/preset/response.d.ts.map +1 -1
  45. package/package.json +81 -82
  46. package/dist/utility/index.d.ts +0 -71
  47. package/dist/utility/index.d.ts.map +0 -1
  48. package/dist/utility/index.js +0 -20
  49. package/dist/utility/index.js.map +0 -1
package/dist/index.js CHANGED
@@ -14,10 +14,10 @@
14
14
  */
15
15
  export { createHexColor, createDyeId, createHue, createSaturation } from './color/index.js';
16
16
  export { RACE_SUBRACES, SUBRACE_TO_RACE, COLOR_GRID_DIMENSIONS, } from './character/index.js';
17
+ export { isValidSnowflake } from './auth/index.js';
17
18
  // ============================================================================
18
19
  // Error Types
19
20
  // ============================================================================
20
21
  export { ErrorCode } from './error/index.js';
21
22
  export { AppError } from './error/index.js';
22
- export { isOk, isErr } from './utility/index.js';
23
23
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAqB5F,OAAO,EACL,aAAa,EACb,eAAe,EACf,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AA8E9B,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAO5C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAmB5F,OAAO,EACL,aAAa,EACb,eAAe,EACf,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AA+C9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AA6BnD,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC"}
@@ -78,13 +78,4 @@ export interface PresetSubmission {
78
78
  /** Tags (0-10 tags, max 30 chars each) */
79
79
  tags: string[];
80
80
  }
81
- /**
82
- * Extended submission with author info (for authenticated submissions)
83
- */
84
- export interface AuthenticatedPresetSubmission extends PresetSubmission {
85
- /** Submitter's Discord user ID */
86
- author_discord_id: string;
87
- /** Submitter's display name */
88
- author_name: string;
89
- }
90
81
  //# sourceMappingURL=community.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"community.d.ts","sourceRoot":"","sources":["../../src/preset/community.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IAEb,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IAEpB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,6BAA6B;IAC7B,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IAEX,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IAEb,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IAEpB,sCAAsC;IACtC,WAAW,EAAE,cAAc,CAAC;IAE5B,uCAAuC;IACvC,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,sBAAsB;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,2DAA2D;IAC3D,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC,gDAAgD;IAChD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B,sBAAsB;IACtB,UAAU,EAAE,MAAM,CAAC;IAEnB,wBAAwB;IACxB,MAAM,EAAE,YAAY,CAAC;IAErB,wCAAwC;IACxC,UAAU,EAAE,OAAO,CAAC;IAEpB,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;IAEnB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,wDAAwD;IACxD,eAAe,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IAEb,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IAEpB,eAAe;IACf,WAAW,EAAE,cAAc,CAAC;IAE5B,uCAAuC;IACvC,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,0CAA0C;IAC1C,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,6BAA8B,SAAQ,gBAAgB;IACrE,kCAAkC;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAE1B,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"community.d.ts","sourceRoot":"","sources":["../../src/preset/community.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IAEb,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IAEpB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,6BAA6B;IAC7B,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IAEX,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IAEb,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IAEpB,sCAAsC;IACtC,WAAW,EAAE,cAAc,CAAC;IAE5B,uCAAuC;IACvC,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,sBAAsB;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,2DAA2D;IAC3D,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC,gDAAgD;IAChD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B,sBAAsB;IACtB,UAAU,EAAE,MAAM,CAAC;IAEnB,wBAAwB;IACxB,MAAM,EAAE,YAAY,CAAC;IAErB,wCAAwC;IACxC,UAAU,EAAE,OAAO,CAAC;IAEpB,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;IAEnB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,wDAAwD;IACxD,eAAe,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IAEb,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IAEpB,eAAe;IACf,WAAW,EAAE,cAAc,CAAC;IAE5B,uCAAuC;IACvC,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,0CAA0C;IAC1C,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB"}
@@ -5,7 +5,6 @@
5
5
  *
6
6
  * @module preset/core
7
7
  */
8
- import type { Dye } from '../dye/dye.js';
9
8
  /**
10
9
  * Preset palette category identifiers
11
10
  */
@@ -66,15 +65,6 @@ export interface PresetPalette {
66
65
  /** Version for future updates */
67
66
  version?: string;
68
67
  }
69
- /**
70
- * Preset with resolved Dye objects
71
- *
72
- * Used when displaying a preset with full dye information.
73
- */
74
- export interface ResolvedPreset extends PresetPalette {
75
- /** Full Dye objects for each dye ID (null if dye not found) */
76
- resolvedDyes: (Dye | null)[];
77
- }
78
68
  /**
79
69
  * Full preset data structure
80
70
  *
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/preset/core.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEzC;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,iBAAiB,GACjB,SAAS,GACT,QAAQ,GACR,YAAY,GACZ,WAAW,CAAC;AAEhB;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEtF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,0BAA0B;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IAEb,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IAEpB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB,oDAAoD;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,kFAAkF;IAClF,EAAE,EAAE,MAAM,CAAC;IAEX,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IAEb,sCAAsC;IACtC,QAAQ,EAAE,cAAc,CAAC;IAEzB,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IAEpB,sCAAsC;IACtC,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,sBAAsB;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,+DAA+D;IAC/D,YAAY,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAEhB,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IAEpB,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAEjD,0BAA0B;IAC1B,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/preset/core.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,iBAAiB,GACjB,SAAS,GACT,QAAQ,GACR,YAAY,GACZ,WAAW,CAAC;AAEhB;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEtF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,0BAA0B;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IAEb,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IAEpB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB,oDAAoD;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,kFAAkF;IAClF,EAAE,EAAE,MAAM,CAAC;IAEX,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IAEb,sCAAsC;IACtC,QAAQ,EAAE,cAAc,CAAC;IAEzB,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IAEpB,sCAAsC;IACtC,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,sBAAsB;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAEhB,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IAEpB,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAEjD,0BAA0B;IAC1B,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B"}
@@ -5,8 +5,8 @@
5
5
  *
6
6
  * @module preset
7
7
  */
8
- export type { PresetCategory, PresetStatus, PresetSortOption, CategoryMeta, PresetPalette, ResolvedPreset, PresetData, } from './core.js';
9
- export type { PresetPreviousValues, CommunityPreset, PresetSubmission, AuthenticatedPresetSubmission, } from './community.js';
8
+ export type { PresetCategory, PresetStatus, PresetSortOption, CategoryMeta, PresetPalette, PresetData, } from './core.js';
9
+ export type { PresetPreviousValues, CommunityPreset, PresetSubmission, } from './community.js';
10
10
  export type { PresetFilters, PresetEditRequest } from './request.js';
11
- export type { PresetListResponse, PresetSubmitResponse, PresetEditResponse, VoteResponse, ModerationResponse, CategoryListResponse, } from './response.js';
11
+ export type { PresetListResponse, PresetSubmitCreatedResponse, PresetSubmitDuplicateResponse, PresetSubmitErrorResponse, PresetSubmitResponse, PresetEditDuplicateInfo, PresetEditSuccessResponse, PresetEditDuplicateResponse, PresetEditErrorResponse, PresetEditResponse, VoteSuccessResponse, VoteErrorResponse, VoteResponse, ModerationSuccessResponse, ModerationErrorResponse, ModerationResponse, CategoryListResponse, } from './response.js';
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/preset/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,cAAc,EACd,UAAU,GACX,MAAM,WAAW,CAAC;AAGnB,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,6BAA6B,GAC9B,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGrE,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/preset/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,UAAU,GACX,MAAM,WAAW,CAAC;AAGnB,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGrE,YAAY,EACV,kBAAkB,EAClB,2BAA2B,EAC3B,6BAA6B,EAC7B,yBAAyB,EACzB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,yBAAyB,EACzB,uBAAuB,EACvB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,eAAe,CAAC"}
@@ -23,65 +23,151 @@ export interface PresetListResponse {
23
23
  has_more: boolean;
24
24
  }
25
25
  /**
26
- * Response when submitting a preset
26
+ * Successful preset creation response
27
+ * @internal Not for direct consumer import — use `PresetSubmitResponse` union instead
27
28
  */
28
- export interface PresetSubmitResponse {
29
- /** Whether the operation succeeded */
30
- success: boolean;
31
- /** The created preset (if new) */
32
- preset?: CommunityPreset;
33
- /** The existing preset (if duplicate found) */
34
- duplicate?: CommunityPreset;
35
- /** Whether a vote was added to duplicate */
36
- vote_added?: boolean;
29
+ export interface PresetSubmitCreatedResponse {
30
+ /** Operation succeeded */
31
+ success: true;
32
+ /** The newly created preset */
33
+ preset: CommunityPreset;
37
34
  /** Moderation result */
38
- moderation_status?: 'approved' | 'pending';
39
- /** Error message (if success is false) */
40
- error?: string;
35
+ moderation_status: 'approved' | 'pending';
41
36
  }
42
37
  /**
43
- * Response from preset edit endpoint
38
+ * Duplicate preset found response
39
+ * @internal Not for direct consumer import — use `PresetSubmitResponse` union instead
40
+ */
41
+ export interface PresetSubmitDuplicateResponse {
42
+ /** Operation succeeded (duplicate handling is not an error) */
43
+ success: true;
44
+ /** The existing preset that matched */
45
+ duplicate: CommunityPreset;
46
+ /** Whether a vote was added to the duplicate */
47
+ vote_added: boolean;
48
+ }
49
+ /**
50
+ * Failed preset submission response
51
+ * @internal Not for direct consumer import — use `PresetSubmitResponse` union instead
52
+ */
53
+ export interface PresetSubmitErrorResponse {
54
+ /** Operation failed */
55
+ success: false;
56
+ /** Error message describing the failure */
57
+ error: string;
58
+ }
59
+ /**
60
+ * Response when submitting a preset
61
+ *
62
+ * Uses discriminated union with multiple success states:
63
+ * - Created: new preset was created
64
+ * - Duplicate: existing preset found, vote may have been added
65
+ * - Error: submission failed
44
66
  */
45
- export interface PresetEditResponse {
46
- /** Whether the operation succeeded */
47
- success: boolean;
67
+ export type PresetSubmitResponse = PresetSubmitCreatedResponse | PresetSubmitDuplicateResponse | PresetSubmitErrorResponse;
68
+ /**
69
+ * Duplicate preset info for edit conflict
70
+ * @internal Not for direct consumer import — use `PresetEditResponse` union instead
71
+ */
72
+ export interface PresetEditDuplicateInfo {
73
+ id: string;
74
+ name: string;
75
+ author_name: string | null;
76
+ }
77
+ /**
78
+ * Successful preset edit response
79
+ * @internal Not for direct consumer import — use `PresetEditResponse` union instead
80
+ */
81
+ export interface PresetEditSuccessResponse {
82
+ /** Operation succeeded */
83
+ success: true;
48
84
  /** The updated preset */
49
- preset?: CommunityPreset;
85
+ preset: CommunityPreset;
50
86
  /** Moderation result (if content needed review) */
51
87
  moderation_status?: 'approved' | 'pending';
52
- /** Duplicate info (if edit would create duplicate) */
53
- duplicate?: {
54
- id: string;
55
- name: string;
56
- author_name: string | null;
57
- };
58
- /** Error message (if success is false) */
59
- error?: string;
60
88
  }
61
89
  /**
62
- * Response when voting on a preset
90
+ * Preset edit blocked due to duplicate
91
+ * @internal Not for direct consumer import — use `PresetEditResponse` union instead
92
+ */
93
+ export interface PresetEditDuplicateResponse {
94
+ /** Operation failed due to duplicate */
95
+ success: false;
96
+ /** Info about the existing duplicate */
97
+ duplicate: PresetEditDuplicateInfo;
98
+ /** Error message */
99
+ error: string;
100
+ }
101
+ /**
102
+ * Failed preset edit response
103
+ * @internal Not for direct consumer import — use `PresetEditResponse` union instead
104
+ */
105
+ export interface PresetEditErrorResponse {
106
+ /** Operation failed */
107
+ success: false;
108
+ /** Error message describing the failure */
109
+ error: string;
110
+ }
111
+ /**
112
+ * Response from preset edit endpoint
113
+ *
114
+ * Uses discriminated union for type-safe handling.
115
+ */
116
+ export type PresetEditResponse = PresetEditSuccessResponse | PresetEditDuplicateResponse | PresetEditErrorResponse;
117
+ /**
118
+ * Successful vote response
119
+ * @internal Not for direct consumer import — use `VoteResponse` union instead
63
120
  */
64
- export interface VoteResponse {
65
- /** Whether the operation succeeded */
66
- success: boolean;
121
+ export interface VoteSuccessResponse {
122
+ /** Operation succeeded */
123
+ success: true;
67
124
  /** Updated vote count */
68
125
  new_vote_count: number;
69
- /** True if user already voted */
126
+ /** True if user already voted (vote was not added) */
70
127
  already_voted?: boolean;
71
- /** Error message (if success is false) */
72
- error?: string;
73
128
  }
74
129
  /**
75
- * Response from moderation actions
130
+ * Failed vote response
131
+ * @internal Not for direct consumer import — use `VoteResponse` union instead
76
132
  */
77
- export interface ModerationResponse {
78
- /** Whether the operation succeeded */
79
- success: boolean;
133
+ export interface VoteErrorResponse {
134
+ /** Operation failed */
135
+ success: false;
136
+ /** Error message describing the failure */
137
+ error: string;
138
+ }
139
+ /**
140
+ * Response when voting on a preset
141
+ *
142
+ * Uses discriminated union for type-safe handling.
143
+ */
144
+ export type VoteResponse = VoteSuccessResponse | VoteErrorResponse;
145
+ /**
146
+ * Successful moderation response
147
+ * @internal Not for direct consumer import — use `ModerationResponse` union instead
148
+ */
149
+ export interface ModerationSuccessResponse {
150
+ /** Operation succeeded */
151
+ success: true;
80
152
  /** The updated preset */
81
- preset?: CommunityPreset;
82
- /** Error message (if success is false) */
83
- error?: string;
153
+ preset: CommunityPreset;
154
+ }
155
+ /**
156
+ * Failed moderation response
157
+ * @internal Not for direct consumer import — use `ModerationResponse` union instead
158
+ */
159
+ export interface ModerationErrorResponse {
160
+ /** Operation failed */
161
+ success: false;
162
+ /** Error message describing the failure */
163
+ error: string;
84
164
  }
165
+ /**
166
+ * Response from moderation actions
167
+ *
168
+ * Uses discriminated union for type-safe handling.
169
+ */
170
+ export type ModerationResponse = ModerationSuccessResponse | ModerationErrorResponse;
85
171
  /**
86
172
  * Response when listing categories
87
173
  */
@@ -1 +1 @@
1
- {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/preset/response.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,uBAAuB;IACvB,OAAO,EAAE,eAAe,EAAE,CAAC;IAE3B,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IAEd,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IAEb,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IAEd,mCAAmC;IACnC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IAEjB,kCAAkC;IAClC,MAAM,CAAC,EAAE,eAAe,CAAC;IAEzB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,eAAe,CAAC;IAE5B,4CAA4C;IAC5C,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,wBAAwB;IACxB,iBAAiB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAE3C,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IAEjB,yBAAyB;IACzB,MAAM,CAAC,EAAE,eAAe,CAAC;IAEzB,mDAAmD;IACnD,iBAAiB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAE3C,sDAAsD;IACtD,SAAS,CAAC,EAAE;QACV,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B,CAAC;IAEF,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IAEjB,yBAAyB;IACzB,cAAc,EAAE,MAAM,CAAC;IAEvB,iCAAiC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IAEjB,yBAAyB;IACzB,MAAM,CAAC,EAAE,eAAe,CAAC;IAEzB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,UAAU,EAAE,YAAY,EAAE,CAAC;CAC5B"}
1
+ {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/preset/response.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,82 +1,81 @@
1
- {
2
- "name": "@xivdyetools/types",
3
- "version": "1.6.1",
4
- "description": "Shared TypeScript type definitions for the xivdyetools ecosystem",
5
- "author": "XIV Dye Tools",
6
- "license": "MIT",
7
- "type": "module",
8
- "main": "dist/index.js",
9
- "types": "dist/index.d.ts",
10
- "exports": {
11
- ".": {
12
- "types": "./dist/index.d.ts",
13
- "import": "./dist/index.js"
14
- },
15
- "./color": {
16
- "types": "./dist/color/index.d.ts",
17
- "import": "./dist/color/index.js"
18
- },
19
- "./dye": {
20
- "types": "./dist/dye/index.d.ts",
21
- "import": "./dist/dye/index.js"
22
- },
23
- "./character": {
24
- "types": "./dist/character/index.d.ts",
25
- "import": "./dist/character/index.js"
26
- },
27
- "./preset": {
28
- "types": "./dist/preset/index.d.ts",
29
- "import": "./dist/preset/index.js"
30
- },
31
- "./auth": {
32
- "types": "./dist/auth/index.d.ts",
33
- "import": "./dist/auth/index.js"
34
- },
35
- "./api": {
36
- "types": "./dist/api/index.d.ts",
37
- "import": "./dist/api/index.js"
38
- },
39
- "./error": {
40
- "types": "./dist/error/index.d.ts",
41
- "import": "./dist/error/index.js"
42
- },
43
- "./localization": {
44
- "types": "./dist/localization/index.d.ts",
45
- "import": "./dist/localization/index.js"
46
- }
47
- },
48
- "files": [
49
- "dist",
50
- "README.md"
51
- ],
52
- "sideEffects": false,
53
- "scripts": {
54
- "build": "tsc -p tsconfig.build.json",
55
- "type-check": "tsc --noEmit",
56
- "clean": "rimraf dist",
57
- "prepublishOnly": "npm run clean && npm run build",
58
- "test": "vitest run",
59
- "test:watch": "vitest",
60
- "test:coverage": "vitest run --coverage"
61
- },
62
- "devDependencies": {
63
- "@vitest/coverage-v8": "^4.0.15",
64
- "rimraf": "^5.0.5",
65
- "typescript": "^5.9.3",
66
- "vitest": "^4.0.15"
67
- },
68
- "engines": {
69
- "node": ">=18.0.0"
70
- },
71
- "keywords": [
72
- "xivdyetools",
73
- "ffxiv",
74
- "dyes",
75
- "typescript",
76
- "types"
77
- ],
78
- "repository": {
79
- "type": "git",
80
- "url": "https://github.com/xivdyetools/xivdyetools-types.git"
81
- }
82
- }
1
+ {
2
+ "name": "@xivdyetools/types",
3
+ "version": "1.9.0",
4
+ "description": "Shared TypeScript type definitions for the xivdyetools ecosystem",
5
+ "author": "XIV Dye Tools",
6
+ "license": "MIT",
7
+ "type": "module",
8
+ "main": "dist/index.js",
9
+ "types": "dist/index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/index.d.ts",
13
+ "import": "./dist/index.js"
14
+ },
15
+ "./color": {
16
+ "types": "./dist/color/index.d.ts",
17
+ "import": "./dist/color/index.js"
18
+ },
19
+ "./dye": {
20
+ "types": "./dist/dye/index.d.ts",
21
+ "import": "./dist/dye/index.js"
22
+ },
23
+ "./character": {
24
+ "types": "./dist/character/index.d.ts",
25
+ "import": "./dist/character/index.js"
26
+ },
27
+ "./preset": {
28
+ "types": "./dist/preset/index.d.ts",
29
+ "import": "./dist/preset/index.js"
30
+ },
31
+ "./auth": {
32
+ "types": "./dist/auth/index.d.ts",
33
+ "import": "./dist/auth/index.js"
34
+ },
35
+ "./api": {
36
+ "types": "./dist/api/index.d.ts",
37
+ "import": "./dist/api/index.js"
38
+ },
39
+ "./error": {
40
+ "types": "./dist/error/index.d.ts",
41
+ "import": "./dist/error/index.js"
42
+ },
43
+ "./localization": {
44
+ "types": "./dist/localization/index.d.ts",
45
+ "import": "./dist/localization/index.js"
46
+ }
47
+ },
48
+ "files": [
49
+ "dist",
50
+ "README.md"
51
+ ],
52
+ "sideEffects": false,
53
+ "devDependencies": {
54
+ "@vitest/coverage-v8": "^4.0.18",
55
+ "vitest": "^4.0.18"
56
+ },
57
+ "engines": {
58
+ "node": ">=18.0.0"
59
+ },
60
+ "keywords": [
61
+ "xivdyetools",
62
+ "ffxiv",
63
+ "dyes",
64
+ "typescript",
65
+ "types"
66
+ ],
67
+ "repository": {
68
+ "type": "git",
69
+ "url": "https://github.com/FlashGalatine/xivdyetools.git",
70
+ "directory": "packages/types"
71
+ },
72
+ "scripts": {
73
+ "build": "tsc -p tsconfig.build.json",
74
+ "type-check": "tsc --noEmit",
75
+ "clean": "rimraf dist",
76
+ "lint": "eslint src",
77
+ "test": "vitest run",
78
+ "test:watch": "vitest",
79
+ "test:coverage": "vitest run --coverage"
80
+ }
81
+ }
@@ -1,71 +0,0 @@
1
- /**
2
- * @xivdyetools/types - Utility Types
3
- *
4
- * Generic utility types for common patterns.
5
- *
6
- * @module utility
7
- */
8
- import type { AppError } from '../error/app-error.js';
9
- /**
10
- * Generic result type for operations that might fail
11
- *
12
- * Use this for functions that can return either a value or an error,
13
- * avoiding exceptions for expected failure cases.
14
- *
15
- * @example
16
- * ```typescript
17
- * function parseColor(hex: string): Result<RGB> {
18
- * if (!isValidHex(hex)) {
19
- * return { ok: false, error: new AppError('INVALID_HEX', 'Invalid hex color') };
20
- * }
21
- * return { ok: true, value: hexToRgb(hex) };
22
- * }
23
- *
24
- * const result = parseColor('#ff0000');
25
- * if (result.ok) {
26
- * console.log(result.value); // RGB object
27
- * } else {
28
- * console.error(result.error.message);
29
- * }
30
- * ```
31
- */
32
- export type Result<T, E = AppError> = {
33
- ok: true;
34
- value: T;
35
- } | {
36
- ok: false;
37
- error: E;
38
- };
39
- /**
40
- * Async result type
41
- *
42
- * Promise wrapper around Result for async operations.
43
- */
44
- export type AsyncResult<T, E = AppError> = Promise<Result<T, E>>;
45
- /**
46
- * Nullable type
47
- *
48
- * Value that can be T or null.
49
- */
50
- export type Nullable<T> = T | null;
51
- /**
52
- * Optional type
53
- *
54
- * Value that can be T or undefined.
55
- */
56
- export type Optional<T> = T | undefined;
57
- /**
58
- * Type guard for checking if a Result is successful
59
- */
60
- export declare function isOk<T, E>(result: Result<T, E>): result is {
61
- ok: true;
62
- value: T;
63
- };
64
- /**
65
- * Type guard for checking if a Result is an error
66
- */
67
- export declare function isErr<T, E>(result: Result<T, E>): result is {
68
- ok: false;
69
- error: E;
70
- };
71
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utility/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,IAC9B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GACtB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAE5B;;;;GAIG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEjE;;;;GAIG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAEnC;;;;GAIG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;AAExC;;GAEG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAEjF;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,IAAI;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAEnF"}
@@ -1,20 +0,0 @@
1
- /**
2
- * @xivdyetools/types - Utility Types
3
- *
4
- * Generic utility types for common patterns.
5
- *
6
- * @module utility
7
- */
8
- /**
9
- * Type guard for checking if a Result is successful
10
- */
11
- export function isOk(result) {
12
- return result.ok;
13
- }
14
- /**
15
- * Type guard for checking if a Result is an error
16
- */
17
- export function isErr(result) {
18
- return !result.ok;
19
- }
20
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utility/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAoDH;;GAEG;AACH,MAAM,UAAU,IAAI,CAAO,MAAoB;IAC7C,OAAO,MAAM,CAAC,EAAE,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAO,MAAoB;IAC9C,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;AACpB,CAAC"}