react-apiembed
v0.1.9
Published
React api embed component.
Downloads
2,222
Readme
react-apiembed
React components encapsulating functionality of apiembed. Allows you to generate code snippets from HARs, all in the browser, with the power of react. Examples
Built with:
- react
- httpsnippet(https://github.com/kong/httpsnippet)
- prismjs - Prism is a lightweight, extensible syntax highlighter.
React components included
<CodeSnippet .../>
- Render a code snippet from a HAR.<CodeSnippetWidget .../>
- Tabbed UI for selecting languages to render individualCodeSnippet
s<Apiembed .../>
- WIP
Setup
yarn install
# or
npm install
Usage
Using as a ES module:
import React from "react"
import { render } from "react-dom"
import { CodeSnippet, CodeSnippetWidget } from "react-apiembed"
class MyApp extends React.Component {
render() {
const har = {
method: "POST",
url: "http://mockbin.com/request",
httpVersion: "HTTP/1.1",
queryString: [{ name: "foo", value: "bar" }, { name: "foo", value: "baz" }],
headers: [
{ name: "Accept", value: "application/json" },
{ name: "Content-Type", value: "application/json" }
],
cookies: [{ name: "foo", value: "bar" }, { name: "bar", value: "baz" }],
postData: { mimeType: "application/json", text: '{"foo": "bar"}' }
}
return (
<div>
<CodeSnippet har={har} prismLanguage="javascript" target="javascript" client="jquery" />
<CodeSnippetWidget
har={har}
snippets={[
{
prismLanguage: "go",
target: "go"
},
{
prismLanguage: "bash",
target: "shell",
client: "curl"
}
]}
/>
</div>
)
}
}
render(<MyApp />, document.getElementById("root"))
Props
<CodeSnippet/>
| Name | Required | Default | Type | Description|
| :------------ | :------: | :------ | :----- | :-----|
| har | ✔ | | Object | HAR Request object as outlined here|
| prismLanguage | ✔ | | String | Prism languages. Currently supports: bash
, javascript
, php
, go
, ruby
, ocaml
, ruby
, java
, python
, swift
, csharp
, clike
|
| target | ✔ | | String | httpsnippet target
prop e.g. "node", "javascript", "shell", "go" etc.|
| client | | null
| String | httpsnippet client
prop. e.g. "xhr", "curl" etc.|
<CodeSnippetWidget/>
| Name | Required | Type | Description | | :------- | :------: | :----- | :--------------------------------------------------------------------------------------------- | | har | ✔ | Object | HAR Request object as outlined here | | snippets | ✔ | Object | Array of snippet objects |
snippet
properties
| Name | Required | Default | Type | Description |
| :------------ | :------: | :------ | :----- | :------------------------------------------------------------------------------- |
| prismLanguage | ✔ | | String | Prism languages. See above for supported languages. |
| target | ✔ | | String | httpsnippet target
prop e.g. "node", "javascript", "shell", "go" etc. |
| client | | null
| String | httpsnippet client
prop. e.g. "xhr", "curl" etc. |
Testing
npm run test