MCPcopy Index your code
hub / github.com/github/docs / getCodeSamples

Function getCodeSamples

src/rest/scripts/utils/create-rest-examples.js:14–47  ·  view source on GitHub ↗
(operation)

Source from the content-addressed store, hash-verified

12// The key used in the media type `examples` property is
13// used to match requests to responses.
14export default function getCodeSamples(operation) {
15 const responseExamples = getResponseExamples(operation)
16 const requestExamples = getRequestExamples(operation)
17
18 const mergedExamples = mergeExamples(requestExamples, responseExamples)
19
20 // If there are multiple examples and if the request body
21 // has the same description, add a number to the example
22 if (mergedExamples.length > 1) {
23 const count = {}
24 mergedExamples.forEach((item) => {
25 count[item.request.description] = (count[item.request.description] || 0) + 1
26 })
27
28 const newMergedExamples = mergedExamples.map((example, i) => ({
29 ...example,
30 request: {
31 ...example.request,
32 description:
33 count[example.request.description] > 1
34 ? example.request.description +
35 ' ' +
36 (i + 1) +
37 ': Status Code ' +
38 example.response.statusCode
39 : example.request.description,
40 },
41 }))
42
43 return newMergedExamples
44 }
45
46 return mergedExamples
47}
48
49export function mergeExamples(requestExamples, responseExamples) {
50 // There is always at least one request example, but it won't create

Callers 2

constructorMethod · 0.85

Calls 3

getResponseExamplesFunction · 0.85
getRequestExamplesFunction · 0.85
mergeExamplesFunction · 0.85

Tested by

no test coverage detected