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.
- package/README.md +2 -2
- package/dist/cli/commands/check.d.ts +2 -3
- package/dist/cli/commands/check.d.ts.map +1 -1
- package/dist/cli/commands/check.js +3 -3
- package/dist/cli/commands/check.js.map +1 -1
- package/dist/cli/commands/generate.d.ts +2 -3
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +3 -3
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/watch.d.ts +2 -3
- package/dist/cli/commands/watch.d.ts.map +1 -1
- package/dist/cli/commands/watch.js +15 -9
- package/dist/cli/commands/watch.js.map +1 -1
- package/dist/cli/utils/api-client.d.ts.map +1 -1
- package/dist/cli/utils/api-client.js +4 -3
- package/dist/cli/utils/api-client.js.map +1 -1
- package/dist/cli/utils/file-writer.d.ts +8 -7
- package/dist/cli/utils/file-writer.d.ts.map +1 -1
- package/dist/cli/utils/file-writer.js +17 -61
- package/dist/cli/utils/file-writer.js.map +1 -1
- package/dist/core/endpoint-converter.d.ts +5 -1
- package/dist/core/endpoint-converter.d.ts.map +1 -1
- package/dist/core/endpoint-converter.js +114 -8
- package/dist/core/endpoint-converter.js.map +1 -1
- package/dist/generator/auth-api-generator.d.ts +11 -3
- package/dist/generator/auth-api-generator.d.ts.map +1 -1
- package/dist/generator/auth-api-generator.js +213 -220
- package/dist/generator/auth-api-generator.js.map +1 -1
- package/dist/generator/client-generator.d.ts +8 -0
- package/dist/generator/client-generator.d.ts.map +1 -1
- package/dist/generator/client-generator.js +162 -56
- package/dist/generator/client-generator.js.map +1 -1
- package/dist/generator/custom-api-generator.d.ts +1 -1
- package/dist/generator/custom-api-generator.d.ts.map +1 -1
- package/dist/generator/custom-api-generator.js +29 -5
- package/dist/generator/custom-api-generator.js.map +1 -1
- package/dist/generator/index-generator.d.ts.map +1 -1
- package/dist/generator/index-generator.js +0 -1
- package/dist/generator/index-generator.js.map +1 -1
- package/dist/generator/index.d.ts +8 -0
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +50 -0
- package/dist/generator/index.js.map +1 -1
- package/dist/generator/plugin-api-generator.d.ts +2 -0
- package/dist/generator/plugin-api-generator.d.ts.map +1 -1
- package/dist/generator/plugin-api-generator.js +23 -1
- package/dist/generator/plugin-api-generator.js.map +1 -1
- package/dist/generator/plugin-registry.d.ts +5 -0
- package/dist/generator/plugin-registry.d.ts.map +1 -1
- package/dist/generator/plugin-registry.js +2 -1
- package/dist/generator/plugin-registry.js.map +1 -1
- package/dist/generator/types-generator.d.ts +13 -3
- package/dist/generator/types-generator.d.ts.map +1 -1
- package/dist/generator/types-generator.js +91 -101
- package/dist/generator/types-generator.js.map +1 -1
- package/dist/next/index.d.ts +8 -1
- package/dist/next/index.d.ts.map +1 -1
- package/dist/next/index.js +42 -45
- package/dist/next/index.js.map +1 -1
- package/dist/plugin/server/src/controllers/schema.d.ts +3 -3
- package/dist/plugin/server/src/controllers/schema.js +3 -3
- package/dist/plugin/server/src/index.d.ts +3 -3
- package/dist/plugin/server/src/index.js +3 -3
- package/dist/schema-types.d.ts +1 -1
- package/dist/schema-types.d.ts.map +1 -1
- package/dist/shared/client-header.d.ts +19 -0
- package/dist/shared/client-header.d.ts.map +1 -0
- package/dist/shared/client-header.js +58 -0
- package/dist/shared/client-header.js.map +1 -0
- package/dist/shared/constants.d.ts +5 -0
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js +5 -0
- package/dist/shared/constants.js.map +1 -1
- package/dist/shared/index.d.ts +1 -1
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +1 -1
- package/dist/shared/index.js.map +1 -1
- package/package.json +9 -14
- package/dist/index.d.ts +0 -102
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -79
- 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
|
package/dist/index.d.ts.map
DELETED
|
@@ -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"}
|