@redocly/client-generator 0.7.11 → 0.7.12

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 (135) hide show
  1. package/eject-assets/generators/cli/docs.ts +1 -1
  2. package/eject-assets/generators/cli/engine-source.ts +1 -1
  3. package/eject-assets/generators/cli/index.ts +2 -2
  4. package/eject-assets/generators/cli/render.ts +1 -1
  5. package/eject-assets/generators/go/client.ts +1 -1
  6. package/eject-assets/generators/go/descriptor.ts +1 -1
  7. package/eject-assets/generators/go/index.ts +2 -2
  8. package/eject-assets/generators/go/models.ts +7 -2
  9. package/eject-assets/generators/go/naming.ts +1 -1
  10. package/eject-assets/generators/go/operations.ts +1 -1
  11. package/eject-assets/generators/go/pagination.ts +1 -1
  12. package/eject-assets/generators/go/types.ts +1 -1
  13. package/eject-assets/generators/mock/faker.ts +17 -9
  14. package/eject-assets/generators/mock/index.ts +4 -3
  15. package/eject-assets/generators/mock/render.ts +128 -9
  16. package/eject-assets/generators/mock/sample.ts +87 -4
  17. package/eject-assets/generators/mock/values.ts +1 -1
  18. package/eject-assets/generators/php/client.ts +1 -1
  19. package/eject-assets/generators/php/descriptor.ts +10 -1
  20. package/eject-assets/generators/php/index.ts +2 -2
  21. package/eject-assets/generators/php/models.ts +8 -3
  22. package/eject-assets/generators/php/naming.ts +1 -1
  23. package/eject-assets/generators/php/operations.ts +11 -6
  24. package/eject-assets/generators/php/pagination.ts +3 -2
  25. package/eject-assets/generators/php/types.ts +12 -2
  26. package/eject-assets/generators/python/client.ts +1 -1
  27. package/eject-assets/generators/python/descriptor.ts +1 -1
  28. package/eject-assets/generators/python/index.ts +3 -3
  29. package/eject-assets/generators/python/models.ts +9 -3
  30. package/eject-assets/generators/python/naming.ts +1 -1
  31. package/eject-assets/generators/python/operations.ts +6 -5
  32. package/eject-assets/generators/python/pagination.ts +1 -1
  33. package/eject-assets/generators/python/types.ts +1 -1
  34. package/eject-assets/generators/swr/index.ts +2 -2
  35. package/eject-assets/generators/swr/render.ts +1 -1
  36. package/eject-assets/generators/tanstack-query/index.ts +2 -2
  37. package/eject-assets/generators/tanstack-query/render.ts +6 -5
  38. package/eject-assets/generators/transformers/index.ts +2 -2
  39. package/eject-assets/generators/transformers/render.ts +34 -7
  40. package/eject-assets/generators/typescript/banner.ts +1 -1
  41. package/eject-assets/generators/typescript/client.ts +1 -1
  42. package/eject-assets/generators/typescript/descriptor.ts +1 -1
  43. package/eject-assets/generators/typescript/index.ts +2 -2
  44. package/eject-assets/generators/typescript/inline-runtime.ts +1 -1
  45. package/eject-assets/generators/typescript/operation-signature.ts +1 -1
  46. package/eject-assets/generators/typescript/operation-types.ts +1 -1
  47. package/eject-assets/generators/typescript/operations.ts +1 -1
  48. package/eject-assets/generators/typescript/response-headers.ts +1 -1
  49. package/eject-assets/generators/typescript/type-guards.ts +1 -1
  50. package/eject-assets/generators/typescript/types.ts +1 -1
  51. package/eject-assets/generators/zod/index.ts +2 -2
  52. package/eject-assets/generators/zod/schemas.ts +1 -1
  53. package/eject-assets/skills/go-generator/SKILL.md +3 -0
  54. package/eject-assets/skills/mock-generator/SKILL.md +22 -0
  55. package/eject-assets/skills/php-generator/SKILL.md +9 -2
  56. package/eject-assets/skills/python-generator/SKILL.md +6 -0
  57. package/eject-assets/skills/tanstack-query-generator/SKILL.md +2 -1
  58. package/eject-assets/skills/transformers-generator/SKILL.md +4 -0
  59. package/eject-assets/skills/typescript-generator/SKILL.md +5 -0
  60. package/lib/authoring/schema.d.ts.map +1 -1
  61. package/lib/authoring/schema.js +4 -1
  62. package/lib/authoring/schema.js.map +1 -1
  63. package/lib/generators/go/models.d.ts.map +1 -1
  64. package/lib/generators/go/models.js +4 -1
  65. package/lib/generators/go/models.js.map +1 -1
  66. package/lib/generators/mock/faker.js +18 -8
  67. package/lib/generators/mock/faker.js.map +1 -1
  68. package/lib/generators/mock/index.d.ts.map +1 -1
  69. package/lib/generators/mock/index.js +2 -1
  70. package/lib/generators/mock/index.js.map +1 -1
  71. package/lib/generators/mock/render.d.ts +3 -1
  72. package/lib/generators/mock/render.d.ts.map +1 -1
  73. package/lib/generators/mock/render.js +119 -9
  74. package/lib/generators/mock/render.js.map +1 -1
  75. package/lib/generators/mock/sample.d.ts +18 -1
  76. package/lib/generators/mock/sample.d.ts.map +1 -1
  77. package/lib/generators/mock/sample.js +71 -2
  78. package/lib/generators/mock/sample.js.map +1 -1
  79. package/lib/generators/php/descriptor.d.ts +6 -0
  80. package/lib/generators/php/descriptor.d.ts.map +1 -1
  81. package/lib/generators/php/descriptor.js +8 -0
  82. package/lib/generators/php/descriptor.js.map +1 -1
  83. package/lib/generators/php/models.d.ts.map +1 -1
  84. package/lib/generators/php/models.js +5 -2
  85. package/lib/generators/php/models.js.map +1 -1
  86. package/lib/generators/php/operations.d.ts.map +1 -1
  87. package/lib/generators/php/operations.js +5 -5
  88. package/lib/generators/php/operations.js.map +1 -1
  89. package/lib/generators/php/pagination.d.ts.map +1 -1
  90. package/lib/generators/php/pagination.js +2 -1
  91. package/lib/generators/php/pagination.js.map +1 -1
  92. package/lib/generators/php/types.d.ts.map +1 -1
  93. package/lib/generators/php/types.js +13 -2
  94. package/lib/generators/php/types.js.map +1 -1
  95. package/lib/generators/python/index.js +1 -1
  96. package/lib/generators/python/index.js.map +1 -1
  97. package/lib/generators/python/models.d.ts.map +1 -1
  98. package/lib/generators/python/models.js +6 -2
  99. package/lib/generators/python/models.js.map +1 -1
  100. package/lib/generators/python/operations.d.ts.map +1 -1
  101. package/lib/generators/python/operations.js +5 -4
  102. package/lib/generators/python/operations.js.map +1 -1
  103. package/lib/generators/tanstack-query/render.js +5 -4
  104. package/lib/generators/tanstack-query/render.js.map +1 -1
  105. package/lib/generators/transformers/render.d.ts +1 -1
  106. package/lib/generators/transformers/render.d.ts.map +1 -1
  107. package/lib/generators/transformers/render.js +24 -5
  108. package/lib/generators/transformers/render.js.map +1 -1
  109. package/lib/generators/typescript/runtime/create-client.js +1 -1
  110. package/lib/generators/typescript/runtime/create-client.js.map +1 -1
  111. package/lib/generators/typescript/runtime/paginate.d.ts.map +1 -1
  112. package/lib/generators/typescript/runtime/paginate.js +5 -4
  113. package/lib/generators/typescript/runtime/paginate.js.map +1 -1
  114. package/lib/generators/typescript/runtime/send.d.ts.map +1 -1
  115. package/lib/generators/typescript/runtime/send.js +10 -4
  116. package/lib/generators/typescript/runtime/send.js.map +1 -1
  117. package/lib/generators/typescript/runtime/sse.d.ts.map +1 -1
  118. package/lib/generators/typescript/runtime/sse.js +6 -1
  119. package/lib/generators/typescript/runtime/sse.js.map +1 -1
  120. package/lib/intermediate-representation/build.d.ts.map +1 -1
  121. package/lib/intermediate-representation/build.js +51 -26
  122. package/lib/intermediate-representation/build.js.map +1 -1
  123. package/lib/intermediate-representation/model.d.ts +6 -2
  124. package/lib/intermediate-representation/model.d.ts.map +1 -1
  125. package/lib/intermediate-representation/model.js.map +1 -1
  126. package/lib/runtime-contract.d.ts +1 -1
  127. package/lib/runtime-contract.d.ts.map +1 -1
  128. package/lib/runtime-contract.js.map +1 -1
  129. package/lib/runtime-sources/python.d.ts +2 -2
  130. package/lib/runtime-sources/python.js +2 -2
  131. package/lib/runtime-sources/python.js.map +1 -1
  132. package/lib/runtime-sources/typescript.d.ts +10 -10
  133. package/lib/runtime-sources/typescript.js +10 -10
  134. package/lib/runtime-sources/typescript.js.map +1 -1
  135. package/package.json +2 -2
@@ -118,7 +118,10 @@ function stepIntoSchema(schema, key, model) {
118
118
  * Unions bail (genuinely ambiguous). Returns `undefined` on any miss.
119
119
  */
120
120
  export function schemaAtPointer(schema, pointer, model) {
121
- let current = deref(schema, model);
121
+ // An `omit` root (a response without its writeOnly keys) walks its base; the dropped
122
+ // keys are never a page's items or cursor.
123
+ const root = schema.kind === 'omit' ? { kind: 'ref', name: schema.base } : schema;
124
+ let current = deref(root, model);
122
125
  if (current === undefined || (pointer !== '' && !pointer.startsWith('/')))
123
126
  return undefined;
124
127
  if (pointer === '')
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/authoring/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/authoring/schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/generators/go/models.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,QAAQ,EAEb,KAAK,QAAQ,EAKd,MAAM,2BAA2B,CAAC;AAwCnC,kGAAkG;AAClG,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAE,QAAmB,GAAG,MAAM,CAoBrF"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/generators/go/models.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,QAAQ,EAEb,KAAK,QAAQ,EAKd,MAAM,2BAA2B,CAAC;AA6CnC,kGAAkG;AAClG,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAE,QAAmB,GAAG,MAAM,CAoBrF"}
@@ -5,9 +5,12 @@ import { exported, GoPrinter } from '@redocly/client-generator/printers/go';
5
5
  import { naming } from "./naming.js";
6
6
  import { goType } from "./types.js";
7
7
  function writeStruct(printer, name, properties, dateType, description) {
8
+ // A response never carries a `writeOnly` property, and responses decode into this same
9
+ // struct, so the property is optional even when the description requires it.
10
+ const fields = properties.map((property) => property.writeOnly ? { ...property, required: false } : property);
8
11
  printer.doc(exported(name), description);
9
12
  printer.block(`type ${exported(name)} struct {`, () => {
10
- for (const property of properties) {
13
+ for (const property of fields) {
11
14
  const field = exported(property.name);
12
15
  let fieldType = goType(property.schema, dateType);
13
16
  let tag = `\`json:"${property.name}"\``;
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/generators/go/models.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,0EAA0E;AAE1E,OAAO,EAEL,MAAM,EAEN,kBAAkB,EAClB,UAAU,EACV,YAAY,GAEb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAE5E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,SAAS,WAAW,CAClB,OAAkB,EAClB,IAAY,EACZ,UAA2B,EAC3B,QAAkB,EAClB,WAAoB;IAEpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;IACzC,OAAO,CAAC,KAAK,CACX,QAAQ,QAAQ,CAAC,IAAI,CAAC,WAAW,EACjC,GAAG,EAAE;QACH,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAClD,IAAI,GAAG,GAAG,WAAW,QAAQ,CAAC,IAAI,KAAK,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACvB,IACE,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;oBAC1B,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;oBAC3B,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;oBAC7B,SAAS,KAAK,KAAK,EACnB,CAAC;oBACD,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;gBAC9B,CAAC;gBACD,GAAG,GAAG,WAAW,QAAQ,CAAC,IAAI,eAAe,CAAC;YAChD,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,EACD,GAAG,CACJ,CAAC;IACF,OAAO,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,cAAc,CAAC,KAAe,EAAE,WAAqB,QAAQ;IAC3E,MAAM,OAAO,GAAG,IAAI,SAAS,EAAE,CAAC;IAChC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/B,OAAO,CAAC,KAAK,EAAE,CAAC;IAChB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAClC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,SAAS,CAChE,CAAC;IACF,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACvC,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IACD,kFAAkF;IAClF,gDAAgD;IAChD,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAClD,IAAI,QAAQ,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9B,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC5B,CAAC;AAED,yFAAyF;AACzF,SAAS,mBAAmB,CAAC,KAAe,EAAE,QAAkB;IAC9D,MAAM,OAAO,GAAG,IAAI,SAAS,EAAE,CAAC;IAEhC,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAC/C,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CACX,SAAS,EACT,GAAG,EAAE;gBACH,8EAA8E;gBAC9E,4EAA4E;gBAC5E,wEAAwE;gBACxE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;gBAC/B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC;oBACrD,IAAI,MAAM,GAAG,EAAE,CAAC;oBAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE;wBAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBACjE,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;oBACxB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC;oBAC9C,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACzE,CAAC,CAAC,CAAC;YACL,CAAC,EACD,GAAG,CACJ,CAAC;YACF,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC/D,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACzC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,WAAW,CACT,OAAO,EACP,IAAI,EACJ,IAAI,CAAC,UAAU,EACf,QAAQ,EACR,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CACvC,CAAC;gBACF,SAAS;YACX,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK;iBACtB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,OAAO,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;iBACjE,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,MAAM,QAAQ,+BAA+B,KAAK,CAAC,QAAQ,OAAO,KAAK,GAAG,CAAC,CAAC;YACzF,OAAO,CAAC,IAAI,CAAC,QAAQ,QAAQ,QAAQ,CAAC,CAAC;YACvC,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CACV,eAAe,QAAQ,yCAAyC,KAAK,CAAC,QAAQ,IAAI,CACnF,CAAC;YACF,OAAO,CAAC,KAAK,CACX,iBAAiB,QAAQ,kBAAkB,QAAQ,YAAY,EAC/D,GAAG,EAAE;gBACH,OAAO,CAAC,KAAK,CACX,oBAAoB,EACpB,GAAG,EAAE;oBACH,OAAO,CAAC,IAAI,CAAC,+BAA+B,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC;gBACnE,CAAC,EACD,GAAG,CACJ,CAAC;gBACF,OAAO,CAAC,KAAK,CACX,sDAAsD,EACtD,GAAG,EAAE;oBACH,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAClC,CAAC,EACD,GAAG,CACJ,CAAC;gBACF,2EAA2E;gBAC3E,yDAAyD;gBACzD,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;gBAC5C,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChC,OAAO,CAAC,KAAK,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE;wBACxD,OAAO,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;wBACxD,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;wBACpD,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;oBACpC,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACjC,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACvC,CAAC,EACD,GAAG,CACJ,CAAC;YACF,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,SAAS;QACX,CAAC;QACD,gFAAgF;QAChF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrE,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IACD,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/generators/go/models.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,0EAA0E;AAE1E,OAAO,EAEL,MAAM,EAEN,kBAAkB,EAClB,UAAU,EACV,YAAY,GAEb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAE5E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,SAAS,WAAW,CAClB,OAAkB,EAClB,IAAY,EACZ,UAA2B,EAC3B,QAAkB,EAClB,WAAoB;IAEpB,uFAAuF;IACvF,6EAA6E;IAC7E,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACzC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CACjE,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;IACzC,OAAO,CAAC,KAAK,CACX,QAAQ,QAAQ,CAAC,IAAI,CAAC,WAAW,EACjC,GAAG,EAAE;QACH,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAClD,IAAI,GAAG,GAAG,WAAW,QAAQ,CAAC,IAAI,KAAK,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACvB,IACE,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;oBAC1B,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;oBAC3B,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;oBAC7B,SAAS,KAAK,KAAK,EACnB,CAAC;oBACD,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;gBAC9B,CAAC;gBACD,GAAG,GAAG,WAAW,QAAQ,CAAC,IAAI,eAAe,CAAC;YAChD,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,EACD,GAAG,CACJ,CAAC;IACF,OAAO,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,cAAc,CAAC,KAAe,EAAE,WAAqB,QAAQ;IAC3E,MAAM,OAAO,GAAG,IAAI,SAAS,EAAE,CAAC;IAChC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/B,OAAO,CAAC,KAAK,EAAE,CAAC;IAChB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAClC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,SAAS,CAChE,CAAC;IACF,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACvC,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IACD,kFAAkF;IAClF,gDAAgD;IAChD,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAClD,IAAI,QAAQ,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9B,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC5B,CAAC;AAED,yFAAyF;AACzF,SAAS,mBAAmB,CAAC,KAAe,EAAE,QAAkB;IAC9D,MAAM,OAAO,GAAG,IAAI,SAAS,EAAE,CAAC;IAEhC,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAC/C,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CACX,SAAS,EACT,GAAG,EAAE;gBACH,8EAA8E;gBAC9E,4EAA4E;gBAC5E,wEAAwE;gBACxE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;gBAC/B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC;oBACrD,IAAI,MAAM,GAAG,EAAE,CAAC;oBAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE;wBAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBACjE,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;oBACxB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC;oBAC9C,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACzE,CAAC,CAAC,CAAC;YACL,CAAC,EACD,GAAG,CACJ,CAAC;YACF,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC/D,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACzC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,WAAW,CACT,OAAO,EACP,IAAI,EACJ,IAAI,CAAC,UAAU,EACf,QAAQ,EACR,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CACvC,CAAC;gBACF,SAAS;YACX,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK;iBACtB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,OAAO,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;iBACjE,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,MAAM,QAAQ,+BAA+B,KAAK,CAAC,QAAQ,OAAO,KAAK,GAAG,CAAC,CAAC;YACzF,OAAO,CAAC,IAAI,CAAC,QAAQ,QAAQ,QAAQ,CAAC,CAAC;YACvC,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CACV,eAAe,QAAQ,yCAAyC,KAAK,CAAC,QAAQ,IAAI,CACnF,CAAC;YACF,OAAO,CAAC,KAAK,CACX,iBAAiB,QAAQ,kBAAkB,QAAQ,YAAY,EAC/D,GAAG,EAAE;gBACH,OAAO,CAAC,KAAK,CACX,oBAAoB,EACpB,GAAG,EAAE;oBACH,OAAO,CAAC,IAAI,CAAC,+BAA+B,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC;gBACnE,CAAC,EACD,GAAG,CACJ,CAAC;gBACF,OAAO,CAAC,KAAK,CACX,sDAAsD,EACtD,GAAG,EAAE;oBACH,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAClC,CAAC,EACD,GAAG,CACJ,CAAC;gBACF,2EAA2E;gBAC3E,yDAAyD;gBACzD,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;gBAC5C,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChC,OAAO,CAAC,KAAK,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE;wBACxD,OAAO,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;wBACxD,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;wBACpD,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;oBACpC,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACjC,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACvC,CAAC,EACD,GAAG,CACJ,CAAC;YACF,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,SAAS;QACX,CAAC;QACD,gFAAgF;QAChF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrE,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IACD,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC5B,CAAC"}
@@ -9,7 +9,7 @@
9
9
  // `mockData` without touching call sites; `@faker-js/faker` becomes their
10
10
  // dev-dep while the real client stays dependency-free.
11
11
  import { codeLiteral } from '@redocly/client-generator/printers/typescript';
12
- import { splitIntersection } from "./sample.js";
12
+ import { numericRange, omitsFromResponse, splitIntersection } from "./sample.js";
13
13
  import { expr, isObjectValue, objectValue } from "./values.js";
14
14
  /** The faker-call value for an IR schema. Refs resolve against `schemas`;
15
15
  * recursion is cut with a visited-set (`null` at the cycle). `dateType` mirrors
@@ -41,6 +41,8 @@ function walk(schema, byName, visiting, dateType) {
41
41
  }
42
42
  case 'object':
43
43
  return objectValue(schema.properties.flatMap((p) => {
44
+ if (omitsFromResponse(p))
45
+ return [];
44
46
  const value = walk(p.schema, byName, visiting, dateType);
45
47
  // A cyclic optional property is omitted; a cyclic required property is
46
48
  // uninhabitable, so null is the only stand-in.
@@ -113,9 +115,9 @@ function scalarExpr(scalar, meta, dateType) {
113
115
  if (scalar === 'boolean')
114
116
  return 'faker.datatype.boolean()';
115
117
  if (scalar === 'integer')
116
- return `faker.number.int(${boundsArg(meta)})`;
118
+ return `faker.number.int(${boundsArg(scalar, meta)})`;
117
119
  if (scalar === 'number')
118
- return `faker.number.float(${boundsArg(meta)})`;
120
+ return `faker.number.float(${boundsArg(scalar, meta)})`;
119
121
  switch (meta?.format) {
120
122
  case 'email':
121
123
  return 'faker.internet.email()';
@@ -144,13 +146,21 @@ function dateExpr(dateType, dateOnly) {
144
146
  const iso = 'faker.date.recent().toISOString()';
145
147
  return dateOnly ? `${iso}.slice(0, 10)` : iso;
146
148
  }
147
- /** `{ min, max }` arg for a bounded numeric, or empty when neither bound is set. */
148
- function boundsArg(meta) {
149
+ /**
150
+ * `{ min, max, multipleOf }` for a bounded numeric, or empty when unbounded. Both ends are
151
+ * always set, because faker's defaults (`0`, and `1` for floats) can sit on the wrong side
152
+ * of a single bound: the missing end is 100 steps away from the set one.
153
+ */
154
+ function boundsArg(scalar, meta) {
155
+ const { min, max, step = 1 } = numericRange(scalar, meta);
156
+ if (min === undefined && max === undefined)
157
+ return '';
149
158
  const props = [
150
- ...(meta?.minimum !== undefined ? [`min: ${meta.minimum}`] : []),
151
- ...(meta?.maximum !== undefined ? [`max: ${meta.maximum}`] : []),
159
+ `min: ${min ?? (max ?? 0) - 100 * step}`,
160
+ `max: ${max ?? (min ?? 0) + 100 * step}`,
161
+ ...(meta?.multipleOf !== undefined ? [`multipleOf: ${meta.multipleOf}`] : []),
152
162
  ];
153
- return props.length > 0 ? `{ ${props.join(', ')} }` : '';
163
+ return `{ ${props.join(', ')} }`;
154
164
  }
155
165
  /** `faker.helpers.multiple(() => <item>, { count: 1 })` — one element keeps output small.
156
166
  * An object-literal arrow body must be parenthesized (`() => ({ … })`), or the braces
@@ -1 +1 @@
1
- {"version":3,"file":"faker.js","sourceRoot":"","sources":["../../../src/generators/mock/faker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"faker.js","sourceRoot":"","sources":["../../../src/generators/mock/faker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/mock/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAK3D;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,SAY3B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/mock/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAK3D;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,SAa3B,CAAC"}
@@ -6,13 +6,14 @@ import { renderMockModule } from "./render.js";
6
6
  * sdk client stays dependency-free. Output-mode-agnostic in v1 — one module beside
7
7
  * the client. Emits nothing when there are no operations.
8
8
  */
9
- export const mockGenerator = ({ model, output, banner, emit }) => {
9
+ export const mockGenerator = ({ model, output, banner, emit, pagination }) => {
10
10
  const header = banner.map((line) => `// ${line}`).join('\n');
11
11
  const content = renderMockModule(model, {
12
12
  sdkModule: `./${output.stem}.${emit.importExt ?? 'js'}`,
13
13
  dateType: emit.dateType,
14
14
  mockData: emit.mockData,
15
15
  mockSeed: emit.mockSeed,
16
+ pagination,
16
17
  });
17
18
  if (content === '')
18
19
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generators/mock/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAc,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;IAC1E,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE;QACtC,SAAS,EAAE,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;QACvD,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC,CAAC;IACH,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAC9B,OAAO;QACL,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,WAAW,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,OAAO,EAAE,EAAE;KAC1F,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generators/mock/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAc,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;IACtF,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE;QACtC,SAAS,EAAE,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;QACvD,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,UAAU;KACX,CAAC,CAAC;IACH,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAC9B,OAAO;QACL,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,WAAW,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,OAAO,EAAE,EAAE;KAC1F,CAAC;AACJ,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type ApiModel, type DateType } from '@redocly/client-generator';
1
+ import { type ApiModel, type DateType, type ModelPagination } from '@redocly/client-generator';
2
2
  export type MockOptions = {
3
3
  /** Import specifier for the sdk entry the schema types live in. */
4
4
  sdkModule: string;
@@ -15,6 +15,8 @@ export type MockOptions = {
15
15
  mockData?: 'static' | 'faker';
16
16
  /** When set in `'faker'` mode, emit a top-level `faker.seed(<n>);` so runs reproduce. */
17
17
  mockSeed?: number;
18
+ /** The run's resolved pagination: a paginated handler serves the last page. */
19
+ pagination?: ModelPagination;
18
20
  };
19
21
  /** Render the full `*.mocks.ts` source. `''` when the model has no operations. */
20
22
  export declare function renderMockModule(model: ApiModel, opts: MockOptions): string;
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/generators/mock/render.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,QAAQ,EAKd,MAAM,2BAA2B,CAAC;AAqBnC,MAAM,MAAM,WAAW,GAAG;IACxB,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB;mFAC+E;IAC/E,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC9B,yFAAyF;IACzF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAYF,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,CAmB3E"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/generators/mock/render.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,QAAQ,EAGb,KAAK,eAAe,EAMrB,MAAM,2BAA2B,CAAC;AAsBnC,MAAM,MAAM,WAAW,GAAG;IACxB,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB;mFAC+E;IAC/E,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC9B,yFAAyF;IACzF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B,CAAC;AAYF,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,CAmB3E"}
@@ -4,7 +4,7 @@
4
4
  // data is sampled at codegen time (`sampleValue`) and printed as TypeScript
5
5
  // literals — source-text templates — so the generated module depends only on
6
6
  // `msw`; the real client stays zero-dependency.
7
- import { allOperations, } from '@redocly/client-generator';
7
+ import { allOperations, flattenAllOf, isNullable, schemaAtPointer, } from '@redocly/client-generator';
8
8
  import { codeLiteral, isIdentifier, pascalCase, } from '@redocly/client-generator/printers/typescript';
9
9
  import { isPlainObject } from '@redocly/openapi-core';
10
10
  import { fakerExpression } from "./faker.js";
@@ -102,7 +102,7 @@ function codeIdent(value) {
102
102
  function handlerFor(op, model, opts) {
103
103
  const override = overrideParam(op, model, opts);
104
104
  const params = override ?? '';
105
- const call = `http.${codeIdent(op.method)}(${JSON.stringify(mswPath(op.path))}, () => ${responseExpression(op, model, opts)})`;
105
+ const call = `http.${codeIdent(op.method)}(${JSON.stringify(mswPath(op.path))}, ${resolverFor(op, model, opts)})`;
106
106
  return `export const ${codeIdent(op.name)}Handler = (${params}) => ${call};`;
107
107
  }
108
108
  /**
@@ -161,8 +161,8 @@ function errorBodyType(op) {
161
161
  * A `ref` success body forwards `override` to `create<Schema>(override)`, so its type
162
162
  * mirrors the factory's parameter (`Partial<Schema>`, or the full type when the factory
163
163
  * replaces wholesale — see `factoryFor`). An inline object body spreads `override`, typed
164
- * `Record<string, unknown>`. A body-less or non-object inline response has nothing to
165
- * override, so the handler takes no parameter.
164
+ * `Record<string, unknown>`, or `Partial<Omit<Schema, …>>` for an `omit` body. A body-less
165
+ * or non-object inline response has nothing to override, so the handler takes no parameter.
166
166
  */
167
167
  function overrideParam(op, model, opts) {
168
168
  const success = op.successResponses[0];
@@ -177,15 +177,125 @@ function overrideParam(op, model, opts) {
177
177
  }
178
178
  if (!isObjectValue(bodyValue(success.schema, model, opts)))
179
179
  return undefined;
180
+ if (success.schema.kind === 'omit') {
181
+ const keys = success.schema.keys.map((key) => JSON.stringify(key)).join(' | ');
182
+ return `override?: Partial<Omit<${success.schema.base}, ${keys}>>`;
183
+ }
180
184
  return 'override?: Record<string, unknown>';
181
185
  }
186
+ /**
187
+ * The handler's resolver. A paginated operation serves the LAST page, so `.pages()` over
188
+ * the default handlers ends after one page: a cursor page carries no next cursor (and a
189
+ * `false` "has more" flag), and a `body-link` page no next link; an offset or page-number
190
+ * page answers any position past the first with an empty item list, because those styles
191
+ * stop only on an empty page.
192
+ */
193
+ function resolverFor(op, model, opts) {
194
+ const spec = opts.pagination?.get(op.name)?.spec;
195
+ const success = op.successResponses[0];
196
+ if (!spec || spec.style === 'link' || !success)
197
+ return `() => ${responseExpression(op, model, opts)}`;
198
+ const page = bodyValue(success.schema, model, opts);
199
+ const status = statusCode(success.status);
200
+ // An object page spreads `override` in; a page that is the item array is replaced by it.
201
+ const takesOverride = overrideParam(op, model, opts) !== undefined;
202
+ const withOverride = (value) => {
203
+ if (isObjectValue(value))
204
+ return spreadInto(value, 'override');
205
+ return takesOverride ? { kind: 'wrap', before: 'override ?? ', value, after: '' } : value;
206
+ };
207
+ const json = (value) => {
208
+ const data = renderMockValue(value, '');
209
+ return status === 200
210
+ ? `HttpResponse.json(${data})`
211
+ : `HttpResponse.json(${data}, { status: ${status} })`;
212
+ };
213
+ if (spec.style === 'cursor' || spec.style === 'body-link') {
214
+ const next = spec.style === 'cursor' ? spec.nextCursor : spec.nextLink;
215
+ let last = withPointer(page, pointerKeys(next), cursorStop(success.schema, next, model));
216
+ if (spec.style === 'cursor' && spec.hasMore !== undefined)
217
+ last = withPointer(last, pointerKeys(spec.hasMore), expr('false'));
218
+ return `() => ${json(withOverride(last))}`;
219
+ }
220
+ const first = spec.style === 'page' ? 1 : 0;
221
+ const position = `Number(new URL(request.url).searchParams.get(${codeLiteral(spec.param)}) ?? ${first})`;
222
+ const empty = emptyPage(page, pointerKeys(spec.items));
223
+ return `({ request }) => ${position} > ${first} ? ${json(empty)} : ${json(withOverride(page))}`;
224
+ }
225
+ /**
226
+ * The page past the last one: the page with `override` spread in, and the items at `keys`
227
+ * set AFTER the spread, so an override that sets the items cannot refill the empty page.
228
+ * The top-level property that holds the items is written out from the sample.
229
+ */
230
+ function emptyPage(page, keys) {
231
+ if (keys.length === 0 || !isObjectValue(page))
232
+ return withPointer(page, keys, expr('[]'));
233
+ const [key, ...rest] = keys;
234
+ const isKey = (entry) => !('spread' in entry) && entry.key === key;
235
+ const holder = page.entries.find(isKey);
236
+ const inner = holder && !('spread' in holder) ? holder.value : objectValue([]);
237
+ return objectValue([
238
+ ...page.entries.filter((entry) => !isKey(entry)),
239
+ { spread: 'override' },
240
+ { key, value: withPointer(inner, rest, expr('[]')) },
241
+ ]);
242
+ }
243
+ /**
244
+ * What ends a cursor or `body-link` walk at `pointer`: `null` when the value is nullable,
245
+ * nothing (the property is left out) when it is optional, and an empty string otherwise.
246
+ */
247
+ function cursorStop(schema, pointer, model) {
248
+ const cursor = schemaAtPointer(schema, pointer, model);
249
+ if (cursor?.kind === 'null' || (cursor && isNullable(cursor)))
250
+ return expr('null');
251
+ const keys = pointerKeys(pointer);
252
+ const parent = schemaAtPointer(schema, pointer.slice(0, pointer.lastIndexOf('/')), model);
253
+ const property = parent &&
254
+ flattenAllOf(parent, model)?.properties.find((candidate) => candidate.name === keys.at(-1));
255
+ return property?.required === false ? undefined : expr('""');
256
+ }
257
+ /** RFC 6901 pointer tokens (`~1` → `/`, `~0` → `~`); none for `''`, the whole value. */
258
+ function pointerKeys(pointer) {
259
+ if (pointer === '')
260
+ return [];
261
+ return pointer
262
+ .slice(1)
263
+ .split('/')
264
+ .map((token) => token.replaceAll('~1', '/').replaceAll('~0', '~'));
265
+ }
266
+ /**
267
+ * `value` with the property at the `keys` path replaced (added when missing), or removed
268
+ * when `replacement` is `undefined`. An empty path replaces the whole value (a page that
269
+ * is the item array itself). Steps only through objects: a path that reaches into
270
+ * anything else leaves the value unchanged.
271
+ */
272
+ function withPointer(value, keys, replacement) {
273
+ if (keys.length === 0)
274
+ return replacement ?? value;
275
+ if (!isObjectValue(value))
276
+ return value;
277
+ const [key, ...rest] = keys;
278
+ const found = value.entries.some((entry) => !('spread' in entry) && entry.key === key);
279
+ const entries = value.entries.flatMap((entry) => {
280
+ if ('spread' in entry || entry.key !== key)
281
+ return [entry];
282
+ if (rest.length > 0)
283
+ return [{ key, value: withPointer(entry.value, rest, replacement) }];
284
+ return replacement === undefined ? [] : [{ key, value: replacement }];
285
+ });
286
+ if (!found && rest.length === 0 && replacement !== undefined) {
287
+ entries.push({ key, value: replacement });
288
+ }
289
+ return objectValue(entries);
290
+ }
182
291
  /**
183
292
  * The handler's response. A primary success body becomes `HttpResponse.json(…)`:
184
- * a `ref` body calls its named `create<Schema>(override)` factory; an inline body
185
- * is sampled and printed in place with `...override` spread in. A success with no
186
- * usable body (an `unknown` schema, or no success response at all) becomes a
187
- * body-less `new HttpResponse(null, { status })`. The status is the success
188
- * response's declared code, or 200 when it's `default`/absent.
293
+ * a `ref` body calls its named `create<Schema>(override)` factory; an inline body is
294
+ * sampled and printed in place with `...override` spread in. An `omit` body (a named
295
+ * schema without its `writeOnly` keys) is inline too, because the factory keeps the
296
+ * required ones. A success with no usable body (an `unknown` schema, or no success
297
+ * response at all) becomes a body-less `new HttpResponse(null, { status })`. The status
298
+ * is the success response's declared code, or 200 when it's `default`/absent.
189
299
  */
190
300
  function responseExpression(op, model, opts) {
191
301
  const success = op.successResponses[0];
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/generators/mock/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/generators/mock/render.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type DateType, type NamedSchemaModel, type SchemaModel } from '@redocly/client-generator';
1
+ import { type DateType, type NamedSchemaModel, type PropertyModel, type SchemaMetadata, type SchemaModel } from '@redocly/client-generator';
2
2
  /** A sampled value the emitter must print as a raw TS expression rather than a JSON
3
3
  * literal — e.g. a `format: binary` field, whose generated type is `Blob`. The `code`
4
4
  * strings are generator-authored constants (never spec-derived), so emitting them
@@ -35,4 +35,21 @@ export declare function splitIntersection(members: SchemaModel[], byName: Map<st
35
35
  merged: SchemaModel | undefined;
36
36
  rest: SchemaModel[];
37
37
  };
38
+ /**
39
+ * Whether a mock leaves a property out. Mocks are response data, and a response never
40
+ * carries a `writeOnly` property. A required one stays, because the named type still
41
+ * demands it; a handler whose response omits it samples that `omit` shape instead.
42
+ */
43
+ export declare function omitsFromResponse(property: PropertyModel): boolean;
44
+ /**
45
+ * The inclusive range a numeric schema allows. `minimum`/`maximum` and the exclusive
46
+ * bounds narrow it, aligned to `multipleOf` (an integer steps by 1 without one). An
47
+ * exclusive bound on a number without a step moves in by 1, or to the middle of the
48
+ * range when the range is narrower than that. An unbounded side is `undefined`.
49
+ */
50
+ export declare function numericRange(scalar: 'integer' | 'number', meta: SchemaMetadata | undefined): {
51
+ min?: number;
52
+ max?: number;
53
+ step?: number;
54
+ };
38
55
  //# sourceMappingURL=sample.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sample.d.ts","sourceRoot":"","sources":["../../../src/generators/mock/sample.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,gBAAgB,EAGrB,KAAK,WAAW,EACjB,MAAM,2BAA2B,CAAC;AAGnC;;;wBAGwB;AACxB,qBAAa,gBAAgB;IACf,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM;CAClC;AAED;;wFAEwF;AACxF,MAAM,MAAM,aAAa,GAAG;IAAE,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEpD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,gBAAgB,EAAE,EAC3B,IAAI,GAAE,aAAkB,GACvB,OAAO,CAMT;AA0CD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,WAAW,EAAE,EACtB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAC/B;IAAE,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAAC,IAAI,EAAE,WAAW,EAAE,CAAA;CAAE,CAqC1D"}
1
+ {"version":3,"file":"sample.d.ts","sourceRoot":"","sources":["../../../src/generators/mock/sample.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAElB,KAAK,cAAc,EACnB,KAAK,WAAW,EACjB,MAAM,2BAA2B,CAAC;AAGnC;;;wBAGwB;AACxB,qBAAa,gBAAgB;IACf,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM;CAClC;AAED;;wFAEwF;AACxF,MAAM,MAAM,aAAa,GAAG;IAAE,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEpD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,gBAAgB,EAAE,EAC3B,IAAI,GAAE,aAAkB,GACvB,OAAO,CAMT;AA0CD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,WAAW,EAAE,EACtB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAC/B;IAAE,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAAC,IAAI,EAAE,WAAW,EAAE,CAAA;CAAE,CA0C1D;AA4KD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAElE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,GAAG,QAAQ,EAC5B,IAAI,EAAE,cAAc,GAAG,SAAS,GAC/B;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAoC/C"}
@@ -94,6 +94,7 @@ export function splitIntersection(members, byName) {
94
94
  properties.set(property.name, {
95
95
  schema: property.schema,
96
96
  required: property.required || (existing?.required ?? false),
97
+ writeOnly: property.writeOnly === true || (existing?.writeOnly ?? false),
97
98
  rank,
98
99
  });
99
100
  }
@@ -108,6 +109,7 @@ export function splitIntersection(members, byName) {
108
109
  name,
109
110
  schema: p.schema,
110
111
  required: p.required,
112
+ ...(p.writeOnly ? { writeOnly: true } : {}),
111
113
  })),
112
114
  },
113
115
  rest,
@@ -161,7 +163,9 @@ function walk(schema, byName, visiting, dateType) {
161
163
  const meta = schema.metadata;
162
164
  // An example/default is honored only when it inhabits the generated type — real specs
163
165
  // carry `example: null` on non-nullable fields and defaults outside a narrowed enum
164
- // (`enum: [cram-md5], default: none`); baking those would not type-check.
166
+ // (`enum: [cram-md5], default: none`); baking those would not type-check. A number
167
+ // outside its bounds or off its `multipleOf` step would fail the zod schema, so it is
168
+ // skipped too.
165
169
  const inhabits = (value) => {
166
170
  if (value === null) {
167
171
  return (schema.kind === 'null' ||
@@ -171,6 +175,14 @@ function walk(schema, byName, visiting, dateType) {
171
175
  return schema.values.includes(value);
172
176
  if (schema.kind === 'literal')
173
177
  return value === schema.value;
178
+ if (schema.kind === 'scalar' &&
179
+ (schema.scalar === 'integer' || schema.scalar === 'number') &&
180
+ typeof value === 'number') {
181
+ const { min, max, step } = numericRange(schema.scalar, meta);
182
+ // `toPrecision` drops float noise, so `0.3` counts as a multiple of `0.1`.
183
+ const onStep = step === undefined || Number.isInteger(Number((value / step).toPrecision(12)));
184
+ return onStep && (min === undefined || value >= min) && (max === undefined || value <= max);
185
+ }
174
186
  return true;
175
187
  };
176
188
  if (meta?.example !== undefined && inhabits(meta.example))
@@ -187,6 +199,8 @@ function walk(schema, byName, visiting, dateType) {
187
199
  }
188
200
  case 'object':
189
201
  return Object.fromEntries(schema.properties.flatMap((p) => {
202
+ if (omitsFromResponse(p))
203
+ return [];
190
204
  const value = walk(p.schema, byName, visiting, dateType);
191
205
  // A cyclic optional property is omitted (a null would not satisfy `T | undefined`);
192
206
  // a cyclic required property is uninhabitable, so null is the only stand-in.
@@ -264,11 +278,66 @@ function walk(schema, byName, visiting, dateType) {
264
278
  return null;
265
279
  }
266
280
  }
281
+ /**
282
+ * Whether a mock leaves a property out. Mocks are response data, and a response never
283
+ * carries a `writeOnly` property. A required one stays, because the named type still
284
+ * demands it; a handler whose response omits it samples that `omit` shape instead.
285
+ */
286
+ export function omitsFromResponse(property) {
287
+ return property.writeOnly === true && !property.required;
288
+ }
289
+ /**
290
+ * The inclusive range a numeric schema allows. `minimum`/`maximum` and the exclusive
291
+ * bounds narrow it, aligned to `multipleOf` (an integer steps by 1 without one). An
292
+ * exclusive bound on a number without a step moves in by 1, or to the middle of the
293
+ * range when the range is narrower than that. An unbounded side is `undefined`.
294
+ */
295
+ export function numericRange(scalar, meta) {
296
+ const step = meta?.multipleOf ?? (scalar === 'integer' ? 1 : undefined);
297
+ // The multiple of `step` that `round` picks for `bound`; `toPrecision` drops float noise.
298
+ const onStep = (bound, size, round) => Number((round(bound / size) * size).toPrecision(15));
299
+ const lows = [];
300
+ const highs = [];
301
+ if (meta?.minimum !== undefined) {
302
+ const bound = meta.minimum;
303
+ lows.push(step === undefined ? bound : onStep(bound, step, Math.ceil));
304
+ }
305
+ if (meta?.exclusiveMinimum !== undefined) {
306
+ const bound = meta.exclusiveMinimum;
307
+ lows.push(step === undefined ? bound + 1 : onStep(bound, step, (steps) => Math.floor(steps) + 1));
308
+ }
309
+ if (meta?.maximum !== undefined) {
310
+ const bound = meta.maximum;
311
+ highs.push(step === undefined ? bound : onStep(bound, step, Math.floor));
312
+ }
313
+ if (meta?.exclusiveMaximum !== undefined) {
314
+ const bound = meta.exclusiveMaximum;
315
+ highs.push(step === undefined ? bound - 1 : onStep(bound, step, (steps) => Math.ceil(steps) - 1));
316
+ }
317
+ const min = lows.length > 0 ? Math.max(...lows) : undefined;
318
+ const max = highs.length > 0 ? Math.min(...highs) : undefined;
319
+ if (step === undefined && min !== undefined && max !== undefined && min > max) {
320
+ const low = Math.max(meta?.minimum ?? -Infinity, meta?.exclusiveMinimum ?? -Infinity);
321
+ const high = Math.min(meta?.maximum ?? Infinity, meta?.exclusiveMaximum ?? Infinity);
322
+ const middle = (low + high) / 2;
323
+ return { min: middle, max: middle };
324
+ }
325
+ return { min, max, step };
326
+ }
327
+ /** `0` when the range allows it, else the end of the range nearest to `0`. */
328
+ function numberSample(scalar, meta) {
329
+ const { min, max } = numericRange(scalar, meta);
330
+ if (min !== undefined && min > 0)
331
+ return min;
332
+ if (max !== undefined && max < 0)
333
+ return max;
334
+ return 0;
335
+ }
267
336
  function scalarSample(scalar, meta) {
268
337
  if (scalar === 'boolean')
269
338
  return true;
270
339
  if (scalar === 'integer' || scalar === 'number')
271
- return 0;
340
+ return numberSample(scalar, meta);
272
341
  // Type-demanding formats (binary, and date/date-time under `dateType: 'Date'`) are
273
342
  // handled earlier in `walk` via `typeDemandedExpression`; here the date formats fall
274
343
  // through to the ISO-string path (the `dateType: 'string'` types them as `string`).