@supersoniks/concorde 4.9.92 → 4.9.93
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/ai/cursor/rules/concorde.mdc +7 -0
- package/ai/jetbrains/rules/concorde.md +6 -0
- package/ai/skills/concorde/SKILL.md +48 -0
- package/build-infos.json +1 -1
- package/concorde-core.bundle.js +257 -257
- package/concorde-core.es.js +3148 -3077
- package/dist/concorde-core.bundle.js +257 -257
- package/dist/concorde-core.es.js +3148 -3077
- package/dist/js/core/decorators/api.js +108 -16
- package/dist/js/core/decorators/api.js.map +1 -1
- package/dist/js/core/utils/api.js +29 -8
- package/dist/js/core/utils/api.js.map +1 -1
- package/dist/types/core/decorators/api.d.ts +21 -12
- package/dist/types/core/decorators/api.d.ts.map +1 -1
- package/dist/types/core/utils/api.d.ts +1 -1
- package/dist/types/core/utils/api.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/core/decorators/api.post.spec.ts +99 -4
- package/src/core/decorators/api.spec.ts +90 -0
- package/src/core/decorators/api.ts +212 -92
- package/src/core/utils/api.spec.ts +73 -0
- package/src/core/utils/api.ts +44 -11
- package/src/docs/_decorators/get.md +31 -0
- package/src/docs/_decorators/patch.md +9 -0
- package/src/docs/_decorators/post.md +11 -0
- package/src/docs/_decorators/put.md +9 -0
- package/src/docs/components/docs-demo-sources.ts +14 -0
- package/src/docs/example/decorators-demo-post.ts +70 -0
- package/src/docs/example/decorators-demo-subscribe-publish-get-demos.ts +59 -0
- package/src/docs/search/docs-search.json +120 -5
- package/src/tsconfig.tsbuildinfo +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/core/decorators/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI7C,OAAY,EACV,gBAAgB,EAChB,KAAK,SAAS,EACf,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EACL,KAAK,kBAAkB,EAGxB,MAAM,0BAA0B,CAAC;AAoNlC,KAAK,
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/core/decorators/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI7C,OAAY,EACV,gBAAgB,EAChB,KAAK,SAAS,EACf,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EACL,KAAK,kBAAkB,EAGxB,MAAM,0BAA0B,CAAC;AAoNlC,KAAK,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAE1E,MAAM,WAAW,kBAAkB,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,GAAG,MAAM;IACjE,CACE,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAAG,MAAM,EAC5B,UAAU,EAAE,uBAAuB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GACvD,IAAI,CAAC;IACR,CAAC,CAAC,SAAS,MAAM,EACf,MAAM,EAAE,IAAI,GAAG;SACZ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS;KAC3C,EACD,WAAW,EAAE,CAAC,GACb,IAAI,CAAC;IACR;;;;;;;OAOG;IACH,OAAO,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;CAC7D;AAuBD,MAAM,WAAW,sBAAsB,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,GAAG,MAAM;IACrE,CACE,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAAG,MAAM,EAC5B,UAAU,EAAE,uBAAuB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GACvD,IAAI,CAAC;IACR,CAAC,CAAC,SAAS,MAAM,EACf,MAAM,EAAE,IAAI,GAAG;SACZ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS;KAC3C,EACD,WAAW,EAAE,CAAC,GACb,IAAI,CAAC;IACR;;;;;OAKG;IACH,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;CAC1D;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC3B,CAAC;AAwCF,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,GAAG,MAAM,EACrD,MAAM,EAAE,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,EACnC,OAAO,CAAC,EAAE,sBAAsB,GAC/B,eAAe,CAKjB;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,GAAG,MAAM,EAClD,MAAM,EAAE,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,EACvC,OAAO,CAAC,EAAE,sBAAsB,GAC/B,eAAe,CAKjB;AAyBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAC7B,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,GACxB,kBAAkB,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;AAClD,wBAAgB,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EACvC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EACzB,gBAAgB,EAAE,eAAe,CAAC,gBAAgB,EAAE,EAAE,CAAC,GACtD,kBAAkB,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5E,wBAAgB,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EACvC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EACzB,OAAO,EAAE,UAAU,GAClB,kBAAkB,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;AAClD,wBAAgB,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EACjD,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EACzB,gBAAgB,EAAE,eAAe,CAAC,gBAAgB,EAAE,EAAE,CAAC,EACvD,OAAO,EAAE,UAAU,GAClB,kBAAkB,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;AA2S5E,MAAM,MAAM,UAAU,CAAC,EAAE,GAAG,GAAG,IAAI,kBAAkB,GAAG;IACtD,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,EAAE,GAAG,GAAG,IAAI,kBAAkB,GAAG;IAC1D;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iFAAiF;IACjF,UAAU,CAAC,EAAE,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;CAC3C,CAAC;AAEF,qDAAqD;AACrD,MAAM,MAAM,WAAW,CAAC,EAAE,GAAG,GAAG,IAAI,cAAc,CAAC,EAAE,CAAC,CAAC;AACvD,MAAM,MAAM,UAAU,CAAC,EAAE,GAAG,GAAG,IAAI,cAAc,CAAC,EAAE,CAAC,CAAC;AACtD,MAAM,MAAM,YAAY,CAAC,EAAE,GAAG,GAAG,IAAI,cAAc,CAAC,EAAE,CAAC,CAAC;AAgcxD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,EACjC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EACzB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAC1B,sBAAsB,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;AACtD,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAC3C,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EACzB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAC3B,gBAAgB,EAAE,eAAe,CAAC,gBAAgB,EAAE,EAAE,CAAC,GACtD,sBAAsB,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;AAChF,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAC3C,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EACzB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAC3B,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC,GACvB,sBAAsB,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;AACtD,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EACrD,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EACzB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAC3B,gBAAgB,EAAE,eAAe,CAAC,gBAAgB,EAAE,EAAE,CAAC,EACvD,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC,GACvB,sBAAsB,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;AAahF,2EAA2E;AAC3E,wBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,EAChC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EACzB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAC1B,sBAAsB,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;AACtD,wBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAC1C,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EACzB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAC3B,gBAAgB,EAAE,eAAe,CAAC,gBAAgB,EAAE,EAAE,CAAC,GACtD,sBAAsB,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;AAChF,wBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAC1C,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EACzB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAC3B,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,GACtB,sBAAsB,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;AACtD,wBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EACpD,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EACzB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAC3B,gBAAgB,EAAE,eAAe,CAAC,gBAAgB,EAAE,EAAE,CAAC,EACvD,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,GACtB,sBAAsB,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;AAahF,+EAA+E;AAC/E,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,EAClC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EACzB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAC1B,sBAAsB,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;AACtD,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAC5C,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EACzB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAC3B,gBAAgB,EAAE,eAAe,CAAC,gBAAgB,EAAE,EAAE,CAAC,GACtD,sBAAsB,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;AAChF,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAC5C,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EACzB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAC3B,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC,GACxB,sBAAsB,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;AACtD,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EACtD,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EACzB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAC3B,gBAAgB,EAAE,eAAe,CAAC,gBAAgB,EAAE,EAAE,CAAC,EACvD,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC,GACxB,sBAAsB,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -120,7 +120,7 @@ declare class API {
|
|
|
120
120
|
* firstCallDone is a function that returns a promise that is resolved when the first call to the API is done for each serviceURL whatever api instance is used
|
|
121
121
|
*/
|
|
122
122
|
private firstCallDone;
|
|
123
|
-
get<T>(path: string, additionalHeaders?: HeadersInit): Promise<T & ResultTypeInterface>;
|
|
123
|
+
get<T>(path: string, additionalHeaders?: HeadersInit): Promise<(T & ResultTypeInterface) | null>;
|
|
124
124
|
/**
|
|
125
125
|
* S’appuie sur `get()` puis reformate la réponse : `Request` équivalent à l’appel,
|
|
126
126
|
* `Response` renseignée par `lastResult` après un GET HTTP (via `handleResult`),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/core/utils/api.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AAGrE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gHAAgH;IAChH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AACjE,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG;IAC7C,qBAAqB,CAAC,EAAE,QAAQ,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AACF,MAAM,MAAM,OAAO,GAAG;IACpB,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,gBAAgB,CAAC;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,WAAW,GAAG,SAAS,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,mBAAmB,CAAC;CAChC,CAAC;AAEF,6DAA6D;AAC7D,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,sFAAsF;IACtF,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,mEAAmE;IACnE,MAAM,EAAE,CAAC,CAAC;CACX,CAAC;AAEF,wCAAwC;AACxC,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/core/utils/api.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -303,6 +303,91 @@ describe("post", () => {
|
|
|
303
303
|
);
|
|
304
304
|
expect(el.payload?.result).toEqual({ ok: true });
|
|
305
305
|
});
|
|
306
|
+
|
|
307
|
+
it("transmet le payload complet et conserve le retrigger du POST", async () => {
|
|
308
|
+
const bodyPubId = "postSpecHandlerBody";
|
|
309
|
+
const triggerPubId = "postSpecHandlerTrigger";
|
|
310
|
+
PublisherManager.get(bodyPubId).set({ tick: 1 });
|
|
311
|
+
const bodyKey = new DataProviderKey<{ tick: number }>(bodyPubId);
|
|
312
|
+
const triggerKey = new DataProviderKey<number>(triggerPubId);
|
|
313
|
+
const ep = new Endpoint<{ ok: boolean }>("items/handler");
|
|
314
|
+
const localPost = post(ep, bodyKey, {
|
|
315
|
+
autoPostOnBodyMutation: false,
|
|
316
|
+
triggerKey,
|
|
317
|
+
});
|
|
318
|
+
const received: Array<ApiResult<{ ok: boolean }> | undefined> = [];
|
|
319
|
+
const errorPayload = mockPayload({ ok: false });
|
|
320
|
+
errorPayload.response = new Response(JSON.stringify({ error: true }), {
|
|
321
|
+
status: 409,
|
|
322
|
+
headers: { "Content-Type": "application/json" },
|
|
323
|
+
});
|
|
324
|
+
vi.mocked(API.prototype.postDetailed).mockResolvedValueOnce(
|
|
325
|
+
errorPayload as never,
|
|
326
|
+
);
|
|
327
|
+
const tag = "test-api-post-handler";
|
|
328
|
+
|
|
329
|
+
class C extends HTMLElement {
|
|
330
|
+
@localPost
|
|
331
|
+
onPayload(payload: ApiResult<{ ok: boolean }> | undefined) {
|
|
332
|
+
received.push(payload);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
if (!customElements.get(tag)) {
|
|
336
|
+
customElements.define(tag, C);
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
const wrap = document.createElement("div");
|
|
340
|
+
wrap.setAttribute("serviceURL", "https://api.example.test");
|
|
341
|
+
const el = document.createElement(tag) as InstanceType<typeof C>;
|
|
342
|
+
wrap.appendChild(el);
|
|
343
|
+
document.body.appendChild(wrap);
|
|
344
|
+
await flushSendFrames();
|
|
345
|
+
|
|
346
|
+
expect(API.prototype.postDetailed).not.toHaveBeenCalled();
|
|
347
|
+
await localPost.send(el);
|
|
348
|
+
expect(received).toHaveLength(1);
|
|
349
|
+
expect(received[0]?.response?.status).toBe(409);
|
|
350
|
+
|
|
351
|
+
PublisherManager.get(triggerPubId).invalidate();
|
|
352
|
+
await flushSendFrames();
|
|
353
|
+
expect(API.prototype.postDetailed).toHaveBeenCalledTimes(2);
|
|
354
|
+
expect(received).toHaveLength(2);
|
|
355
|
+
});
|
|
356
|
+
|
|
357
|
+
it("transmet undefined à une méthode @post sur une erreur de transport", async () => {
|
|
358
|
+
const bodyPubId = "postSpecHandlerTransportBody";
|
|
359
|
+
PublisherManager.get(bodyPubId).set({ tick: 1 });
|
|
360
|
+
const bodyKey = new DataProviderKey<{ tick: number }>(bodyPubId);
|
|
361
|
+
const ep = new Endpoint<{ ok: boolean }>("items/handler-transport");
|
|
362
|
+
const localPost = post(ep, bodyKey, {
|
|
363
|
+
autoPostOnBodyMutation: false,
|
|
364
|
+
});
|
|
365
|
+
const received: Array<ApiResult<{ ok: boolean }> | undefined> = [];
|
|
366
|
+
vi.mocked(API.prototype.postDetailed).mockRejectedValueOnce(
|
|
367
|
+
new Error("network failure"),
|
|
368
|
+
);
|
|
369
|
+
const tag = "test-api-post-handler-transport";
|
|
370
|
+
|
|
371
|
+
class C extends HTMLElement {
|
|
372
|
+
@localPost
|
|
373
|
+
onPayload(payload: ApiResult<{ ok: boolean }> | undefined) {
|
|
374
|
+
received.push(payload);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
if (!customElements.get(tag)) {
|
|
378
|
+
customElements.define(tag, C);
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
const wrap = document.createElement("div");
|
|
382
|
+
wrap.setAttribute("serviceURL", "https://api.example.test");
|
|
383
|
+
const el = document.createElement(tag) as InstanceType<typeof C>;
|
|
384
|
+
wrap.appendChild(el);
|
|
385
|
+
document.body.appendChild(wrap);
|
|
386
|
+
await flushSendFrames();
|
|
387
|
+
|
|
388
|
+
await expect(localPost.send(el)).rejects.toThrow("network failure");
|
|
389
|
+
expect(received).toEqual([undefined]);
|
|
390
|
+
});
|
|
306
391
|
});
|
|
307
392
|
|
|
308
393
|
describe("put / patch", () => {
|
|
@@ -319,11 +404,15 @@ describe("put / patch", () => {
|
|
|
319
404
|
PublisherManager.get(bodyPubId).set({ name: "x" });
|
|
320
405
|
const bodyKey = new DataProviderKey<{ name: string }>(bodyPubId);
|
|
321
406
|
const ep = new Endpoint<{ ok: boolean }>("items/1");
|
|
407
|
+
const localPut = put(ep, bodyKey);
|
|
408
|
+
const received: Array<ApiResult<{ ok: boolean }> | undefined> = [];
|
|
322
409
|
const tag = "test-api-put";
|
|
323
410
|
|
|
324
411
|
class C extends HTMLElement {
|
|
325
|
-
@
|
|
326
|
-
payload: ApiResult<{ ok: boolean }> |
|
|
412
|
+
@localPut
|
|
413
|
+
onPayload(payload: ApiResult<{ ok: boolean }> | undefined) {
|
|
414
|
+
received.push(payload);
|
|
415
|
+
}
|
|
327
416
|
}
|
|
328
417
|
if (!customElements.get(tag)) {
|
|
329
418
|
customElements.define(tag, C);
|
|
@@ -338,6 +427,7 @@ describe("put / patch", () => {
|
|
|
338
427
|
expect(API.prototype.putDetailed).toHaveBeenCalledWith("items/1", {
|
|
339
428
|
name: "x",
|
|
340
429
|
});
|
|
430
|
+
expect(received).toHaveLength(1);
|
|
341
431
|
});
|
|
342
432
|
|
|
343
433
|
it("@patch appelle patchDetailed", async () => {
|
|
@@ -348,11 +438,15 @@ describe("put / patch", () => {
|
|
|
348
438
|
PublisherManager.get(bodyPubId).set({ name: "y" });
|
|
349
439
|
const bodyKey = new DataProviderKey<{ name: string }>(bodyPubId);
|
|
350
440
|
const ep = new Endpoint<{ ok: boolean }>("items/1");
|
|
441
|
+
const localPatch = patch(ep, bodyKey);
|
|
442
|
+
const received: Array<ApiResult<{ ok: boolean }> | undefined> = [];
|
|
351
443
|
const tag = "test-api-patch";
|
|
352
444
|
|
|
353
445
|
class C extends HTMLElement {
|
|
354
|
-
@
|
|
355
|
-
payload: ApiResult<{ ok: boolean }> |
|
|
446
|
+
@localPatch
|
|
447
|
+
onPayload(payload: ApiResult<{ ok: boolean }> | undefined) {
|
|
448
|
+
received.push(payload);
|
|
449
|
+
}
|
|
356
450
|
}
|
|
357
451
|
if (!customElements.get(tag)) {
|
|
358
452
|
customElements.define(tag, C);
|
|
@@ -367,5 +461,6 @@ describe("put / patch", () => {
|
|
|
367
461
|
expect(API.prototype.patchDetailed).toHaveBeenCalledWith("items/1", {
|
|
368
462
|
name: "y",
|
|
369
463
|
});
|
|
464
|
+
expect(received).toHaveLength(1);
|
|
370
465
|
});
|
|
371
466
|
});
|
|
@@ -190,6 +190,96 @@ describe("get", () => {
|
|
|
190
190
|
expect(el.payload?.result).toEqual({ id: "loaded" });
|
|
191
191
|
});
|
|
192
192
|
|
|
193
|
+
it("transmet le payload complet à une méthode @get", async () => {
|
|
194
|
+
const itemEp = new Endpoint<{ id: string }>("items/handler");
|
|
195
|
+
const received: Array<ApiResult<{ id: string }> | undefined> = [];
|
|
196
|
+
const tag = "test-api-get-handler";
|
|
197
|
+
const errorPayload = mockPayload({ id: "error" });
|
|
198
|
+
errorPayload.response = new Response(JSON.stringify({ error: true }), {
|
|
199
|
+
status: 422,
|
|
200
|
+
headers: { "Content-Type": "application/json" },
|
|
201
|
+
});
|
|
202
|
+
vi.mocked(API.prototype.getDetailed).mockResolvedValueOnce(
|
|
203
|
+
errorPayload as never,
|
|
204
|
+
);
|
|
205
|
+
|
|
206
|
+
class C extends HTMLElement {
|
|
207
|
+
@get(itemEp)
|
|
208
|
+
onPayload(payload: ApiResult<{ id: string }> | undefined) {
|
|
209
|
+
received.push(payload);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
if (!customElements.get(tag)) {
|
|
213
|
+
customElements.define(tag, C);
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
const wrap = document.createElement("div");
|
|
217
|
+
wrap.setAttribute("serviceURL", "https://api.example.test");
|
|
218
|
+
wrap.appendChild(document.createElement(tag));
|
|
219
|
+
document.body.appendChild(wrap);
|
|
220
|
+
await flushGetFrames();
|
|
221
|
+
|
|
222
|
+
expect(received).toHaveLength(1);
|
|
223
|
+
expect(received[0]?.result).toEqual({ id: "error" });
|
|
224
|
+
expect(received[0]?.response?.status).toBe(422);
|
|
225
|
+
expect(received[0]?.request.url).toContain("api.example.test");
|
|
226
|
+
});
|
|
227
|
+
|
|
228
|
+
it("transmet undefined à une méthode @get quand aucun payload n'est produit", async () => {
|
|
229
|
+
vi.mocked(API.prototype.getDetailed).mockResolvedValueOnce(undefined);
|
|
230
|
+
const itemEp = new Endpoint<{ id: string }>("items/handler-error");
|
|
231
|
+
const received: Array<ApiResult<{ id: string }> | undefined> = [];
|
|
232
|
+
const tag = "test-api-get-handler-undefined";
|
|
233
|
+
|
|
234
|
+
class C extends HTMLElement {
|
|
235
|
+
@get(itemEp)
|
|
236
|
+
onPayload(payload: ApiResult<{ id: string }> | undefined) {
|
|
237
|
+
received.push(payload);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
if (!customElements.get(tag)) {
|
|
241
|
+
customElements.define(tag, C);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
const wrap = document.createElement("div");
|
|
245
|
+
wrap.setAttribute("serviceURL", "https://api.example.test");
|
|
246
|
+
wrap.appendChild(document.createElement(tag));
|
|
247
|
+
document.body.appendChild(wrap);
|
|
248
|
+
await flushGetFrames();
|
|
249
|
+
|
|
250
|
+
expect(received).toEqual([undefined]);
|
|
251
|
+
});
|
|
252
|
+
|
|
253
|
+
it("permet d'appliquer un handle get directement à une méthode", async () => {
|
|
254
|
+
const itemEp = new Endpoint<{ id: string }>("items/method");
|
|
255
|
+
const localGet = get(itemEp);
|
|
256
|
+
const received: Array<ApiResult<{ id: string }> | undefined> = [];
|
|
257
|
+
const tag = "test-api-get-method-handler";
|
|
258
|
+
|
|
259
|
+
class C extends HTMLElement {
|
|
260
|
+
@localGet
|
|
261
|
+
onPayload(payload: ApiResult<{ id: string }> | undefined) {
|
|
262
|
+
received.push(payload);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
if (!customElements.get(tag)) {
|
|
266
|
+
customElements.define(tag, C);
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
const wrap = document.createElement("div");
|
|
270
|
+
wrap.setAttribute("serviceURL", "https://api.example.test");
|
|
271
|
+
const el = document.createElement(tag) as InstanceType<typeof C>;
|
|
272
|
+
wrap.appendChild(el);
|
|
273
|
+
document.body.appendChild(wrap);
|
|
274
|
+
await flushGetFrames();
|
|
275
|
+
|
|
276
|
+
expect(received).toHaveLength(1);
|
|
277
|
+
expect(received[0]?.result).toEqual({ id: "loaded" });
|
|
278
|
+
|
|
279
|
+
await localGet.refetch(el);
|
|
280
|
+
expect(received).toHaveLength(2);
|
|
281
|
+
});
|
|
282
|
+
|
|
193
283
|
it("expose un refetch local avant et après le premier payload", async () => {
|
|
194
284
|
const pubId = "getSpecLocalRefetch";
|
|
195
285
|
PublisherManager.get(pubId).set(staticConfig);
|