@azure-tools/typespec-azure-core 0.30.0-dev.7 → 0.30.0-dev.8
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/src/lib.d.ts +44 -23
- package/dist/src/lib.d.ts.map +1 -1
- package/dist/src/lib.js +12 -6
- package/dist/src/lib.js.map +1 -1
- package/dist/src/linter.d.ts.map +1 -1
- package/dist/src/linter.js +2 -0
- package/dist/src/linter.js.map +1 -1
- package/dist/src/rules/request-body-array.d.ts +2 -0
- package/dist/src/rules/request-body-array.d.ts.map +1 -0
- package/dist/src/rules/request-body-array.js +22 -0
- package/dist/src/rules/request-body-array.js.map +1 -0
- package/package.json +1 -1
package/dist/src/lib.d.ts
CHANGED
|
@@ -39,6 +39,12 @@ export declare const libDef: {
|
|
|
39
39
|
readonly default: import("@typespec/compiler").CallableMessage<["name"]>;
|
|
40
40
|
};
|
|
41
41
|
};
|
|
42
|
+
readonly "request-body-problem": {
|
|
43
|
+
readonly severity: "warning";
|
|
44
|
+
readonly messages: {
|
|
45
|
+
readonly array: "Request body should not be of raw array type. Consider creating a container model that can add properties over time to avoid introducing breaking changes.";
|
|
46
|
+
};
|
|
47
|
+
};
|
|
42
48
|
readonly "response-property-invalid": {
|
|
43
49
|
readonly severity: "error";
|
|
44
50
|
readonly messages: {
|
|
@@ -63,12 +69,6 @@ export declare const libDef: {
|
|
|
63
69
|
readonly default: "Parameters must be of template type RequestParameter<T> or ResponseProperty<T>.";
|
|
64
70
|
};
|
|
65
71
|
};
|
|
66
|
-
readonly "client-definition-parameters-not-model": {
|
|
67
|
-
readonly severity: "error";
|
|
68
|
-
readonly messages: {
|
|
69
|
-
readonly default: "The value for \"parameters\" property must be a model type";
|
|
70
|
-
};
|
|
71
|
-
};
|
|
72
72
|
readonly "invalid-resource-type": {
|
|
73
73
|
readonly severity: "error";
|
|
74
74
|
readonly messages: {
|
|
@@ -197,6 +197,12 @@ export declare const libDef: {
|
|
|
197
197
|
readonly default: "Operation ID is automatically generated by the OpenAPI emitters and should not normally be specified.";
|
|
198
198
|
};
|
|
199
199
|
};
|
|
200
|
+
readonly "invalid-body-schema": {
|
|
201
|
+
readonly severity: "warning";
|
|
202
|
+
readonly messages: {
|
|
203
|
+
readonly array: "Body schema should not be of raw array type.";
|
|
204
|
+
};
|
|
205
|
+
};
|
|
200
206
|
};
|
|
201
207
|
};
|
|
202
208
|
export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
|
|
@@ -219,6 +225,9 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
|
|
|
219
225
|
"request-parameter-invalid": {
|
|
220
226
|
readonly default: import("@typespec/compiler").CallableMessage<["name"]>;
|
|
221
227
|
};
|
|
228
|
+
"request-body-problem": {
|
|
229
|
+
readonly array: "Request body should not be of raw array type. Consider creating a container model that can add properties over time to avoid introducing breaking changes.";
|
|
230
|
+
};
|
|
222
231
|
"response-property-invalid": {
|
|
223
232
|
readonly default: import("@typespec/compiler").CallableMessage<["name"]>;
|
|
224
233
|
};
|
|
@@ -231,9 +240,6 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
|
|
|
231
240
|
"operation-link-parameter-invalid": {
|
|
232
241
|
readonly default: "Parameters must be of template type RequestParameter<T> or ResponseProperty<T>.";
|
|
233
242
|
};
|
|
234
|
-
"client-definition-parameters-not-model": {
|
|
235
|
-
readonly default: "The value for \"parameters\" property must be a model type";
|
|
236
|
-
};
|
|
237
243
|
"invalid-resource-type": {
|
|
238
244
|
readonly missingKey: import("@typespec/compiler").CallableMessage<["name"]>;
|
|
239
245
|
readonly missingSegment: import("@typespec/compiler").CallableMessage<["name"]>;
|
|
@@ -299,8 +305,11 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
|
|
|
299
305
|
"avoid-operation-id": {
|
|
300
306
|
readonly default: "Operation ID is automatically generated by the OpenAPI emitters and should not normally be specified.";
|
|
301
307
|
};
|
|
308
|
+
"invalid-body-schema": {
|
|
309
|
+
readonly array: "Body schema should not be of raw array type.";
|
|
310
|
+
};
|
|
302
311
|
}, Record<string, any>>;
|
|
303
|
-
export declare const reportDiagnostic: <C extends "casing-style" | "lro-status-union-non-string" | "lro-status-property-invalid-type" | "lro-status-missing" | "bad-record-type" | "request-parameter-invalid" | "response-property-invalid" | "no-multiple-discriminator" | "no-fixed-enum-discriminator" | "operation-link-parameter-invalid" | "
|
|
312
|
+
export declare const reportDiagnostic: <C extends "casing-style" | "lro-status-union-non-string" | "lro-status-property-invalid-type" | "lro-status-missing" | "bad-record-type" | "request-parameter-invalid" | "request-body-problem" | "response-property-invalid" | "no-multiple-discriminator" | "no-fixed-enum-discriminator" | "operation-link-parameter-invalid" | "invalid-resource-type" | "use-extensible-enum" | "use-standard-operations" | "no-format" | "no-rest-library-interfaces" | "no-unknown" | "documentation-required" | "key-visibility-required" | "long-running-polling-operation-required" | "rpc-operation-needs-route" | "invalid-trait-property-count" | "invalid-trait-property-type" | "invalid-trait-context" | "trait-property-without-location" | "expected-trait-missing" | "invalid-parameter" | "expected-success-response" | "lro-polling-data-missing-from-operation-response" | "no-object" | "property-name-conflict" | "avoid-operation-id" | "invalid-body-schema", M extends keyof {
|
|
304
313
|
"casing-style": {
|
|
305
314
|
readonly default: import("@typespec/compiler").CallableMessage<["type", "casing"]>;
|
|
306
315
|
};
|
|
@@ -320,6 +329,9 @@ export declare const reportDiagnostic: <C extends "casing-style" | "lro-status-u
|
|
|
320
329
|
"request-parameter-invalid": {
|
|
321
330
|
readonly default: import("@typespec/compiler").CallableMessage<["name"]>;
|
|
322
331
|
};
|
|
332
|
+
"request-body-problem": {
|
|
333
|
+
readonly array: "Request body should not be of raw array type. Consider creating a container model that can add properties over time to avoid introducing breaking changes.";
|
|
334
|
+
};
|
|
323
335
|
"response-property-invalid": {
|
|
324
336
|
readonly default: import("@typespec/compiler").CallableMessage<["name"]>;
|
|
325
337
|
};
|
|
@@ -332,9 +344,6 @@ export declare const reportDiagnostic: <C extends "casing-style" | "lro-status-u
|
|
|
332
344
|
"operation-link-parameter-invalid": {
|
|
333
345
|
readonly default: "Parameters must be of template type RequestParameter<T> or ResponseProperty<T>.";
|
|
334
346
|
};
|
|
335
|
-
"client-definition-parameters-not-model": {
|
|
336
|
-
readonly default: "The value for \"parameters\" property must be a model type";
|
|
337
|
-
};
|
|
338
347
|
"invalid-resource-type": {
|
|
339
348
|
readonly missingKey: import("@typespec/compiler").CallableMessage<["name"]>;
|
|
340
349
|
readonly missingSegment: import("@typespec/compiler").CallableMessage<["name"]>;
|
|
@@ -400,6 +409,9 @@ export declare const reportDiagnostic: <C extends "casing-style" | "lro-status-u
|
|
|
400
409
|
"avoid-operation-id": {
|
|
401
410
|
readonly default: "Operation ID is automatically generated by the OpenAPI emitters and should not normally be specified.";
|
|
402
411
|
};
|
|
412
|
+
"invalid-body-schema": {
|
|
413
|
+
readonly array: "Body schema should not be of raw array type.";
|
|
414
|
+
};
|
|
403
415
|
}[C]>(program: import("@typespec/compiler").Program, diag: import("@typespec/compiler").DiagnosticReport<{
|
|
404
416
|
"casing-style": {
|
|
405
417
|
readonly default: import("@typespec/compiler").CallableMessage<["type", "casing"]>;
|
|
@@ -420,6 +432,9 @@ export declare const reportDiagnostic: <C extends "casing-style" | "lro-status-u
|
|
|
420
432
|
"request-parameter-invalid": {
|
|
421
433
|
readonly default: import("@typespec/compiler").CallableMessage<["name"]>;
|
|
422
434
|
};
|
|
435
|
+
"request-body-problem": {
|
|
436
|
+
readonly array: "Request body should not be of raw array type. Consider creating a container model that can add properties over time to avoid introducing breaking changes.";
|
|
437
|
+
};
|
|
423
438
|
"response-property-invalid": {
|
|
424
439
|
readonly default: import("@typespec/compiler").CallableMessage<["name"]>;
|
|
425
440
|
};
|
|
@@ -432,9 +447,6 @@ export declare const reportDiagnostic: <C extends "casing-style" | "lro-status-u
|
|
|
432
447
|
"operation-link-parameter-invalid": {
|
|
433
448
|
readonly default: "Parameters must be of template type RequestParameter<T> or ResponseProperty<T>.";
|
|
434
449
|
};
|
|
435
|
-
"client-definition-parameters-not-model": {
|
|
436
|
-
readonly default: "The value for \"parameters\" property must be a model type";
|
|
437
|
-
};
|
|
438
450
|
"invalid-resource-type": {
|
|
439
451
|
readonly missingKey: import("@typespec/compiler").CallableMessage<["name"]>;
|
|
440
452
|
readonly missingSegment: import("@typespec/compiler").CallableMessage<["name"]>;
|
|
@@ -500,7 +512,10 @@ export declare const reportDiagnostic: <C extends "casing-style" | "lro-status-u
|
|
|
500
512
|
"avoid-operation-id": {
|
|
501
513
|
readonly default: "Operation ID is automatically generated by the OpenAPI emitters and should not normally be specified.";
|
|
502
514
|
};
|
|
503
|
-
|
|
515
|
+
"invalid-body-schema": {
|
|
516
|
+
readonly array: "Body schema should not be of raw array type.";
|
|
517
|
+
};
|
|
518
|
+
}, C, M>) => void, createDiagnostic: <C extends "casing-style" | "lro-status-union-non-string" | "lro-status-property-invalid-type" | "lro-status-missing" | "bad-record-type" | "request-parameter-invalid" | "request-body-problem" | "response-property-invalid" | "no-multiple-discriminator" | "no-fixed-enum-discriminator" | "operation-link-parameter-invalid" | "invalid-resource-type" | "use-extensible-enum" | "use-standard-operations" | "no-format" | "no-rest-library-interfaces" | "no-unknown" | "documentation-required" | "key-visibility-required" | "long-running-polling-operation-required" | "rpc-operation-needs-route" | "invalid-trait-property-count" | "invalid-trait-property-type" | "invalid-trait-context" | "trait-property-without-location" | "expected-trait-missing" | "invalid-parameter" | "expected-success-response" | "lro-polling-data-missing-from-operation-response" | "no-object" | "property-name-conflict" | "avoid-operation-id" | "invalid-body-schema", M extends keyof {
|
|
504
519
|
"casing-style": {
|
|
505
520
|
readonly default: import("@typespec/compiler").CallableMessage<["type", "casing"]>;
|
|
506
521
|
};
|
|
@@ -520,6 +535,9 @@ export declare const reportDiagnostic: <C extends "casing-style" | "lro-status-u
|
|
|
520
535
|
"request-parameter-invalid": {
|
|
521
536
|
readonly default: import("@typespec/compiler").CallableMessage<["name"]>;
|
|
522
537
|
};
|
|
538
|
+
"request-body-problem": {
|
|
539
|
+
readonly array: "Request body should not be of raw array type. Consider creating a container model that can add properties over time to avoid introducing breaking changes.";
|
|
540
|
+
};
|
|
523
541
|
"response-property-invalid": {
|
|
524
542
|
readonly default: import("@typespec/compiler").CallableMessage<["name"]>;
|
|
525
543
|
};
|
|
@@ -532,9 +550,6 @@ export declare const reportDiagnostic: <C extends "casing-style" | "lro-status-u
|
|
|
532
550
|
"operation-link-parameter-invalid": {
|
|
533
551
|
readonly default: "Parameters must be of template type RequestParameter<T> or ResponseProperty<T>.";
|
|
534
552
|
};
|
|
535
|
-
"client-definition-parameters-not-model": {
|
|
536
|
-
readonly default: "The value for \"parameters\" property must be a model type";
|
|
537
|
-
};
|
|
538
553
|
"invalid-resource-type": {
|
|
539
554
|
readonly missingKey: import("@typespec/compiler").CallableMessage<["name"]>;
|
|
540
555
|
readonly missingSegment: import("@typespec/compiler").CallableMessage<["name"]>;
|
|
@@ -600,6 +615,9 @@ export declare const reportDiagnostic: <C extends "casing-style" | "lro-status-u
|
|
|
600
615
|
"avoid-operation-id": {
|
|
601
616
|
readonly default: "Operation ID is automatically generated by the OpenAPI emitters and should not normally be specified.";
|
|
602
617
|
};
|
|
618
|
+
"invalid-body-schema": {
|
|
619
|
+
readonly array: "Body schema should not be of raw array type.";
|
|
620
|
+
};
|
|
603
621
|
}[C]>(diag: import("@typespec/compiler").DiagnosticReport<{
|
|
604
622
|
"casing-style": {
|
|
605
623
|
readonly default: import("@typespec/compiler").CallableMessage<["type", "casing"]>;
|
|
@@ -620,6 +638,9 @@ export declare const reportDiagnostic: <C extends "casing-style" | "lro-status-u
|
|
|
620
638
|
"request-parameter-invalid": {
|
|
621
639
|
readonly default: import("@typespec/compiler").CallableMessage<["name"]>;
|
|
622
640
|
};
|
|
641
|
+
"request-body-problem": {
|
|
642
|
+
readonly array: "Request body should not be of raw array type. Consider creating a container model that can add properties over time to avoid introducing breaking changes.";
|
|
643
|
+
};
|
|
623
644
|
"response-property-invalid": {
|
|
624
645
|
readonly default: import("@typespec/compiler").CallableMessage<["name"]>;
|
|
625
646
|
};
|
|
@@ -632,9 +653,6 @@ export declare const reportDiagnostic: <C extends "casing-style" | "lro-status-u
|
|
|
632
653
|
"operation-link-parameter-invalid": {
|
|
633
654
|
readonly default: "Parameters must be of template type RequestParameter<T> or ResponseProperty<T>.";
|
|
634
655
|
};
|
|
635
|
-
"client-definition-parameters-not-model": {
|
|
636
|
-
readonly default: "The value for \"parameters\" property must be a model type";
|
|
637
|
-
};
|
|
638
656
|
"invalid-resource-type": {
|
|
639
657
|
readonly missingKey: import("@typespec/compiler").CallableMessage<["name"]>;
|
|
640
658
|
readonly missingSegment: import("@typespec/compiler").CallableMessage<["name"]>;
|
|
@@ -700,5 +718,8 @@ export declare const reportDiagnostic: <C extends "casing-style" | "lro-status-u
|
|
|
700
718
|
"avoid-operation-id": {
|
|
701
719
|
readonly default: "Operation ID is automatically generated by the OpenAPI emitters and should not normally be specified.";
|
|
702
720
|
};
|
|
721
|
+
"invalid-body-schema": {
|
|
722
|
+
readonly array: "Body schema should not be of raw array type.";
|
|
723
|
+
};
|
|
703
724
|
}, C, M>) => import("@typespec/compiler").Diagnostic, createStateSymbol: (name: string) => symbol;
|
|
704
725
|
//# sourceMappingURL=lib.d.ts.map
|
package/dist/src/lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,eAAe,CAAC;AAEtC,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,eAAe,CAAC;AAEtC,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmNT,CAAC;AAEX,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAAgC,CAAC;AAClD,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAAE,iBAAiB,0BAAS,CAAC"}
|
package/dist/src/lib.js
CHANGED
|
@@ -40,6 +40,12 @@ export const libDef = {
|
|
|
40
40
|
default: paramMessage `Request parameter '${"name"}' not found on request body model.`,
|
|
41
41
|
},
|
|
42
42
|
},
|
|
43
|
+
"request-body-problem": {
|
|
44
|
+
severity: "warning",
|
|
45
|
+
messages: {
|
|
46
|
+
array: "Request body should not be of raw array type. Consider creating a container model that can add properties over time to avoid introducing breaking changes.",
|
|
47
|
+
},
|
|
48
|
+
},
|
|
43
49
|
"response-property-invalid": {
|
|
44
50
|
severity: "error",
|
|
45
51
|
messages: {
|
|
@@ -64,12 +70,6 @@ export const libDef = {
|
|
|
64
70
|
default: "Parameters must be of template type RequestParameter<T> or ResponseProperty<T>.",
|
|
65
71
|
},
|
|
66
72
|
},
|
|
67
|
-
"client-definition-parameters-not-model": {
|
|
68
|
-
severity: "error",
|
|
69
|
-
messages: {
|
|
70
|
-
default: `The value for "parameters" property must be a model type`,
|
|
71
|
-
},
|
|
72
|
-
},
|
|
73
73
|
"invalid-resource-type": {
|
|
74
74
|
severity: "error",
|
|
75
75
|
messages: {
|
|
@@ -198,6 +198,12 @@ export const libDef = {
|
|
|
198
198
|
default: "Operation ID is automatically generated by the OpenAPI emitters and should not normally be specified.",
|
|
199
199
|
},
|
|
200
200
|
},
|
|
201
|
+
"invalid-body-schema": {
|
|
202
|
+
severity: "warning",
|
|
203
|
+
messages: {
|
|
204
|
+
array: "Body schema should not be of raw array type.",
|
|
205
|
+
},
|
|
206
|
+
},
|
|
201
207
|
},
|
|
202
208
|
};
|
|
203
209
|
export const $lib = createTypeSpecLibrary(libDef);
|
package/dist/src/lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC;AAEtC,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,kCAAkC;IACxC,WAAW,EAAE;QACX,cAAc,EAAE;YACd,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,gBAAgB,MAAM,mBAAmB,QAAQ,EAAE;aACzE;SACF;QACD,6BAA6B,EAAE;YAC7B,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,wCAAwC,MAAM,GAAG;aACvE;SACF;QACD,kCAAkC,EAAE;YAClC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,sDAAsD;aAChE;SACF;QACD,oBAAoB,EAAE;YACpB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,uDAAuD,QAAQ,GAAG;aACxF;SACF;QACD,iBAAiB,EAAE;YACjB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,aAAa,EAAE,YAAY,CAAA,GAAG,MAAM,oBAAoB,SAAS,WAAW,UAAU,YAAY,SAAS,2BAA2B;gBACtI,oBAAoB,EAAE,YAAY,CAAA,GAAG,MAAM,eAAe,SAAS,WAAW,UAAU,gCAAgC;aACzH;SACF;QACD,2BAA2B,EAAE;YAC3B,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,sBAAsB,MAAM,oCAAoC;aACtF;SACF;QACD,2BAA2B,EAAE;YAC3B,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,sBAAsB,MAAM,wCAAwC;aAC1F;SACF;QACD,2BAA2B,EAAE;YAC3B,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,wBAAwB,MAAM,8DAA8D,QAAQ,GAAG;aAC7H;SACF;QACD,6BAA6B,EAAE;YAC7B,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,wHAAwH,UAAU,SAAS;aACjK;SACF;QACD,kCAAkC,EAAE;YAClC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,iFAAiF;aAC3F;SACF;QACD,
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"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"}
|
package/dist/src/linter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../../src/linter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../../src/linter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AA8C7C,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,QAM3C"}
|
package/dist/src/linter.js
CHANGED
|
@@ -13,12 +13,14 @@ import { preventRestLibraryInterfaces } from "./rules/prevent-rest-library.js";
|
|
|
13
13
|
import { preventUnknownType } from "./rules/prevent-unknown.js";
|
|
14
14
|
import { propertyNameRule } from "./rules/property-naming.js";
|
|
15
15
|
import { recordTypeRule } from "./rules/record-types.js";
|
|
16
|
+
import { bodyArrayRule } from "./rules/request-body-array.js";
|
|
16
17
|
import { requireDocumentation } from "./rules/require-docs.js";
|
|
17
18
|
import { requireKeyVisibility } from "./rules/require-key-visibility.js";
|
|
18
19
|
import { useStandardOperations } from "./rules/use-standard-ops.js";
|
|
19
20
|
const linter = getLinter($lib);
|
|
20
21
|
linter.registerRules([
|
|
21
22
|
avoidOperationIdRule,
|
|
23
|
+
bodyArrayRule,
|
|
22
24
|
casingRule,
|
|
23
25
|
extensibleEnumRule,
|
|
24
26
|
useStandardOperations,
|
package/dist/src/linter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linter.js","sourceRoot":"","sources":["../../src/linter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,4CAA4C,EAAE,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAC/B,MAAM,CAAC,aAAa,CAClB;IACE,oBAAoB;IACpB,UAAU;IACV,kBAAkB;IAClB,qBAAqB;IACrB,4BAA4B;IAC5B,YAAY;IACZ,gBAAgB;IAChB,4BAA4B;IAC5B,4BAA4B;IAC5B,kBAAkB;IAClB,cAAc;IACd,gBAAgB;IAChB,oBAAoB;IACpB,oBAAoB;IACpB,4CAA4C;CAC7C,EACD;IACE,UAAU,EAAE,IAAI;CACjB,CACF,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,MAAM,CAAC,eAAe,EAAE,CAAC;IACzB,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAE/B,wBAAwB;IACxB,cAAc,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC"}
|
|
1
|
+
{"version":3,"file":"linter.js","sourceRoot":"","sources":["../../src/linter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,4CAA4C,EAAE,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAC/B,MAAM,CAAC,aAAa,CAClB;IACE,oBAAoB;IACpB,aAAa;IACb,UAAU;IACV,kBAAkB;IAClB,qBAAqB;IACrB,4BAA4B;IAC5B,YAAY;IACZ,gBAAgB;IAChB,4BAA4B;IAC5B,4BAA4B;IAC5B,kBAAkB;IAClB,cAAc;IACd,gBAAgB;IAChB,oBAAoB;IACpB,oBAAoB;IACpB,4CAA4C;CAC7C,EACD;IACE,UAAU,EAAE,IAAI;CACjB,CACF,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,MAAM,CAAC,eAAe,EAAE,CAAC;IACzB,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAE/B,wBAAwB;IACxB,cAAc,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-body-array.d.ts","sourceRoot":"","sources":["../../../src/rules/request-body-array.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,aAAa,mCAiBxB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { isBody } from "@typespec/http";
|
|
2
|
+
import { createRule } from "@typespec/lint";
|
|
3
|
+
import { reportDiagnostic } from "../lib.js";
|
|
4
|
+
export const bodyArrayRule = createRule({
|
|
5
|
+
name: "request-body-array",
|
|
6
|
+
create({ program }) {
|
|
7
|
+
return {
|
|
8
|
+
operation: (op) => {
|
|
9
|
+
for (const prop of op.parameters.properties.values()) {
|
|
10
|
+
if (isBody(program, prop) && prop.type.kind === "Model" && prop.type.name === "Array") {
|
|
11
|
+
reportDiagnostic(program, {
|
|
12
|
+
code: "request-body-problem",
|
|
13
|
+
target: prop,
|
|
14
|
+
messageId: "array",
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=request-body-array.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-body-array.js","sourceRoot":"","sources":["../../../src/rules/request-body-array.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;IACtC,IAAI,EAAE,oBAAoB;IAC1B,MAAM,CAAC,EAAE,OAAO,EAAE;QAChB,OAAO;YACL,SAAS,EAAE,CAAC,EAAa,EAAE,EAAE;gBAC3B,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE;oBACpD,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;wBACrF,gBAAgB,CAAC,OAAO,EAAE;4BACxB,IAAI,EAAE,sBAAsB;4BAC5B,MAAM,EAAE,IAAI;4BACZ,SAAS,EAAE,OAAO;yBACnB,CAAC,CAAC;qBACJ;iBACF;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
package/package.json
CHANGED