strapi-typed-client 1.6.0 → 2.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 (82) hide show
  1. package/README.md +2 -2
  2. package/dist/cli/commands/check.d.ts +2 -3
  3. package/dist/cli/commands/check.d.ts.map +1 -1
  4. package/dist/cli/commands/check.js +3 -3
  5. package/dist/cli/commands/check.js.map +1 -1
  6. package/dist/cli/commands/generate.d.ts +2 -3
  7. package/dist/cli/commands/generate.d.ts.map +1 -1
  8. package/dist/cli/commands/generate.js +3 -3
  9. package/dist/cli/commands/generate.js.map +1 -1
  10. package/dist/cli/commands/watch.d.ts +2 -3
  11. package/dist/cli/commands/watch.d.ts.map +1 -1
  12. package/dist/cli/commands/watch.js +15 -9
  13. package/dist/cli/commands/watch.js.map +1 -1
  14. package/dist/cli/utils/api-client.d.ts.map +1 -1
  15. package/dist/cli/utils/api-client.js +4 -3
  16. package/dist/cli/utils/api-client.js.map +1 -1
  17. package/dist/cli/utils/file-writer.d.ts +8 -7
  18. package/dist/cli/utils/file-writer.d.ts.map +1 -1
  19. package/dist/cli/utils/file-writer.js +17 -61
  20. package/dist/cli/utils/file-writer.js.map +1 -1
  21. package/dist/core/endpoint-converter.d.ts +5 -1
  22. package/dist/core/endpoint-converter.d.ts.map +1 -1
  23. package/dist/core/endpoint-converter.js +114 -8
  24. package/dist/core/endpoint-converter.js.map +1 -1
  25. package/dist/generator/auth-api-generator.d.ts +11 -3
  26. package/dist/generator/auth-api-generator.d.ts.map +1 -1
  27. package/dist/generator/auth-api-generator.js +213 -220
  28. package/dist/generator/auth-api-generator.js.map +1 -1
  29. package/dist/generator/client-generator.d.ts +8 -0
  30. package/dist/generator/client-generator.d.ts.map +1 -1
  31. package/dist/generator/client-generator.js +162 -56
  32. package/dist/generator/client-generator.js.map +1 -1
  33. package/dist/generator/custom-api-generator.d.ts +1 -1
  34. package/dist/generator/custom-api-generator.d.ts.map +1 -1
  35. package/dist/generator/custom-api-generator.js +29 -5
  36. package/dist/generator/custom-api-generator.js.map +1 -1
  37. package/dist/generator/index-generator.d.ts.map +1 -1
  38. package/dist/generator/index-generator.js +0 -1
  39. package/dist/generator/index-generator.js.map +1 -1
  40. package/dist/generator/index.d.ts +8 -0
  41. package/dist/generator/index.d.ts.map +1 -1
  42. package/dist/generator/index.js +50 -0
  43. package/dist/generator/index.js.map +1 -1
  44. package/dist/generator/plugin-api-generator.d.ts +2 -0
  45. package/dist/generator/plugin-api-generator.d.ts.map +1 -1
  46. package/dist/generator/plugin-api-generator.js +23 -1
  47. package/dist/generator/plugin-api-generator.js.map +1 -1
  48. package/dist/generator/plugin-registry.d.ts +5 -0
  49. package/dist/generator/plugin-registry.d.ts.map +1 -1
  50. package/dist/generator/plugin-registry.js +2 -1
  51. package/dist/generator/plugin-registry.js.map +1 -1
  52. package/dist/generator/types-generator.d.ts +13 -3
  53. package/dist/generator/types-generator.d.ts.map +1 -1
  54. package/dist/generator/types-generator.js +91 -101
  55. package/dist/generator/types-generator.js.map +1 -1
  56. package/dist/next/index.d.ts +8 -1
  57. package/dist/next/index.d.ts.map +1 -1
  58. package/dist/next/index.js +42 -45
  59. package/dist/next/index.js.map +1 -1
  60. package/dist/plugin/server/src/controllers/schema.d.ts +3 -3
  61. package/dist/plugin/server/src/controllers/schema.js +3 -3
  62. package/dist/plugin/server/src/index.d.ts +3 -3
  63. package/dist/plugin/server/src/index.js +3 -3
  64. package/dist/schema-types.d.ts +1 -1
  65. package/dist/schema-types.d.ts.map +1 -1
  66. package/dist/shared/client-header.d.ts +19 -0
  67. package/dist/shared/client-header.d.ts.map +1 -0
  68. package/dist/shared/client-header.js +58 -0
  69. package/dist/shared/client-header.js.map +1 -0
  70. package/dist/shared/constants.d.ts +5 -0
  71. package/dist/shared/constants.d.ts.map +1 -1
  72. package/dist/shared/constants.js +5 -0
  73. package/dist/shared/constants.js.map +1 -1
  74. package/dist/shared/index.d.ts +1 -1
  75. package/dist/shared/index.d.ts.map +1 -1
  76. package/dist/shared/index.js +1 -1
  77. package/dist/shared/index.js.map +1 -1
  78. package/package.json +9 -14
  79. package/dist/index.d.ts +0 -102
  80. package/dist/index.d.ts.map +0 -1
  81. package/dist/index.js +0 -79
  82. package/dist/index.js.map +0 -1
package/dist/index.d.ts DELETED
@@ -1,102 +0,0 @@
1
- /**
2
- * A single validation issue inside a `ValidationError`.
3
- * Mirrors the Yup-style errors Strapi propagates from schema validation.
4
- */
5
- export interface StrapiValidationIssue {
6
- path: string[];
7
- message: string;
8
- name: string;
9
- }
10
- /**
11
- * Known Strapi v5 error names. Other strings still pass through at
12
- * runtime (for plugin or future-version errors) via the `(string & {})`
13
- * fallback.
14
- */
15
- export type StrapiErrorName = 'ValidationError' | 'BadRequestError' | 'PaginationError' | 'UnauthorizedError' | 'ForbiddenError' | 'PolicyError' | 'NotFoundError' | 'ConflictError' | 'PayloadTooLargeError' | 'RateLimitError' | 'ApplicationError' | (string & {});
16
- /**
17
- * Maps each known `StrapiErrorName` to its `details` payload shape.
18
- * Used by `isStrapiErrorOf` to narrow `details` after the discriminator
19
- * check. Wrapped in `Partial` because Strapi may omit `details` even
20
- * when the error name is known.
21
- */
22
- export type StrapiErrorDetailsMap = Partial<{
23
- ValidationError: {
24
- errors: StrapiValidationIssue[];
25
- };
26
- BadRequestError: Record<string, unknown>;
27
- PaginationError: Record<string, unknown>;
28
- UnauthorizedError: undefined;
29
- ForbiddenError: undefined;
30
- PolicyError: {
31
- policy?: string;
32
- message?: string;
33
- };
34
- NotFoundError: undefined;
35
- ConflictError: Record<string, unknown>;
36
- PayloadTooLargeError: undefined;
37
- RateLimitError: Record<string, unknown>;
38
- ApplicationError: Record<string, unknown>;
39
- }>;
40
- /**
41
- * Fallback shape when `errorName` is not in `StrapiErrorDetailsMap`
42
- * (e.g. 3rd-party plugin errors or Strapi versions newer than this client).
43
- */
44
- export interface UnknownStrapiErrorDetails {
45
- errorName: string;
46
- details?: Record<string, unknown>;
47
- }
48
- /**
49
- * Error thrown for non-2xx responses from Strapi. Use `isStrapiErrorOf`
50
- * to narrow `details` to its typed shape.
51
- *
52
- * @example
53
- * try { await strapi.articles.create({ title: '' }) }
54
- * catch (e) {
55
- * if (isStrapiErrorOf(e, 'ValidationError')) {
56
- * for (const issue of e.details?.errors ?? []) {
57
- * console.log(issue.path.join('.'), issue.message)
58
- * }
59
- * }
60
- * }
61
- */
62
- export declare class StrapiError extends Error {
63
- userMessage: string;
64
- status: number;
65
- statusText: string;
66
- /**
67
- * Strapi-side error name (e.g. "ValidationError"). `Error.name`
68
- * itself remains "StrapiError" so Sentry/sourcemap contracts are
69
- * unchanged.
70
- */
71
- errorName: StrapiErrorName;
72
- /** Narrow via `isStrapiErrorOf` for typed access. */
73
- details?: unknown;
74
- constructor(message: string, userMessage: string, status: number, statusText: string, details?: unknown, errorName?: StrapiErrorName);
75
- }
76
- export declare class StrapiConnectionError extends Error {
77
- url: string;
78
- cause?: Error;
79
- constructor(message: string, url: string, cause?: Error);
80
- }
81
- /** Type guard: is the value a StrapiError instance? */
82
- export declare function isStrapiError(err: unknown): err is StrapiError;
83
- /**
84
- * Type guard that narrows both `errorName` and `details` for a specific
85
- * Strapi error type.
86
- *
87
- * @example
88
- * if (isStrapiErrorOf(err, 'ValidationError')) {
89
- * err.details?.errors?.[0]?.path // string[] | undefined
90
- * }
91
- */
92
- export declare function isStrapiErrorOf<N extends keyof StrapiErrorDetailsMap>(err: unknown, name: N): err is StrapiError & {
93
- errorName: N;
94
- details: StrapiErrorDetailsMap[N];
95
- };
96
- export declare class StrapiClient {
97
- constructor(_config: {
98
- baseURL: string;
99
- token?: string;
100
- });
101
- }
102
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IAClC,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACf;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACrB,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,GACjB,mBAAmB,GACnB,gBAAgB,GAChB,aAAa,GACb,eAAe,GACf,eAAe,GACf,sBAAsB,GACtB,gBAAgB,GAChB,kBAAkB,GAClB,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAEnB;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC;IACxC,eAAe,EAAE;QAAE,MAAM,EAAE,qBAAqB,EAAE,CAAA;KAAE,CAAA;IACpD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACxC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACxC,iBAAiB,EAAE,SAAS,CAAA;IAC5B,cAAc,EAAE,SAAS,CAAA;IACzB,WAAW,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAClD,aAAa,EAAE,SAAS,CAAA;IACxB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACtC,oBAAoB,EAAE,SAAS,CAAA;IAC/B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACvC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC5C,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACtC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAY,SAAQ,KAAK;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,SAAS,EAAE,eAAe,CAAA;IAC1B,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAA;gBAGb,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,OAAO,EACjB,SAAS,GAAE,eAAgC;CAUlD;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAC5C,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,KAAK,CAAA;gBAED,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAM1D;AAED,uDAAuD;AACvD,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,WAAW,CAE9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,qBAAqB,EACjE,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,CAAC,GACR,GAAG,IAAI,WAAW,GAAG;IACpB,SAAS,EAAE,CAAC,CAAA;IACZ,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAA;CACpC,CAEA;AAED,qBAAa,YAAY;gBACT,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;CAG3D"}
package/dist/index.js DELETED
@@ -1,79 +0,0 @@
1
- // Stub file — compiled to dist/index.js by `tsc`.
2
- // When the user runs `npx strapi-types generate`, the generator overwrites
3
- // dist/index.js (and .d.ts) with real, schema-aware code.
4
- // Until then this stub provides importable symbols that throw at runtime
5
- // with a helpful message explaining what to do.
6
- //
7
- // IMPORTANT: keep this file in lockstep with what the generator emits in
8
- // `src/generator/client-generator.ts`. Pre-generation imports must compile.
9
- const NOT_GENERATED_MESSAGE = '[strapi-typed-client] Types have not been generated yet.\n' +
10
- 'Run: npx strapi-types generate --url <your-strapi-url>\n' +
11
- 'Docs: https://github.com/BoxLab-Ltd/strapi-typed-client#quick-start';
12
- /**
13
- * Error thrown for non-2xx responses from Strapi. Use `isStrapiErrorOf`
14
- * to narrow `details` to its typed shape.
15
- *
16
- * @example
17
- * try { await strapi.articles.create({ title: '' }) }
18
- * catch (e) {
19
- * if (isStrapiErrorOf(e, 'ValidationError')) {
20
- * for (const issue of e.details?.errors ?? []) {
21
- * console.log(issue.path.join('.'), issue.message)
22
- * }
23
- * }
24
- * }
25
- */
26
- export class StrapiError extends Error {
27
- userMessage;
28
- status;
29
- statusText;
30
- /**
31
- * Strapi-side error name (e.g. "ValidationError"). `Error.name`
32
- * itself remains "StrapiError" so Sentry/sourcemap contracts are
33
- * unchanged.
34
- */
35
- errorName;
36
- /** Narrow via `isStrapiErrorOf` for typed access. */
37
- details;
38
- constructor(message, userMessage, status, statusText, details, errorName = 'UnknownError') {
39
- super(message);
40
- this.name = 'StrapiError';
41
- this.userMessage = userMessage;
42
- this.status = status;
43
- this.statusText = statusText;
44
- this.errorName = errorName;
45
- this.details = details;
46
- }
47
- }
48
- export class StrapiConnectionError extends Error {
49
- url;
50
- cause;
51
- constructor(message, url, cause) {
52
- super(message);
53
- this.name = 'StrapiConnectionError';
54
- this.url = url;
55
- this.cause = cause;
56
- }
57
- }
58
- /** Type guard: is the value a StrapiError instance? */
59
- export function isStrapiError(err) {
60
- return err instanceof StrapiError;
61
- }
62
- /**
63
- * Type guard that narrows both `errorName` and `details` for a specific
64
- * Strapi error type.
65
- *
66
- * @example
67
- * if (isStrapiErrorOf(err, 'ValidationError')) {
68
- * err.details?.errors?.[0]?.path // string[] | undefined
69
- * }
70
- */
71
- export function isStrapiErrorOf(err, name) {
72
- return isStrapiError(err) && err.errorName === name;
73
- }
74
- export class StrapiClient {
75
- constructor(_config) {
76
- throw new Error(NOT_GENERATED_MESSAGE);
77
- }
78
- }
79
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,2EAA2E;AAC3E,0DAA0D;AAC1D,yEAAyE;AACzE,gDAAgD;AAChD,EAAE;AACF,yEAAyE;AACzE,4EAA4E;AAE5E,MAAM,qBAAqB,GACvB,4DAA4D;IAC5D,0DAA0D;IAC1D,qEAAqE,CAAA;AA4DzE;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IAClC,WAAW,CAAQ;IACnB,MAAM,CAAQ;IACd,UAAU,CAAQ;IAClB;;;;OAIG;IACH,SAAS,CAAiB;IAC1B,qDAAqD;IACrD,OAAO,CAAU;IAEjB,YACI,OAAe,EACf,WAAmB,EACnB,MAAc,EACd,UAAkB,EAClB,OAAiB,EACjB,YAA6B,cAAc;QAE3C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;QACzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,CAAC;CACJ;AAED,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC5C,GAAG,CAAQ;IACX,KAAK,CAAQ;IAEb,YAAY,OAAe,EAAE,GAAW,EAAE,KAAa;QACnD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;QACnC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACtB,CAAC;CACJ;AAED,uDAAuD;AACvD,MAAM,UAAU,aAAa,CAAC,GAAY;IACtC,OAAO,GAAG,YAAY,WAAW,CAAA;AACrC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAC3B,GAAY,EACZ,IAAO;IAKP,OAAO,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,CAAA;AACvD,CAAC;AAED,MAAM,OAAO,YAAY;IACrB,YAAY,OAA4C;QACpD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;IAC1C,CAAC;CACJ"}