Skip to content

Commit 3e1d774

Browse files
authored
Merge pull request #9 from speakeasy-sdks/walker/spe-4574-feature-codesamples-sdk
feat: migrate to the new code_samples API
2 parents 900531c + 9e1a965 commit 3e1d774

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+1643
-1700
lines changed

.devcontainer/README.md

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,4 @@
11

2-
<div align="center">
3-
<a href="https://codespaces.new/speakeasy-sdks/code-sample-api.git/tree/main"><img src="https://github.com/codespaces/badge.svg" /></a>
4-
</div>
5-
<br>
6-
72
> **Remember to shutdown a GitHub Codespace when it is not in use!**
83
94
# Dev Containers Quick Start

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/react-query
2+
/.speakeasy/reports
13
/models
24
/models/errors
35
/types

.npmignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
**/*
2+
!/FUNCTIONS.md
3+
!/RUNTIMES.md
4+
!/REACT_QUERY.md
25
!/**/*.ts
36
!/**/*.js
47
!/**/*.map

.speakeasy/gen.lock

Lines changed: 32 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,56 @@
11
lockVersion: 2.0.0
2-
id: c7686174-7704-4859-9d59-8dab3c98a47f
2+
id: 74386feb-f8da-4ec0-8b02-29dfddf22161
33
management:
4-
docChecksum: c43b59c2013089d85388de072b9a0283
4+
docChecksum: a0841885f1d2df6bf65c33550d1be776
55
docVersion: 0.4.0
6-
speakeasyVersion: 1.441.0
7-
generationVersion: 2.460.1
8-
releaseVersion: 1.0.0
9-
configChecksum: 71305aa56b02d549908d5e2cbee7c48f
10-
repoURL: https://github.com/speakeasy-sdks/code-sample-api.git
11-
installationURL: https://github.com/speakeasy-sdks/code-sample-api
6+
speakeasyVersion: 1.463.1
7+
generationVersion: 2.486.6
8+
releaseVersion: 2.0.0
9+
configChecksum: 88c5e327e8ad8129a9654dc84dd0c36d
1210
published: true
1311
features:
1412
typescript:
15-
acceptHeaders: 2.81.2
1613
additionalDependencies: 0.1.0
17-
core: 3.18.5
14+
core: 3.18.12
1815
defaultEnabledRetries: 0.1.0
1916
devContainers: 2.90.0
20-
downloadStreams: 0.1.1
21-
enumUnions: 0.1.0
2217
envVarSecurityUsage: 0.1.2
23-
flattening: 2.82.0
24-
globalSecurity: 2.82.11
18+
globalSecurity: 2.82.12
2519
globalSecurityCallbacks: 0.1.0
20+
globalSecurityFlattening: 0.1.0
2621
globalServerURLs: 2.82.4
2722
globals: 2.82.1
2823
groups: 2.81.2
2924
nameOverrides: 2.81.2
25+
reactQueryHooks: 0.2.2
3026
responseFormat: 0.2.3
3127
retries: 2.83.0
3228
sdkHooks: 0.2.0
3329
serverIDs: 2.81.2
34-
tests: 0.7.0
35-
uploadStreams: 0.1.0
3630
generatedFiles:
3731
- .devcontainer/README.md
3832
- .devcontainer/devcontainer.json
3933
- .devcontainer/setup.sh
4034
- .eslintrc.cjs
4135
- .gitattributes
4236
- .npmignore
43-
- CONTRIBUTING.md
4437
- FUNCTIONS.md
38+
- REACT_QUERY.md
4539
- RUNTIMES.md
4640
- USAGE.md
4741
- docs/lib/utils/retryconfig.md
48-
- docs/models/components/codesampleschemainput.md
49-
- docs/models/components/codesamplesjobstatus.md
50-
- docs/models/components/schemafile.md
5142
- docs/models/components/security.md
43+
- docs/models/components/usagesnippet.md
44+
- docs/models/components/usagesnippets.md
5245
- docs/models/errors/errort.md
53-
- docs/models/operations/generatecodesamplepreviewasyncresponsebody.md
54-
- docs/models/operations/generatecodesamplepreviewresponse.md
55-
- docs/models/operations/getcodesamplepreviewasyncrequest.md
56-
- docs/models/operations/getcodesamplepreviewasyncresponse.md
57-
- docs/models/operations/getcodesamplepreviewasyncresponsebody.md
46+
- docs/models/operations/getcodesamplesglobals.md
47+
- docs/models/operations/getcodesamplesrequest.md
5848
- docs/sdks/codesamples/README.md
59-
- docs/sdks/sdk/README.md
49+
- docs/sdks/speakeasycodesamples/README.md
6050
- jsr.json
6151
- package.json
6252
- src/core.ts
63-
- src/funcs/codesamplesGetAsync.ts
64-
- src/funcs/codesamplesPreview.ts
65-
- src/funcs/codesamplesPreviewAsync.ts
53+
- src/funcs/codeSamplesGet.ts
6654
- src/hooks/hooks.ts
6755
- src/hooks/index.ts
6856
- src/hooks/types.ts
@@ -82,19 +70,21 @@ generatedFiles:
8270
- src/lib/sdks.ts
8371
- src/lib/security.ts
8472
- src/lib/url.ts
85-
- src/models/components/codesampleschemainput.ts
86-
- src/models/components/codesamplesjobstatus.ts
8773
- src/models/components/index.ts
8874
- src/models/components/security.ts
75+
- src/models/components/usagesnippet.ts
76+
- src/models/components/usagesnippets.ts
8977
- src/models/errors/apierror.ts
9078
- src/models/errors/error.ts
9179
- src/models/errors/httpclienterrors.ts
9280
- src/models/errors/index.ts
9381
- src/models/errors/sdkvalidationerror.ts
94-
- src/models/operations/generatecodesamplepreview.ts
95-
- src/models/operations/generatecodesamplepreviewasync.ts
96-
- src/models/operations/getcodesamplepreviewasync.ts
82+
- src/models/operations/getcodesamples.ts
9783
- src/models/operations/index.ts
84+
- src/react-query/_context.tsx
85+
- src/react-query/_types.ts
86+
- src/react-query/codeSamplesGet.ts
87+
- src/react-query/index.ts
9888
- src/sdk/codesamples.ts
9989
- src/sdk/index.ts
10090
- src/sdk/sdk.ts
@@ -108,31 +98,14 @@ generatedFiles:
10898
- src/types/streams.ts
10999
- tsconfig.json
110100
examples:
111-
generateCodeSamplePreview:
112-
speakeasy-default-generate-code-sample-preview:
113-
requestBody:
114-
multipart/form-data: {"languages": ["<value>"], "schema_file": {}}
115-
responses:
116-
4XX:
117-
application/json: {"message": "<value>", "status_code": 159498}
118-
"200": {}
119-
generateCodeSamplePreviewAsync:
120-
speakeasy-default-generate-code-sample-preview-async:
121-
requestBody:
122-
multipart/form-data: {"languages": ["<value>", "<value>"], "schema_file": {}}
123-
responses:
124-
"202":
125-
application/json: {"job_id": "<id>", "status": "pending"}
126-
4XX:
127-
application/json: {"message": "<value>", "status_code": 677743}
128-
getCodeSamplePreviewAsync:
129-
speakeasy-default-get-code-sample-preview-async:
101+
getCodeSamples:
102+
speakeasy-default-get-code-samples:
130103
parameters:
131-
path:
132-
jobID: "<id>"
104+
query:
105+
registry_url: "https://spec.speakeasy.com/org/ws/my-source"
133106
responses:
134-
"202":
135-
application/json: {"status": "pending"}
107+
2XX:
108+
application/json: {"snippets": [{"operationId": "<id>", "language": "<value>", "code": "<value>"}, {"operationId": "<id>", "language": "<value>", "code": "<value>"}]}
136109
4XX:
137-
application/json: {"message": "<value>", "status_code": 893724}
138-
"200": {}
110+
application/json: {"message": "<value>", "status_code": 558834}
111+
generatedTests: {}

.speakeasy/gen.yaml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,20 @@ generation:
33
devContainers:
44
enabled: true
55
schemaPath: openapi.json
6-
sdkClassName: SDK
6+
sdkClassName: SpeakeasyCodeSamples
77
maintainOpenAPIOrder: true
88
usageSnippets:
99
optionalPropertyRendering: withExample
1010
useClassNamesForArrayFields: true
1111
fixes:
12-
nameResolutionDec2023: true
13-
parameterOrderingFeb2024: true
14-
requestResponseComponentNamesFeb2024: true
12+
nameResolutionDec2023: false
13+
parameterOrderingFeb2024: false
14+
requestResponseComponentNamesFeb2024: false
1515
auth:
1616
oAuth2ClientCredentialsEnabled: false
1717
oAuth2PasswordEnabled: false
1818
typescript:
19-
version: 1.0.0
19+
version: 2.0.0
2020
additionalDependencies:
2121
dependencies: {}
2222
devDependencies: {}
@@ -25,6 +25,7 @@ typescript:
2525
author: Speakeasy
2626
clientServerStatusCodesAsErrors: true
2727
defaultErrorName: APIError
28+
enableReactQuery: true
2829
enumFormat: enum
2930
flattenGlobalSecurity: true
3031
flatteningOrder: body-first
@@ -41,7 +42,7 @@ typescript:
4142
methodArguments: require-security-and-request
4243
moduleFormat: commonjs
4344
outputModelSuffix: output
44-
packageName: '@speakeasyapi/code-samples'
45+
packageName: "@speakeasyapi/code-samples"
4546
responseFormat: flat
4647
templateVersion: v2
4748
useIndexModules: true

.speakeasy/workflow.lock

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
speakeasyVersion: 1.441.0
1+
speakeasyVersion: 1.463.1
22
sources:
33
speakeasy-OAS:
44
sourceNamespace: speakeasy-oas
@@ -13,8 +13,6 @@ targets:
1313
sourceNamespace: speakeasy-oas
1414
sourceRevisionDigest: sha256:3ce4076b437393a6fb3f102ac083c3d05a6e9e3e6daf47f99c6c4cf3a65b0e4c
1515
sourceBlobDigest: sha256:785a83db337cb309aac27c4a805335396096391c489e7140d753840935ef8e55
16-
codeSamplesNamespace: speakeasy-oas-code-samples
17-
codeSamplesRevisionDigest: sha256:e5da15a44c4e0e5137d00c8cba0a0349cac5002cb0232608b12c6d34a517724f
1816
workflow:
1917
workflowVersion: 1.0.0
2018
speakeasyVersion: latest
@@ -26,7 +24,7 @@ workflow:
2624
- location: overlay.yaml
2725
transformations:
2826
- filterOperations:
29-
operations: generateCodeSamplePreview, generateCodeSamplePreviewAsync, getCodeSamplePreviewAsync
27+
operations: getCodeSamples
3028
include: true
3129
registry:
3230
location: registry.speakeasyapi.dev/speakeasy-self/speakeasy-public/speakeasy-oas

.speakeasy/workflow.yaml

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
workflowVersion: 1.0.0
22
speakeasyVersion: latest
33
sources:
4-
speakeasy-OAS:
5-
inputs:
6-
- location: https://www.speakeasy.com/openapi.yaml
7-
overlays:
8-
- location: overlay.yaml
9-
transformations:
10-
- filterOperations:
11-
operations: generateCodeSamplePreview, generateCodeSamplePreviewAsync, getCodeSamplePreviewAsync
12-
include: true
13-
registry:
14-
location: registry.speakeasyapi.dev/speakeasy-self/speakeasy-public/speakeasy-oas
4+
speakeasy-OAS:
5+
inputs:
6+
- location: https://www.speakeasy.com/openapi.yaml
7+
overlays:
8+
- location: overlay.yaml
9+
transformations:
10+
- filterOperations:
11+
operations: getCodeSamples
12+
include: true
13+
registry:
14+
location: registry.speakeasyapi.dev/speakeasy-self/speakeasy-public/speakeasy-oas
1515
targets:
16-
code_samples_typescript_sdk:
17-
target: typescript
18-
source: speakeasy-OAS
19-
publish:
20-
npm:
21-
token: $npm_token
22-
codeSamples:
23-
registry:
24-
location: registry.speakeasyapi.dev/speakeasy-self/speakeasy-public/speakeasy-oas-code-samples
25-
blocking: false
16+
code_samples_typescript_sdk:
17+
target: typescript
18+
source: speakeasy-OAS
19+
publish:
20+
npm:
21+
token: $npm_token
22+
codeSamples:
23+
registry:
24+
location: registry.speakeasyapi.dev/speakeasy-self/speakeasy-public/speakeasy-oas-code-samples
25+
blocking: false

FUNCTIONS.md

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,25 +19,20 @@ specific category of applications.
1919
## Example
2020

2121
```typescript
22-
import { SDKCore } from "@speakeasyapi/code-samples/core.js";
23-
import { codesamplesPreview } from "@speakeasyapi/code-samples/funcs/codesamplesPreview.js";
22+
import { SpeakeasyCodeSamplesCore } from "@speakeasyapi/code-samples/core.js";
23+
import { codeSamplesGet } from "@speakeasyapi/code-samples/funcs/codeSamplesGet.js";
2424
import { SDKValidationError } from "@speakeasyapi/code-samples/models/errors/sdkvalidationerror.js";
25-
import { openAsBlob } from "node:fs";
2625

27-
// Use `SDKCore` for best tree-shaking performance.
26+
// Use `SpeakeasyCodeSamplesCore` for best tree-shaking performance.
2827
// You can create one instance of it to use across an application.
29-
const sdk = new SDKCore({
30-
security: {
31-
apiKey: "<YOUR_API_KEY_HERE>",
32-
},
28+
const speakeasyCodeSamples = new SpeakeasyCodeSamplesCore({
29+
apiKey: "<YOUR_API_KEY_HERE>",
30+
registryUrl: "https://spec.speakeasy.com/org/ws/my-source",
3331
});
3432

3533
async function run() {
36-
const res = await codesamplesPreview(sdk, {
37-
languages: [
38-
"<value>",
39-
],
40-
schemaFile: await openAsBlob("example.file"),
34+
const res = await codeSamplesGet(speakeasyCodeSamples, {
35+
registryUrl: "https://spec.speakeasy.com/org/ws/my-source",
4136
});
4237

4338
switch (true) {

0 commit comments

Comments
 (0)