diff --git a/README.md b/README.md index ca7e1be6..fa531814 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,6 @@ A RESTful API for managing your Postgres. Fetch tables, add roles, and run queries (and more). -## Usage - -Full documentation: https://supabase.github.io/postgres-meta/ - ## Quickstart Set the following ENV VARS: diff --git a/docs/.dockerignore b/docs/.dockerignore deleted file mode 100644 index 93f13619..00000000 --- a/docs/.dockerignore +++ /dev/null @@ -1,2 +0,0 @@ -node_modules -npm-debug.log diff --git a/docs/.editorconfig b/docs/.editorconfig deleted file mode 100644 index 88df879c..00000000 --- a/docs/.editorconfig +++ /dev/null @@ -1,12 +0,0 @@ -root = true - -[*] -end_of_line = lf -indent_style = space -indent_size = 4 -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -[*.md] -trim_trailing_whitespace = false diff --git a/docs/.eslintrc.json b/docs/.eslintrc.json deleted file mode 100644 index f6fb5351..00000000 --- a/docs/.eslintrc.json +++ /dev/null @@ -1,265 +0,0 @@ -{ - "env": { - "es6": true, - "node": true - }, - "extends": "eslint:recommended", - "rules": { - "accessor-pairs": "error", - "array-bracket-spacing": [ - "off", - "never" - ], - "array-callback-return": "error", - "arrow-body-style": "off", - "arrow-parens": [ - "off", - "as-needed" - ], - "arrow-spacing": [ - "error", - { - "after": true, - "before": true - } - ], - "block-scoped-var": "off", - "block-spacing": "off", - "brace-style": [ - "off", - "stroustrup" - ], - "callback-return": "off", - "camelcase": "off", - "class-methods-use-this": "error", - "comma-dangle": "error", - "comma-spacing": "off", - "comma-style": [ - "error", - "last" - ], - "complexity": "off", - "computed-property-spacing": [ - "error", - "never" - ], - "consistent-return": "off", - "consistent-this": "error", - "curly": "off", - "default-case": "error", - "dot-location": [ - "off", - "property" - ], - "dot-notation": [ - "error", - { - "allowKeywords": true - } - ], - "eol-last": "error", - "eqeqeq": "off", - "func-call-spacing": "error", - "func-name-matching": "off", - "func-names": "off", - "func-style": [ - "error", - "declaration" - ], - "generator-star-spacing": "off", - "global-require": "off", - "guard-for-in": "off", - "handle-callback-err": "off", - "id-blacklist": "error", - "id-length": "off", - "id-match": "error", - "indent": "off", - "init-declarations": "off", - "jsx-quotes": "error", - "key-spacing": "off", - "keyword-spacing": "off", - "line-comment-position": "off", - "linebreak-style": [ - "error", - "unix" - ], - "lines-around-comment": "off", - "lines-around-directive": "off", - "max-depth": "off", - "max-len": "off", - "max-lines": "off", - "max-nested-callbacks": "error", - "max-params": "off", - "max-statements": "off", - "max-statements-per-line": "off", - "multiline-ternary": [ - "off", - "never" - ], - "new-parens": "error", - "newline-after-var": "off", - "newline-before-return": "off", - "newline-per-chained-call": "off", - "no-alert": "error", - "no-array-constructor": "error", - "no-bitwise": "off", - "no-caller": "error", - "no-catch-shadow": "off", - "no-confusing-arrow": "error", - "no-console": "off", - "no-continue": "off", - "no-div-regex": "error", - "no-duplicate-imports": "error", - "no-else-return": "off", - "no-empty": [ - "warn", - { - "allowEmptyCatch": true - } - ], - "no-empty-function": "off", - "no-eq-null": "error", - "no-eval": "error", - "no-extend-native": "off", - "no-extra-bind": "error", - "no-extra-label": "error", - "no-extra-parens": "off", - "no-floating-decimal": "error", - "no-global-assign": "error", - "no-implicit-globals": "error", - "no-implied-eval": "error", - "no-inline-comments": "off", - "no-inner-declarations": [ - "error", - "functions" - ], - "no-invalid-this": "off", - "no-iterator": "error", - "no-label-var": "error", - "no-labels": "error", - "no-lone-blocks": "error", - "no-lonely-if": "off", - "no-loop-func": "off", - "no-magic-numbers": "off", - "no-mixed-operators": "error", - "no-mixed-requires": "error", - "no-multi-spaces": "off", - "no-multi-str": "error", - "no-multiple-empty-lines": "error", - "no-negated-condition": "error", - "no-nested-ternary": "off", - "no-new": "error", - "no-new-func": "error", - "no-new-object": "error", - "no-new-require": "error", - "no-new-wrappers": "error", - "no-octal-escape": "error", - "no-param-reassign": "off", - "no-path-concat": "error", - "no-plusplus": "off", - "no-process-env": "off", - "no-process-exit": "off", - "no-proto": "error", - "no-prototype-builtins": "error", - "no-restricted-globals": "error", - "no-restricted-imports": "error", - "no-restricted-modules": "error", - "no-restricted-properties": "error", - "no-restricted-syntax": "error", - "no-return-assign": "off", - "no-script-url": "error", - "no-self-compare": "error", - "no-sequences": "error", - "no-shadow": "off", - "no-shadow-restricted-names": "error", - "no-spaced-func": "error", - "no-sync": "off", - "no-tabs": "off", - "no-template-curly-in-string": "error", - "no-ternary": "off", - "no-throw-literal": "error", - "no-trailing-spaces": "error", - "no-undef-init": "error", - "no-undefined": "warn", - "no-underscore-dangle": "off", - "no-unmodified-loop-condition": "error", - "no-unneeded-ternary": [ - "error", - { - "defaultAssignment": true - } - ], - "no-unsafe-negation": "error", - "no-unused-expressions": "error", - "no-unused-vars": "off", - "no-use-before-define": "off", - "no-useless-call": "error", - "no-useless-computed-key": "error", - "no-useless-concat": "off", - "no-useless-constructor": "error", - "no-useless-escape": "off", - "no-useless-rename": "error", - "no-var": "off", - "no-void": "error", - "no-warning-comments": "off", - "no-whitespace-before-property": "error", - "no-with": "error", - "object-curly-newline": "off", - "object-curly-spacing": "off", - "object-property-newline": [ - "off", - { - "allowMultiplePropertiesPerLine": true - } - ], - "object-shorthand": "off", - "one-var": "off", - "one-var-declaration-per-line": "error", - "operator-assignment": "off", - "operator-linebreak": "off", - "padded-blocks": "off", - "prefer-arrow-callback": "off", - "prefer-const": "off", - "prefer-numeric-literals": "error", - "prefer-reflect": "off", - "prefer-rest-params": "error", - "prefer-spread": "error", - "prefer-template": "off", - "quote-props": "off", - "quotes": "off", - "radix": "error", - "require-jsdoc": "off", - "require-yield": "off", - "rest-spread-spacing": "error", - "semi": "off", - "semi-spacing": "off", - "sort-imports": "error", - "sort-keys": "off", - "sort-vars": "off", - "space-before-blocks": "off", - "space-before-function-paren": "off", - "space-in-parens": [ - "error", - "never" - ], - "space-infix-ops": "off", - "space-unary-ops": "error", - "spaced-comment": "off", - "strict": "error", - "symbol-description": "error", - "template-curly-spacing": "error", - "unicode-bom": [ - "error", - "never" - ], - "valid-jsdoc": "off", - "vars-on-top": "off", - "wrap-iife": "error", - "wrap-regex": "off", - "yield-star-spacing": "error", - "yoda": [ - "error", - "never" - ] - } -} diff --git a/docs/.gitignore b/docs/.gitignore deleted file mode 100644 index 7d8d18a7..00000000 --- a/docs/.gitignore +++ /dev/null @@ -1,48 +0,0 @@ -*.txt -compare.js -doit.sh -source/layouts/layout*.erb -source/images/custom_logo.* -spectacle -dev/ -test/ -testroot/ - -# Logs -logs -*.log -npm-debug.log* - -# Runtime data -pids -*.pid -*.seed - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (http://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules -jspm_packages - -# Optional npm cache directory -.npm - -# Optional REPL history -.node_repl_history -.idea diff --git a/docs/.nojekyll b/docs/.nojekyll deleted file mode 100644 index 792d6005..00000000 --- a/docs/.nojekyll +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/docs/.travis.yml b/docs/.travis.yml deleted file mode 100644 index 64d92ea4..00000000 --- a/docs/.travis.yml +++ /dev/null @@ -1,9 +0,0 @@ -language: node_js -node_js: - - "node" - - "lts/*" - - "10" -script: - - npm run build - - npm run lint - - npm run lintejs diff --git a/docs/Dockerfile b/docs/Dockerfile deleted file mode 100644 index f7d9ab5b..00000000 --- a/docs/Dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -FROM node:dubnium-alpine - -WORKDIR /srv/shins - -# install dependencies -COPY package.json . -RUN npm install - -# install the app -COPY . . - -VOLUME /srv/shins/source - -EXPOSE 4567 -CMD [ "npm", "run", "serve" ] diff --git a/docs/LICENSE b/docs/LICENSE deleted file mode 100644 index 34baba5c..00000000 --- a/docs/LICENSE +++ /dev/null @@ -1,204 +0,0 @@ -Copyright 2008-2013 Concur Technologies, Inc. -Copyright 2016 Mike Ralphson - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/Procfile b/docs/Procfile deleted file mode 100644 index f8762c74..00000000 --- a/docs/Procfile +++ /dev/null @@ -1 +0,0 @@ -web: node --optimize_for_size --max_old_space_size=460 --gc_interval=100 arapaho.js diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index 12017c53..00000000 --- a/docs/README.md +++ /dev/null @@ -1,145 +0,0 @@ -# shins - -### Shins Is Not Slate - -Beautiful static documentation for your API. - -![logo](https://github.com/Mermade/shins/blob/master/docs/logo.jpg?raw=true) - -Shins is a port of [Slate](https://github.com/slatedocs/slate) to Javascript / Nodejs, and would -not be possible without all of that hard work. - -Version numbers of Shins aim to track the version of Slate they are compatible with. - -![screenshot](https://github.com/Mermade/shins/blob/master/docs/screenshot.jpg?raw=true) - -### Usage - -* Fork the repository -* Clone the fork -* Edit source/index.html.md -* `npm install` -* `node shins.js` (alias `npm run build`) or - * `node shins.js --minify` or - * `node shins.js --customcss` or - * `node shins.js --inline` or - * `node shins.js --unsafe` or - * `node shins.js --no-links` -* To add custom logo add `--logo` option with path to your logo image. -* To use a different layout template (default `source/layouts/layout.ejs` use the `--layout` option. -* To make the logo image link to a webpage, add `--logo-url` option with URL to link to. -* To specify a different output filename from the default `./index.html`, use the `--output` or `-o` option. -* To allow css-style attributes in markdown, specify the `--attr` option. -* You can specify another location for the `source` and `pub` directories using the `--root` option. -* To check locally: `node arapaho` or `npm run serve` and browse to [localhost:4567](http://localhost:4567) - changes to your source `.html.md` files and the `source/includes` directory will automatically be picked up and re-rendered. If you use `--launch` or `-l` or `npm run start` your default browser will be opened automatically. You can also pass `shins` options on the `arapaho` command-line. -* Add, commit and push -* Then (in your fork) press this button - -[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy) - -Or, to deploy to GitHub Pages: - -* Change the setting on your fork so Github Pages are served from the root directory -* Browse to `https://{yourname}.github.io/{repository-name}` - -To deploy to your own web-server: - -If you use the option `--minify` to shins, the only things you need to take to your web host is the generated `index.html` and the contents of the `pub` directory, which should be kept relative to it, so the structure is always: - -``` -{whatever}/index.html -{whatever}/pub/css/ -{whatever}/pub/js/ -``` - -If you use the `--inline` option to shins, then everything is bundled into the `index.html` file and no `pub` directory is required. Fonts are by default loaded from this github repository, but this can be overridden with the `--fonturl` option. - -### Docker - -A `Dockerfile` is included. To build: - -* `docker build . -t shins:latest` - -to run: - -* `docker run -p 4567:4567 -v $(pwd)/source:/srv/shins/source shins:latest` - -### Multiple Shins pages / portal - -There is a simple example of using an [index markdown file](./source/portal.html.md) as an entry point to a collection of Shins pages [here](https://mermade.github.io/shins/portal.html). - -### API - -```javascript -const shins = require('shins'); -let options = {}; -options.cli = false; // if true, missing files will trigger an exit(1) -options.minify = false; -options.customCss = false; -options.inline = false; -options.unsafe = false; // setting to true turns off markdown sanitisation -options['no-links'] = false; // if true, do not automatically convert links in text to anchor tags -//options.source = filename; // used to resolve relative paths for included files -shins.render(markdownString, options, function(err, html) { - // ... -}); -``` - -or, with Promises: - -```javascript -const shins = require('shins'); -let options = {}; -options.cli = false; // if true, missing files will trigger an exit(1) -options.minify = false; -options.customCss = false; -options.inline = false; -options.unsafe = false; // setting to true turns off markdown sanitisation -options['no-links'] = false; // if true, do not automatically convert links in text to anchor tags -//options.source = filename; // used to resolve relative paths for included files -options.logo = './my-custom-logo.png'; -options['logo-url'] = 'https://www.example.com'; -shins.render(markdownString, options) -.then(html => { - // ... -}); -``` - -The `err` parameter is the result of the `ejs` rendering step. - -Setting `customCss` to `true` will include the `pub/css/screen_overrides.css`,`pub/css/print_overrides.css` and `pub/css/theme_override.css` files, in which you can override any of the default Slate theme, to save you from having to alter the main css files directly. This should make syncing up with future Shins / Slate releases easier. - -Setting `inline` to `true` will inline all page resources (except resources referenced via CSS, such as fonts) to output html. This way HTML can be used stand-alone, without needing any other resources. It will also set `minify` to `true`. - -Set `logo` path to add your custom logo as absolute path or path relative to process working directory. If `inline` option is on image will be inlined, else it will be copied to `source/images` directory and included via `src` image attribute. - -Set `logo-url` if you want the logo image to link to a webpage. - -### Updating from Slate - -* Note: changes to Slate CSS, Javascript etc may break assumptions made in Shins. Use at your own risk. -* The script `updateFromSlate` assumes you have Ruby Slate checked-out by the side of shins (i.e. in a sibling directory) and will copy .scss files, fonts, Javascript files etc. -* The `buildstyle.js` program can be used to process the .scss files to their .css equivalents. It takes one optional **parameter**, the `outputStyle` used by `node-sass`. This can be either `nested`, `expanded`, `compact` or `compressed`. Default is `nested`. It also respects the `--root` option. - -### Notes - -* Windows is definitely supported -* Syntax highlighting in 189 [languages](https://highlightjs.org/static/demo/) and 91 [themes](https://highlightjs.org/static/demo/) (you can specify the highlighter theme to use by setting `highlight_theme` in your slate markdown header) -* Multiple language tabs per language are supported -* Static TOC as per Slate v2.0 -* [GitHub emoji shortcuts](https://gist.github.com/rxaviers/7360908) are supported -* For converting [OpenAPI / Swagger](https://github.com/OAI/OpenAPI-Specification) or [AsyncAPI](https://github.com/asyncapi/asyncapi) definitions to Shins or Slate, see [widdershins](http://github.com/mermade/widdershins) -* `arapaho` has a `--preserve` or `-p` option which will not overwrite your `.html` output file, but still re-render when necessary -* Shins ships with an alternate theme by [TradeGecko](https://github.com/tradegecko) which is also under the Apache 2.0 license, `pub/css/tradegecko.min.css` can be included with the `--css` option -* Shins additionally supports [AsciiDoc](http://asciidoctor.org/docs/asciidoc-syntax-quick-reference/#include-files) `include::filename[]` syntax as well as `!INCLUDE filename` from [markdown-pp](https://github.com/MikeRalphson/markdown-pp-js) - this is not supported by Slate. See some [more information about including files](/docs/include.md). - -### Shins in the wild - -Please feel free to add a link to your API documentation here - -* [APIs.guru OpenAPI specification extensions (Semoasa) documentation](https://mermade.github.io/shins/apisguru.html) -* [Signal Biometrics Ox documentation](https://signalbiometrics.github.io/ox-docs/) -* [LeApp daemon API](https://leapp-to.github.io/shins/index.html) -* [Shutterstock API](https://api-reference.shutterstock.com/) -* [Shotstack Video Editing API](https://shotstack.io/docs/api/index.html) - diff --git a/docs/api.yml b/docs/api.yml deleted file mode 100644 index 5886d460..00000000 --- a/docs/api.yml +++ /dev/null @@ -1,1114 +0,0 @@ -openapi: 3 - -info: - title: Postgres API - description: | - Manage your PostgreSQL database using a RESTful API. - - This is still in early development, so most of the functionality is read-only. - - The goal of this API is to enable the full management of a Postgres database using a RESTful interface. This includes adding tables, columns, roles, and users at runtime, as well as running ad-hoc queries. - - Made by Supabase: https://supabase.io - - # Getting started - - ## Usage - - > Basic usage - - ```sh - curl -X GET http://localhost:1337/ \ - -H 'Content-Type: application/json' \ - -H 'X-Connection-Encrypted: ENCRYPTED_STRING' - ``` - ```js - const data = await fetch('http://localhost:1337', { - method: 'GET', - headers: { - 'Content-Type': 'application/json', - 'X-Connection-Encrypted': 'ENCRYPTED_STRING' - } - }) - ``` - - For security reasons, this API is best self-hosted and set up with ENV_VARS with the default connection string. - - If you want to use this with multiple Postgres instances, you can pass the connection string as a header but it must be encrypted. - - - ## Self Hosting - - ``` - https://github.com/supabase/pg-api - ``` - - We support several different methods for self-hosting, detailed in the [repository](https://github.com/supabase/pg-api). - - - ## Authentication - - Authentication is not provided. Make sure you use this inside a secure network or behind a secure API proxy. - contact: - name: Support - url: https://github.com/supabase/pg-api/issues/new/choose - email: support@supabase.io - license: - name: Apache 2.0 - url: https://www.apache.org/licenses/LICENSE-2.0.html - version: 0.11.5 - -paths: - /config: - get: - tags: [/config] - summary: Get all configs - operationId: getConfigs - responses: - '200': - description: Successful operation - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Config' - - /config/version: - get: - tags: [/config/version] - summary: Get version - operationId: getVersion - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Version' - - /query: - post: - tags: [/query] - summary: Make a query - operationId: query - responses: - '200': - description: Successful operation - content: - application/json: - schema: - type: array - items: - type: object - - /columns: - get: - tags: [/columns] - summary: Get all columns - operationId: getColumns - parameters: - - name: include_system_schemas - in: query - schema: - type: boolean - responses: - '200': - description: Successful operation - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Column' - - post: - tags: [/columns] - summary: Add a column - operationId: createColumn - requestBody: - content: - application/json: - schema: - type: object - properties: - name: - type: string - table_id: - type: integer - type: - type: string - default_value: - type: string - is_identity: - type: boolean - is_nullable: - type: boolean - is_primary_key: - type: boolean - is_unique: - type: boolean - required: [name, table_id, type] - required: true - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Column' - - /columns/{id}: - parameters: - - name: id - in: path - required: true - schema: - type: string - pattern: '\d+\.\d+' - - patch: - tags: [/columns] - summary: Update a column by ID - operationId: updateColumn - requestBody: - content: - application/json: - schema: - type: object - properties: - name: - type: string - type: - type: string - drop_default: - type: boolean - default_value: - type: string - is_nullable: - type: boolean - required: true - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Column' - - delete: - tags: [/columns] - summary: Delete a column by ID - operationId: deleteColumn - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Column' - - /extensions: - get: - tags: [/extensions] - summary: Get all extensions - operationId: getExtensions - responses: - '200': - description: Successful operation - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Extension' - - post: - tags: [/extensions] - summary: Install an extension - operationId: createExtension - requestBody: - content: - application/json: - schema: - type: object - properties: - name: - type: string - schema: - type: string - version: - type: string - cascade: - type: boolean - required: [name] - required: true - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Extension' - - /extensions/{id}: - parameters: - - name: id - in: path - required: true - schema: - type: integer - - patch: - tags: [/extensions] - summary: Update/modify an extension by ID - operationId: updateExtension - requestBody: - content: - application/json: - schema: - type: object - properties: - update: - type: boolean - version: - type: string - schema: - type: string - required: true - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Extension' - - delete: - tags: [/extensions] - summary: Uninstall an extension by ID - operationId: deleteExtension - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Extension' - - /functions: - get: - tags: [/functions] - summary: Get all functions - operationId: getFunctions - parameters: - - name: include_system_schemas - in: query - schema: - type: boolean - responses: - '200': - description: Successful operation - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Function' - - /policies: - get: - tags: [/policies] - summary: Get all policies - operationId: getPolicies - parameters: - - name: include_system_schemas - in: query - schema: - type: boolean - responses: - '200': - description: Successful operation - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Policy' - - post: - tags: [/policies] - summary: Create a policy - operationId: createPolicy - requestBody: - content: - application/json: - schema: - type: object - properties: - name: - type: string - schema: - type: string - table: - type: string - required: [name, table] - required: true - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Policy' - - /policies/{id}: - parameters: - - name: id - in: path - required: true - schema: - type: integer - - patch: - tags: [/policies] - summary: Update a policy by ID - operationId: updatePolicy - requestBody: - content: - application/json: - schema: - type: object - properties: - name: - type: string - schema: - type: string - table: - type: string - required: true - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Policy' - - delete: - tags: [/policies] - summary: Delete a policy by ID - operationId: deletePolicy - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Policy' - - /roles: - get: - tags: [/roles] - summary: Get all roles - operationId: getRoles - parameters: - - name: include_system_schemas - in: query - schema: - type: boolean - responses: - '200': - description: Successful operation - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Role' - - post: - tags: [/roles] - summary: Create a role - operationId: createRole - requestBody: - content: - application/json: - schema: - type: object - properties: - name: - type: string - is_superuser: - type: boolean - can_create_db: - type: boolean - can_create_role: - type: boolean - inherit_role: - type: boolean - can_login: - type: boolean - is_replication_role: - type: boolean - can_bypass_rls: - type: boolean - connection_limit: - type: integer - password: - type: string - valid_until: - type: string - member_of: - type: array - items: - type: string - members: - type: array - items: - type: string - admins: - type: array - items: - type: string - required: [name] - required: true - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Role' - - /roles/{id}: - parameters: - - name: id - in: path - required: true - schema: - type: integer - - patch: - tags: [/roles] - summary: Update a role by ID - operationId: updateRole - requestBody: - content: - application/json: - schema: - type: object - properties: - name: - type: string - is_superuser: - type: boolean - can_create_db: - type: boolean - can_create_role: - type: boolean - inherit_role: - type: boolean - can_login: - type: boolean - is_replication_role: - type: boolean - can_bypass_rls: - type: boolean - connection_limit: - type: integer - password: - type: string - valid_until: - type: string - required: true - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Role' - - delete: - tags: [/roles] - summary: Delete a role by ID - operationId: deleteRole - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Role' - - /schemas: - get: - tags: [/schemas] - summary: Get all schemas - operationId: getSchemas - parameters: - - name: include_system_schemas - in: query - schema: - type: boolean - responses: - '200': - description: Successful operation - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Schema' - - post: - tags: [/schemas] - summary: Create a schema - operationId: createSchema - requestBody: - content: - application/json: - schema: - type: object - properties: - name: - type: string - owner: - type: string - required: [name, owner] - required: true - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Schema' - - /schemas/{id}: - parameters: - - name: id - in: path - required: true - schema: - type: integer - - patch: - tags: [/schemas] - summary: Update a schema by ID - operationId: updateSchema - requestBody: - content: - application/json: - schema: - type: object - properties: - name: - type: string - owner: - type: string - required: true - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Schema' - - delete: - tags: [/schemas] - summary: Delete a schema by ID - operationId: deleteSchema - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Schema' - - /tables: - get: - tags: [/tables] - summary: Get all tables - operationId: getTables - parameters: - - name: include_system_schemas - in: query - schema: - type: boolean - responses: - '200': - description: Successful operation - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Table' - - post: - tags: [/tables] - summary: Create a table - operationId: createTable - requestBody: - content: - application/json: - schema: - type: object - properties: - name: - type: string - schema: - type: string - required: [name] - required: true - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Table' - - /tables/{id}: - parameters: - - name: id - in: path - required: true - schema: - type: integer - - patch: - tags: [/tables] - summary: Update a table by ID - operationId: updateTable - requestBody: - content: - application/json: - schema: - type: object - properties: - schema: - type: string - name: - type: string - rls_enabled: - type: boolean - rls_forced: - type: boolean - required: true - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Table' - - delete: - tags: [/tables] - summary: Delete a table by ID - operationId: deleteTable - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Table' - - /types: - get: - tags: [/types] - summary: Get all types - operationId: getTypes - parameters: - - name: include_system_schemas - in: query - schema: - type: boolean - responses: - '200': - description: Successful operation - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Type' - -components: - schemas: - Column: - type: object - properties: - table_id: - type: integer - schema: - type: string - table: - type: string - id: - type: string - pattern: '\d+\.\d+' - ordinal_position: - type: integer - name: - type: string - default_value: - type: string - data_type: - type: string - format: - type: string - description: - type: string - is_identity: - type: boolean - identity_generation: - type: string - is_nullable: - type: boolean - is_updatable: - type: boolean - enums: - type: array - items: - type: string - - Config: - type: object - properties: - name: - type: string - setting: - type: string - category: - type: string - group: - type: string - subgroup: - type: string - unit: - type: string - nullable: true - short_desc: - type: string - extra_desc: - type: string - nullable: true - context: - type: string - vartype: - type: string - source: - type: string - min_val: - type: string - nullable: true - max_val: - type: string - nullable: true - enumvals: - type: array - items: - type: string - nullable: true - boot_val: - type: string - reset_val: - type: string - sourcefile: - type: string - nullable: true - sourceline: - type: integer - nullable: true - pending_restart: - type: boolean - - Extension: - type: object - properties: - name: - type: string - comment: - type: string - default_version: - type: string - installed_version: - type: string - - Function: - type: object - properties: - id: - type: integer - schema: - type: string - name: - type: string - language: - type: string - definition: - type: string - argument_types: - type: string - return_type: - type: string - - Grant: - type: object - properties: - table_id: - type: integer - grantor: - type: string - grantee: - type: string - catalog: - type: string - schema: - type: string - table_name: - type: string - privilege_type: - type: string - is_grantable: - type: boolean - with_hierarchy: - type: boolean - - Policy: - type: object - properties: - id: - type: integer - name: - type: string - schema: - type: string - table: - type: string - table_id: - type: integer - action: - type: string - enum: [PERMISSIVE, RESTRICTIVE] - roles: - type: array - items: - type: string - command: - type: string - definition: - type: string - check: - type: string - nullable: true - - Role: - type: object - properties: - id: - type: integer - name: - type: string - is_superuser: - type: boolean - can_create_db: - type: boolean - can_create_role: - type: boolean - inherit_role: - type: boolean - can_login: - type: boolean - is_replication_role: - type: boolean - can_bypass_rls: - type: boolean - active_connections: - type: integer - connection_limit: - type: integer - password: - type: string - valid_until: - type: string - nullable: true - config: - type: string - nullable: true - grants: - type: array - items: - $ref: '#/components/schemas/Grant' - - Schema: - type: object - properties: - id: - type: integer - catalog_name: - type: string - name: - type: string - owner: - type: string - default_character_set_catalog: - type: string - nullable: true - default_character_set_schema: - type: string - nullable: true - default_character_set_name: - type: string - nullable: true - sql_path: - type: string - nullable: true - - Table: - type: object - properties: - id: - type: integer - catalog: - type: string - schema: - type: string - name: - type: string - is_insertable_into: - type: boolean - rls_enabled: - type: boolean - rls_forced: - type: boolean - is_typed: - type: boolean - bytes: - type: integer - size: - type: string - seq_scan_count: - type: integer - seq_row_read_count: - type: integer - idx_scan_count: - type: integer - idx_row_read_count: - type: integer - row_ins_count: - type: integer - row_upd_count: - type: integer - row_del_count: - type: integer - row_hot_upd_count: - type: integer - live_row_count: - type: integer - dead_row_count: - type: integer - rows_mod_since_analyze: - type: integer - last_vacuum: - type: string - nullable: true - last_autovacuum: - type: string - nullable: true - last_analyze: - type: string - nullable: true - last_autoanalyze: - type: string - nullable: true - vacuum_count: - type: integer - autovacuum_count: - type: integer - analyze_count: - type: integer - autoanalyze_count: - type: integer - columns: - type: array - items: - $ref: '#/components/schemas/Column' - grants: - type: array - items: - $ref: '#/components/schemas/Grant' - policies: - type: array - items: - $ref: '#/components/schemas/Policy' - primary_keys: - type: array - items: - type: object - properties: - schema: - type: string - table_name: - type: string - name: - type: string - table_id: - type: integer - relationships: - type: array - items: - type: object - properties: - source_schema: - type: string - source_table_name: - type: string - source_column_name: - type: string - target_table_schema: - type: string - target_table_name: - type: string - target_column_name: - type: string - constraint_name: - type: string - - Type: - type: object - properties: - id: - type: integer - name: - type: string - schema: - type: string - format: - type: string - description: - type: string - nullable: true - enums: - type: array - items: - type: string - - Version: - type: object - properties: - version: - type: string - version_number: - type: integer - active_connections: - type: integer - max_connections: - type: integer diff --git a/docs/apisguru.html b/docs/apisguru.html deleted file mode 100644 index 43ef3789..00000000 --- a/docs/apisguru.html +++ /dev/null @@ -1,981 +0,0 @@ - - - - - - - - - Semoasa documentation - - - - - - - - - - - - - - - - - - - - - - - NAV - Navigation - - -
- - -
- - - json - - - - yaml - - -
- - - - - -
- -
- - - -
-
-
-
-

OpenAPI Extensions Documentation

-
-

Scroll down for schema examples. Select a format for examples from the tabs above or the mobile navigation menu.

-
-

This documentation was automatically generated from a v0.1.0 Semoasa document.

-

Semoasa is a machine-readable format for extensions to Swagger/OpenAPI 2.0 and 3.0 specifications.

-

guru.apis

-

Provider: APIs.guru

-

x-apiClientRegistration

-
-

x-apiClientRegistration example

-
-
{
-  "url": "https://developer.bbc.co.uk/user/register"
-}
-
-
url: 'https://developer.bbc.co.uk/user/register'
-
-
-

A link to a sign-up page for the API.

-

A property of the info object, x-apiClientRegistration includes a URL-formatted property url containing the URL to the resource where developers can register to authenticate with the API.

-

APIs.guru OpenAPI Directory Wiki

- - - - - - - - - - - - - - - - - -
PropertyTypeRequiredDescription
urlstring(uri-ref)trueNo description
-

In the OpenAPI specification v2.0, this extension can be used as follows:

- - - - - - - - - - - - - - -
ObjectDescription
InfoObjectThe object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.
-

In the OpenAPI specification v3.x, this extension can be used as follows:

- - - - - - - - - - - - - - -
ObjectDescription
InfoObjectThe object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.
-

x-apisguru-categories

-
-

x-apisguru-categories example

-
-
[
-  "string"
-]
-
-
- string
-
-
-

A property of the info object, x-apisguru-categories is an array of valid values from the list of APIs.guru categories.

-

APIs.guru OpenAPI Directory Wiki

- - - - - - - - - - - - - - - - - -
PropertyTypeRequiredDescription
anonymous[string]falseNo description
-

In the OpenAPI specification v2.0, this extension can be used as follows:

- - - - - - - - - - - - - - -
ObjectDescription
InfoObjectThe object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.
-

In the OpenAPI specification v3.x, this extension can be used as follows:

- - - - - - - - - - - - - - -
ObjectDescription
InfoObjectThe object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.
-

x-description-language

-
-

x-description-language example

-
-
"string"
-
-
string
-
-
-

An ISO-639 two-character language code to identify the natural language used in descriptions, summaries and titles. This can be used as an input to translating these items.

- - - - - - - - - - - - - - - - - -
PropertyTypeRequiredDescription
simplestringfalseNo description
-

In the OpenAPI specification v2.0, this extension can be used as follows:

- - - - - - - - - - - - - - -
ObjectDescription
InfoObjectThe object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.
-

In the OpenAPI specification v3.x, this extension can be used as follows:

- - - - - - - - - - - - - - -
ObjectDescription
InfoObjectThe object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.
-

x-hasEquivalentPaths

-
-

x-hasEquivalentPaths example

-
-
true
-
-
true
-
-
-

A property of the root object, x-hasEquivalentPaths indicates the source specification has multiple paths which map to the same OpenAPI path (possibly disambiguated with HTML fragment identifiers or differently named path parameters).

- - - - - - - - - - - - - - - - - -
PropertyTypeRequiredDescription
simplebooleanfalseNo description
-

In the OpenAPI specification v2.0, this extension can be used as follows:

- - - - - - - - - - - - - - -
ObjectDescription
SwaggerObjectDescription not found
-

In the OpenAPI specification v3.x, this extension can be used as follows:

- - - - - - - - - - - - - - -
ObjectDescription
OpenAPIObjectDescription not found
- -
-

x-logo example

-
-
{
-  "url": "string",
-  "backgroundColor": "string"
-}
-
-
url: string
-backgroundColor: string
-
-
-

A logo for the API.

-

A property of the info object, the x-logo structure holds an absolute URL to the API logo and an optional background colour in HTML hex notation.

-

APIs.guru OpenAPI Directory Wiki

- - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeRequiredDescription
urlstring(uri-ref)trueNo description
backgroundColorstringfalseNo description
-

In the OpenAPI specification v2.0, this extension can be used as follows:

- - - - - - - - - - - - - - -
ObjectDescription
InfoObjectThe object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.
-

In the OpenAPI specification v3.x, this extension can be used as follows:

- - - - - - - - - - - - - - -
ObjectDescription
InfoObjectThe object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.
-

x-origin

-
-

x-origin example

-
-
[
-  {
-    "url": "http://programmes.api.bbc.com/nitro/api",
-    "contentType": "application/json",
-    "converter": {
-      "url": "https://github.com/mermade/bbcparse",
-      "version": "1.2.0"
-    }
-  },
-  {
-    "format": "swagger",
-    "url": "https://raw.githubusercontent.com/Mermade/bbcparse/master/iblApi/swagger.json",
-    "version": "2.0"
-  }
-]
-
-
- url: 'http://programmes.api.bbc.com/nitro/api'
-  contentType: application/json
-  converter:
-    url: 'https://github.com/mermade/bbcparse'
-    version: 1.2.0
-- format: swagger
-  url: >-
-    https://raw.githubusercontent.com/Mermade/bbcparse/master/iblApi/swagger.json
-  version: '2.0'
-
-
-

A property of the info object, the x-origin structure is used to document the source and format of an API in the collection. It is used to round-trip the process of keeping the APIs updated.

-

Please note, if you include an x-origin extension within your API definition APIs.guru will then append to this array if it exists, allowing an audit trail of the source(s) of an API definition. -Valid values for format

- -

In your own x-origin entries you may alternatively use a contentType property instead of a format property. The version property is then optional.

-

You may also specify the converter and version used.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyTypeRequiredDescription
anonymous[object]falseNo description
» urlstring(uri-ref)trueNo description
» formatstringfalseNo description
» versionstringfalseNo description
» contentTypestringfalseNo description
» converterobjectfalseNo description
»» urlstring(uri-ref)falseNo description
»» versionstringfalseNo description
-

In the OpenAPI specification v2.0, this extension can be used as follows:

- - - - - - - - - - - - - - -
ObjectDescription
InfoObjectThe object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.
-

In the OpenAPI specification v3.x, this extension can be used as follows:

- - - - - - - - - - - - - - -
ObjectDescription
InfoObjectThe object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.
-

x-preferred

-
-

x-preferred example

-
-
"string"
-
-
string
-
-
-

A property of the info object, x-preferred is a Boolean property which distinguishes between multiple versions of the same API. Where the x-providerName and x-serviceName are the same, only one definition should be marked x-preferred: true. This helps users of the APIs.guru collection organise and display the APIs.

- - - - - - - - - - - - - - - - - -
PropertyTypeRequiredDescription
simplestringfalseNo description
-

In the OpenAPI specification v2.0, this extension can be used as follows:

- - - - - - - - - - - - - - -
ObjectDescription
InfoObjectThe object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.
-

In the OpenAPI specification v3.x, this extension can be used as follows:

- - - - - - - - - - - - - - -
ObjectDescription
InfoObjectThe object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.
-

x-providerName

-
-

x-providerName example

-
-
"string"
-
-
string
-
-
-

A property of the info object, x-providerName is used to identify the domain of the API host. It is added automatically by APIs.guru

- - - - - - - - - - - - - - - - - -
PropertyTypeRequiredDescription
simplestringfalseNo description
-

In the OpenAPI specification v2.0, this extension can be used as follows:

- - - - - - - - - - - - - - -
ObjectDescription
InfoObjectThe object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.
-

In the OpenAPI specification v3.x, this extension can be used as follows:

- - - - - - - - - - - - - - -
ObjectDescription
InfoObjectThe object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.
-

x-serviceName

-
-

x-serviceName example

-
-
"string"
-
-
string
-
-
-

A property of the info object, x-serviceName is used to distinguish APIs which are served from the same domain. It may be the subdomain if the API uses one. It is added automatically by APIs.guru

- - - - - - - - - - - - - - - - - -
PropertyTypeRequiredDescription
simplestringfalseNo description
-

In the OpenAPI specification v2.0, this extension can be used as follows:

- - - - - - - - - - - - - - -
ObjectDescription
InfoObjectThe object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.
-

In the OpenAPI specification v3.x, this extension can be used as follows:

- - - - - - - - - - - - - - -
ObjectDescription
InfoObjectThe object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.
-

x-tags

-
-

x-tags example

-
-
[
-  "string"
-]
-
-
- string
-
-
-

Also a property of the info object, x-tags is an array of free-form keywords/tags applicable to the API.

- - - - - - - - - - - - - - - - - -
PropertyTypeRequiredDescription
anonymous[string]falseNo description
-

In the OpenAPI specification v2.0, this extension can be used as follows:

- - - - - - - - - - - - - - -
ObjectDescription
InfoObjectThe object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.
-

In the OpenAPI specification v3.x, this extension can be used as follows:

- - - - - - - - - - - - - - -
ObjectDescription
InfoObjectThe object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.
-

x-unofficialSpec

-
-

x-unofficialSpec example

-
-
true
-
-
true
-
-
-

A property of the info object, x-unofficialSpec indicates the definition is produced by a third-party, either manually, by scraping existing documentation or converting a proprietary/undocumented format.

- - - - - - - - - - - - - - - - - -
PropertyTypeRequiredDescription
simplebooleanfalseNo description
-

In the OpenAPI specification v2.0, this extension can be used as follows:

- - - - - - - - - - - - - - -
ObjectDescription
InfoObjectThe object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.
-

In the OpenAPI specification v3.x, this extension can be used as follows:

- - - - - - - - - - - - - - -
ObjectDescription
InfoObjectThe object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.
- - -
-
- -
- - - json - - - - yaml - - -
- -
-
- - diff --git a/docs/app.json b/docs/app.json deleted file mode 100644 index e705eb8d..00000000 --- a/docs/app.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "Shins", - "description": "Shins Is Not Slate", - "repository": "https://github.com/mermade/shins", - "logo": "http://mermade.github.io/shins/logo.jpg", - "keywords": ["api", "slate", "doc", "documentation", "swagger", "openapi", "shins"], - "env": { - "DYNAMIC_URL": { - "description": "The URL to load the source markdown from", - "value": "", - "required": false - }, - "OPENAPI_URL": { - "description": "The URL to load the source OpenAPI spec. from", - "value": "", - "required": false - } - } -} diff --git a/docs/arapaho.js b/docs/arapaho.js deleted file mode 100755 index bb08dfe3..00000000 --- a/docs/arapaho.js +++ /dev/null @@ -1,130 +0,0 @@ -#!/usr/bin/env node -// @ts-check -'use strict'; - -const fs = require('fs'); -const path = require('path'); - -const express = require('express'); -const ejs = require('ejs'); -const compression = require('compression'); -const args = require('tiny-opts-parser')(process.argv); -const opn = require('opn'); -const chokidar = require('chokidar'); - -const shins = require('./index.js'); - -let includesModified = false; -let lastGenTime = {}; -if (args.p) args.preserve = args.p; -if (args.l) args.launch = args.l; -if (args.h) args.help = args.h; -if (args.v) args.verbose = args.v; - -if (args.help) { - console.log('Usage: node arapaho [port] [-l|--launch] [-p|--preserve] [shins-options]'); - process.exit(0); -} - -let app = express(); -app.use(compression()); - -app.set('view engine', 'html'); -app.engine('html', ejs.renderFile); - -if (fs.existsSync('source/includes')) { - chokidar.watch('source/includes', {ignoreInitial:true}).on('all',function(eventType, filename) { - if (args.verbose) console.log(eventType, filename); - includesModified = true; - }); -} - -function getLastGenTime(fpath) { - if (lastGenTime[fpath]) return lastGenTime[fpath]; - return new Date(0); -} - -function check(req,res,fpath) { - fpath = fpath.split('/').join(''); - var srcStat = {mtime: new Date(0)}; - try { - srcStat = fs.statSync(path.join(__dirname,'source',fpath+'.md')); - } - catch (ex) {} - var dstStat = {mtime:getLastGenTime(fpath)}; - if (!args.preserve) { - try { - dstStat = fs.statSync(path.join(__dirname,fpath)); - } - catch (ex) { } - } - if (includesModified || (srcStat.mtime>dstStat.mtime)) { - includesModified = false; - lastGenTime[fpath] = new Date(); - let source = path.join(__dirname,'source',fpath+'.md'); - console.log('Rebuilding',fpath,'from',source); - fs.readFile(source,'utf8',function(err,markdown){ - if (markdown) { - let options = Object.assign({},args); - if (req.query.customcss) { - options.customCss = true; - } - if (req.query.inline) { - options.inline = true; - } - if (req.query.minify) { - options.minify = true; - } - if (req.query.attr) { - options.attr = true; - } - options.source = source; - shins.render(markdown,options,function(err,html){ - if (err) { - console.warn(err); - res.send(err); - } - else { - res.send(html); - if (!args.preserve) { - fs.writeFile(path.join(__dirname,fpath),html,'utf8',function(){}); - } - } - }); - } - else { - res.send(err); - } - }); - } - else { - res.render(path.join(__dirname,fpath)); - } -} - -app.get('/', function(req,res) { - check(req,res,'index.html'); -}); -app.get('*.html', function(req,res) { - check(req,res,req.path); -}); -app.use("/", express.static(__dirname)); - -var myport = process.env.PORT || 4567; -if (args._.length>2) myport = args._[2]; - -var server = app.listen(myport, function () { - var host = server.address().address; - var port = server.address().port; - - console.log('Arapaho server listening at http://%s:%s', host, port); - if (args.launch) { - console.log('Launching...'); - - var url = 'http://'+(host === '::' ? 'localhost' : 'host') + ':' +port+'/' - opn(url).catch(function (ex) { - console.error(`Unable to open URL '${url}'`); - console.error(ex); - }) - } -}); diff --git a/docs/asyncapi.html b/docs/asyncapi.html deleted file mode 100644 index 55ef4067..00000000 --- a/docs/asyncapi.html +++ /dev/null @@ -1,890 +0,0 @@ - - - - - - - - - - AsyncAPI Sample v1.0.0 - - - - - - - - - - - - - - - - - - - - - - - - - NAV - Navigation - - -
- - -
- - - Node.JS - - - - JavaScript - - - - Ruby - - - - Python - - - - Java - - - - Go - - -
- - - - - -
- -
- - - -
-
-
-
-

AsyncAPI Sample v1.0.0

-
-

Scroll down for code samples, example headers and payloads. Select a language for code samples from the tabs above or the mobile navigation menu.

-
-

This is a simple example of an AsyncAPI document.

-

Base URLs:

- -

Base Topic: hitch

-

Terms of service

-

user

-

accounts.1.0.action.user.signup

-

publish

-

Note: Deprecated

-
-

Example headers

-
-

-{
-  "qos": 1,
-  "retainFlag": false
-}
-
-
-

Example payload

-
-

-{
-  "user": {
-    "full_name": "string",
-    "username": "string"
-  },
-  "signup": {
-    "method": "email",
-    "datetime": "2018-04-03T07:32:55Z"
-  }
-}
-
-
-

Code Samples

-
-
const hermes = require('hermesjs');
-const app = hermes();
-
-app.from.client.send({
-  topic: 'accounts.1.0.action.user.signup',
-  payload: {
-  "user": {
-    "full_name": "string",
-    "username": "string"
-  },
-  "signup": {
-    "method": "email",
-    "datetime": "2018-04-03T07:32:55Z"
-  }
-}
-});
-
-
-
//Coming soon...
-
-
-
# Coming soon...
-
-
-
//Coming soon...
-
-
-
/* asyncapi-java-tools */
-try (JmsServer client = builder.build()) {
-
-  client.accounts.1.0.action.user.signup()
-    .publish({
-  "user": {
-    "full_name": "string",
-    "username": "string"
-  },
-  "signup": {
-    "method": "email",
-    "datetime": "2018-04-03T07:32:55Z"
-  }
-})
-    .toCompletableFuture()
-    .get();
-}
-
-
-
//Coming soon...
-
-
-

Action to sign a user up.

-

Multiline description of what this action does. It allows Markdown.

-

Headers

-
Properties
- - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredDescription
qosintegerfalseQuality of Service
retainFlagbooleanfalseThis flag determines if the message will be saved by the broker for the specified topic as last known good value. New clients that subscribe to that topic will receive the last retained message on that topic instantly after subscribing. More on retained messages and best practices in one of the next posts.
-

Payload

-
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredDescription
userobjectfalseNo description
full_namestringfalseUser full name
usernamestringtrueUser handle
signupobjectfalseNo description
methodstringtrueSignup method
datetimestringtrueDate and Time of the message
- -

Default

-

accounts.1.0.event.user.signup

-

subscribe

-
-

Example payload

-
-

-{
-  "user": {
-    "id": "string",
-    "full_name": "string",
-    "username": "string"
-  },
-  "signup": {
-    "method": "email",
-    "datetime": "2018-04-03T07:32:55Z"
-  }
-}
-
-
-

Code Samples

-
-
const hermes = require('hermesjs');
-const app = hermes();
-
-app.from.client.send({
-  topic: 'accounts.1.0.event.user.signup',
-  payload: {
-  "user": {
-    "id": "string",
-    "full_name": "string",
-    "username": "string"
-  },
-  "signup": {
-    "method": "email",
-    "datetime": "2018-04-03T07:32:55Z"
-  }
-}
-});
-
-
-
//Coming soon...
-
-
-
# Coming soon...
-
-
-
//Coming soon...
-
-
-
/* asyncapi-java-tools */
-try (JmsServer client = builder.build()) {
-
-  client.accounts.1.0.event.user.signup()
-    .publish({
-  "user": {
-    "id": "string",
-    "full_name": "string",
-    "username": "string"
-  },
-  "signup": {
-    "method": "email",
-    "datetime": "2018-04-03T07:32:55Z"
-  }
-})
-    .toCompletableFuture()
-    .get();
-}
-
-
-
//Coming soon...
-
-
-

Payload

-
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredDescription
userobjectfalseNo description
idstringtrueResource identifier
full_namestringfalseUser full name
usernamestringtrueUser handle
signupobjectfalseNo description
methodstringtrueSignup method
datetimestringtrueDate and Time of the message
- -

Schemas

-

id

-

-
"string"
-
-

Properties

- - - - - - - - - - - - - - - - - -
NameTypeRequiredDescription
ididfalseResource identifier
-

username

-

-
"string"
-
-

Properties

- - - - - - - - - - - - - - - - - -
NameTypeRequiredDescription
usernameusernamefalseUser handle
-

datetime

-

-
"2018-04-03T07:32:55Z"
-
-

Properties

- - - - - - - - - - - - - - - - - -
NameTypeRequiredDescription
datetimedatetime(date-time)falseDate and Time of the message
-

MQTTQoSHeader

-

-
1
-
-

Properties

- - - - - - - - - - - - - - - - - -
NameTypeRequiredDescription
qosMQTTQoSHeader(int32)falseQuality of Service
-

Enumerated Values

- - - - - - - - - - - - - - - - - -
PropertyValue
qos0
qos2
-

MQTTRetainHeader

-

-
false
-
-

Properties

- - - - - - - - - - - - - - - - - -
NameTypeRequiredDescription
retainFlagMQTTRetainHeaderfalseThis flag determines if the message will be saved by the broker for the specified topic as last known good value. New clients that subscribe to that topic will receive the last retained message on that topic instantly after subscribing. More on retained messages and best practices in one of the next posts.
-

user

-

-
{
-  "id": "string",
-  "full_name": "string",
-  "username": "string"
-}
-
-

Properties

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredDescription
» ididtrueResource identifier
» full_namestringfalseUser full name
» usernameusernametrueUser handle
-

userCreate

-

-
{
-  "full_name": "string",
-  "username": "string"
-}
-
-

Properties

- - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredDescription
» full_namestringfalseUser full name
» usernameusernametrueUser handle
-

signup

-

-
{
-  "method": "email",
-  "datetime": "2018-04-03T07:32:55Z"
-}
-
-

Properties

- - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredDescription
» methodstringtrueSignup method
» datetimedatetime(date-time)trueDate and Time of the message
-

Enumerated Values

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyValue
methodemail
methodfacebook
methodtwitter
methodgithub
methodgoogle
- -
-
- -
- - - Node.JS - - - - JavaScript - - - - Ruby - - - - Python - - - - Java - - - - Go - - -
- -
-
- - diff --git a/docs/buildstyle.js b/docs/buildstyle.js deleted file mode 100644 index d19a894e..00000000 --- a/docs/buildstyle.js +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/env node -// @ts-check - -'use strict'; - -const fs = require('fs'); -const path = require('path'); -const sass = require('node-sass'); -const assetFunctions = require('node-sass-asset-functions'); -const options = require('tiny-opts-parser')(process.argv); - -const outputStyle = options._.length > 2 ? options._[2] : 'nested'; - -if (options.r) options.root = options.r; -if (!options.root) options.root = '.'; - -function sassRender(infile,outfile) { - sass.render({ - file: infile, - outputStyle : outputStyle, - functions: assetFunctions({ - http_fonts_path: '../../source/fonts' - }) - }, function(err, result) { - if (err) console.error(err) - else { - fs.writeFile(outfile,result.css.toString(),'utf8',function(err){ - if (err) console.warn(err.message); - }); - } - }); -} - -sassRender(path.join(options.root,'source/stylesheets/screen.css.scss'),path.join(options.root,'pub/css/screen.css')); -sassRender(path.join(options.root,'source/stylesheets/print.css.scss'),path.join(options.root,'pub/css/print.css')); diff --git a/docs/docs/include.md b/docs/docs/include.md deleted file mode 100644 index d0e58cee..00000000 --- a/docs/docs/include.md +++ /dev/null @@ -1,33 +0,0 @@ -# Including files - -Include content from separate markdown files either by using the `include::filename[]` or `!INCLUDE filename` syntax or by configuring them in the header of your markdown file. - -The configuration below will include the files `_file1.md`, `_file2.md` and `_file3.md` from the `/source/includes` path. (Please note that the files will have to begin with an `_` and end with a `.md` extension) - -``` ---- -title: MyAPI v1.0.0 -includes: - - file1 - - file2 - - file3 ---- -``` - -If you wish to include files relative to the shins root path instead just begin the name with a `/`. - -The configuration below will include the files `file1.md`, `file2.md` and `file3.md` from `shins/myfolder`. (Please note that the files have to end with a `.md` extension) -``` ---- -title: MyAPI v1.0.0 -includes: - - /myfolder/file1 - - /myfolder/file2 - - /myfolder/file3 ---- -``` - -The same example if you include files using [widdershins](https://github.com/Mermade/widdershins/). -``` ---includes '/myfolder/file1,/myfolder/file2,/myfolder/file3' -``` diff --git a/docs/docs/logo.jpg b/docs/docs/logo.jpg deleted file mode 100644 index 32bc8931..00000000 Binary files a/docs/docs/logo.jpg and /dev/null differ diff --git a/docs/docs/screenshot.jpg b/docs/docs/screenshot.jpg deleted file mode 100644 index 338e1712..00000000 Binary files a/docs/docs/screenshot.jpg and /dev/null differ diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index f4d47c40..00000000 --- a/docs/index.html +++ /dev/null @@ -1,9883 +0,0 @@ - - - - - - - - - - Postgres API v0.0.0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - NAV - Navigation - - -
- - -
- - - Shell - - - - HTTP - - - - JavaScript - - - - Ruby - - - - Python - - - - PHP - - - - Java - - - - Go - - -
- - - - - -
- -
- - - -
-
-
-
-

Postgres API v0.0.0

-
-

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

-
-

Manage your PostgreSQL database using a RESTful API.

-

This is still in early development, so most of the functionality is read-only.

-

The goal of this API is to enable the full management of a Postgres database using a RESTful interface. This includes adding tables, columns, roles, and users at runtime, as well as running ad-hoc queries.

-

Made by Supabase: https://supabase.io

-

Getting started

-

Usage

-
-

Basic usage

-
-
curl -X GET http://localhost:1337/ \
--H 'Content-Type: application/json' \
--H 'X-Connection-Encrypted: ENCRYPTED_STRING'
-
-
const data = await fetch('http://localhost:1337', {
-method: 'GET',
-headers: {
-    'Content-Type': 'application/json',
-    'X-Connection-Encrypted': 'ENCRYPTED_STRING'
-}
-})
-
-

For security reasons, this API is best self-hosted and set up with ENV_VARS with the default connection string.

-

If you want to use this with multiple Postgres instances, you can pass the connection string as a header but it must be encrypted.

-

Self Hosting

-
https://github.com/supabase/pg-api
-
-

We support several different methods for self-hosting, detailed in the repository.

-

Authentication

-

Authentication is not provided. Make sure you use this inside a secure network or behind a secure API proxy.

-

Email: Support Web: Support -License: Apache 2.0

-

/config

-

Get all configs

-

-
-

Code samples

-
-
# You can also use wget
-curl -X GET /config \
-  -H 'Accept: application/json'
-
-
-
GET /config HTTP/1.1
-
-Accept: application/json
-
-
-

-const headers = {
-  'Accept':'application/json'
-};
-
-fetch('/config',
-{
-  method: 'GET',
-
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Accept' => 'application/json'
-}
-
-result = RestClient.get '/config',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Accept': 'application/json'
-}
-
-r = requests.get('/config', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('GET','/config', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/config");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("GET");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("GET", "/config", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

GET /config

-
-

Example responses

-
-
-

200 Response

-
-
[
-  {
-    "name": "string",
-    "setting": "string",
-    "category": "string",
-    "group": "string",
-    "subgroup": "string",
-    "unit": "string",
-    "short_desc": "string",
-    "extra_desc": "string",
-    "context": "string",
-    "vartype": "string",
-    "source": "string",
-    "min_val": "string",
-    "max_val": "string",
-    "enumvals": [
-      "string"
-    ],
-    "boot_val": "string",
-    "reset_val": "string",
-    "sourcefile": "string",
-    "sourceline": 0,
-    "pending_restart": true
-  }
-]
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationInline
-

Response Schema

-

Status Code 200

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredRestrictionsDescription
anonymous[Config]falsenonenone
» namestringfalsenonenone
» settingstringfalsenonenone
» categorystringfalsenonenone
» groupstringfalsenonenone
» subgroupstringfalsenonenone
» unitstring¦nullfalsenonenone
» short_descstringfalsenonenone
» extra_descstring¦nullfalsenonenone
» contextstringfalsenonenone
» vartypestringfalsenonenone
» sourcestringfalsenonenone
» min_valstring¦nullfalsenonenone
» max_valstring¦nullfalsenonenone
» enumvals[string]¦nullfalsenonenone
» boot_valstringfalsenonenone
» reset_valstringfalsenonenone
» sourcefilestring¦nullfalsenonenone
» sourcelineinteger¦nullfalsenonenone
» pending_restartbooleanfalsenonenone
- -

/config/version

-

Get version

-

-
-

Code samples

-
-
# You can also use wget
-curl -X GET /config/version \
-  -H 'Accept: application/json'
-
-
-
GET /config/version HTTP/1.1
-
-Accept: application/json
-
-
-

-const headers = {
-  'Accept':'application/json'
-};
-
-fetch('/config/version',
-{
-  method: 'GET',
-
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Accept' => 'application/json'
-}
-
-result = RestClient.get '/config/version',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Accept': 'application/json'
-}
-
-r = requests.get('/config/version', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('GET','/config/version', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/config/version");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("GET");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("GET", "/config/version", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

GET /config/version

-
-

Example responses

-
-
-

200 Response

-
-
{
-  "version": "string",
-  "version_number": 0,
-  "active_connections": 0,
-  "max_connections": 0
-}
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationVersion
- -

/query

-

Make a query

-

-
-

Code samples

-
-
# You can also use wget
-curl -X POST /query \
-  -H 'Accept: application/json'
-
-
-
POST /query HTTP/1.1
-
-Accept: application/json
-
-
-

-const headers = {
-  'Accept':'application/json'
-};
-
-fetch('/query',
-{
-  method: 'POST',
-
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Accept' => 'application/json'
-}
-
-result = RestClient.post '/query',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Accept': 'application/json'
-}
-
-r = requests.post('/query', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('POST','/query', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/query");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("POST");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("POST", "/query", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

POST /query

-
-

Example responses

-
-
-

200 Response

-
-
[
-  {}
-]
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationInline
-

Response Schema

- -

/columns

-

Get all columns

-

-
-

Code samples

-
-
# You can also use wget
-curl -X GET /columns \
-  -H 'Accept: application/json'
-
-
-
GET /columns HTTP/1.1
-
-Accept: application/json
-
-
-

-const headers = {
-  'Accept':'application/json'
-};
-
-fetch('/columns',
-{
-  method: 'GET',
-
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Accept' => 'application/json'
-}
-
-result = RestClient.get '/columns',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Accept': 'application/json'
-}
-
-r = requests.get('/columns', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('GET','/columns', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/columns");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("GET");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("GET", "/columns", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

GET /columns

-

Parameters

- - - - - - - - - - - - - - - - - - - -
NameInTypeRequiredDescription
include_system_schemasquerybooleanfalsenone
-
-

Example responses

-
-
-

200 Response

-
-
[
-  {
-    "table_id": 0,
-    "schema": "string",
-    "table": "string",
-    "id": "string",
-    "ordinal_position": 0,
-    "name": "string",
-    "default_value": "string",
-    "data_type": "string",
-    "format": "string",
-    "description": "string",
-    "is_identity": true,
-    "identity_generation": "string",
-    "is_nullable": true,
-    "is_updatable": true,
-    "enums": [
-      "string"
-    ]
-  }
-]
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationInline
-

Response Schema

-

Status Code 200

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredRestrictionsDescription
anonymous[Column]falsenonenone
» table_idintegerfalsenonenone
» schemastringfalsenonenone
» tablestringfalsenonenone
» idstringfalsenonenone
» ordinal_positionintegerfalsenonenone
» namestringfalsenonenone
» default_valuestringfalsenonenone
» data_typestringfalsenonenone
» formatstringfalsenonenone
» descriptionstringfalsenonenone
» is_identitybooleanfalsenonenone
» identity_generationstringfalsenonenone
» is_nullablebooleanfalsenonenone
» is_updatablebooleanfalsenonenone
» enums[string]falsenonenone
- -

Add a column

-

-
-

Code samples

-
-
# You can also use wget
-curl -X POST /columns \
-  -H 'Content-Type: application/json' \
-  -H 'Accept: application/json'
-
-
-
POST /columns HTTP/1.1
-
-Content-Type: application/json
-Accept: application/json
-
-
-
const inputBody = '{
-  "name": "string",
-  "table_id": 0,
-  "type": "string",
-  "default_value": "string",
-  "is_identity": true,
-  "is_nullable": true,
-  "is_primary_key": true,
-  "is_unique": true
-}';
-const headers = {
-  'Content-Type':'application/json',
-  'Accept':'application/json'
-};
-
-fetch('/columns',
-{
-  method: 'POST',
-  body: inputBody,
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Content-Type' => 'application/json',
-  'Accept' => 'application/json'
-}
-
-result = RestClient.post '/columns',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Content-Type': 'application/json',
-  'Accept': 'application/json'
-}
-
-r = requests.post('/columns', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-    'Accept' => 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('POST','/columns', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/columns");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("POST");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Content-Type": []string{"application/json"},
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("POST", "/columns", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

POST /columns

-
-

Body parameter

-
-
{
-  "name": "string",
-  "table_id": 0,
-  "type": "string",
-  "default_value": "string",
-  "is_identity": true,
-  "is_nullable": true,
-  "is_primary_key": true,
-  "is_unique": true
-}
-
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameInTypeRequiredDescription
bodybodyobjecttruenone
» namebodystringtruenone
» table_idbodyintegertruenone
» typebodystringtruenone
» default_valuebodystringfalsenone
» is_identitybodybooleanfalsenone
» is_nullablebodybooleanfalsenone
» is_primary_keybodybooleanfalsenone
» is_uniquebodybooleanfalsenone
-
-

Example responses

-
-
-

200 Response

-
-
{
-  "table_id": 0,
-  "schema": "string",
-  "table": "string",
-  "id": "string",
-  "ordinal_position": 0,
-  "name": "string",
-  "default_value": "string",
-  "data_type": "string",
-  "format": "string",
-  "description": "string",
-  "is_identity": true,
-  "identity_generation": "string",
-  "is_nullable": true,
-  "is_updatable": true,
-  "enums": [
-    "string"
-  ]
-}
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationColumn
- -

Update a column by ID

-

-
-

Code samples

-
-
# You can also use wget
-curl -X PATCH /columns/{id} \
-  -H 'Content-Type: application/json' \
-  -H 'Accept: application/json'
-
-
-
PATCH /columns/{id} HTTP/1.1
-
-Content-Type: application/json
-Accept: application/json
-
-
-
const inputBody = '{
-  "name": "string",
-  "type": "string",
-  "drop_default": true,
-  "default_value": "string",
-  "is_nullable": true
-}';
-const headers = {
-  'Content-Type':'application/json',
-  'Accept':'application/json'
-};
-
-fetch('/columns/{id}',
-{
-  method: 'PATCH',
-  body: inputBody,
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Content-Type' => 'application/json',
-  'Accept' => 'application/json'
-}
-
-result = RestClient.patch '/columns/{id}',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Content-Type': 'application/json',
-  'Accept': 'application/json'
-}
-
-r = requests.patch('/columns/{id}', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-    'Accept' => 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('PATCH','/columns/{id}', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/columns/{id}");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("PATCH");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Content-Type": []string{"application/json"},
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("PATCH", "/columns/{id}", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

PATCH /columns/{id}

-
-

Body parameter

-
-
{
-  "name": "string",
-  "type": "string",
-  "drop_default": true,
-  "default_value": "string",
-  "is_nullable": true
-}
-
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameInTypeRequiredDescription
bodybodyobjecttruenone
» namebodystringfalsenone
» typebodystringfalsenone
» drop_defaultbodybooleanfalsenone
» default_valuebodystringfalsenone
» is_nullablebodybooleanfalsenone
idpathstringtruenone
-
-

Example responses

-
-
-

200 Response

-
-
{
-  "table_id": 0,
-  "schema": "string",
-  "table": "string",
-  "id": "string",
-  "ordinal_position": 0,
-  "name": "string",
-  "default_value": "string",
-  "data_type": "string",
-  "format": "string",
-  "description": "string",
-  "is_identity": true,
-  "identity_generation": "string",
-  "is_nullable": true,
-  "is_updatable": true,
-  "enums": [
-    "string"
-  ]
-}
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationColumn
- -

Delete a column by ID

-

-
-

Code samples

-
-
# You can also use wget
-curl -X DELETE /columns/{id} \
-  -H 'Accept: application/json'
-
-
-
DELETE /columns/{id} HTTP/1.1
-
-Accept: application/json
-
-
-

-const headers = {
-  'Accept':'application/json'
-};
-
-fetch('/columns/{id}',
-{
-  method: 'DELETE',
-
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Accept' => 'application/json'
-}
-
-result = RestClient.delete '/columns/{id}',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Accept': 'application/json'
-}
-
-r = requests.delete('/columns/{id}', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('DELETE','/columns/{id}', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/columns/{id}");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("DELETE");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("DELETE", "/columns/{id}", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

DELETE /columns/{id}

-

Parameters

- - - - - - - - - - - - - - - - - - - -
NameInTypeRequiredDescription
idpathstringtruenone
-
-

Example responses

-
-
-

200 Response

-
-
{
-  "table_id": 0,
-  "schema": "string",
-  "table": "string",
-  "id": "string",
-  "ordinal_position": 0,
-  "name": "string",
-  "default_value": "string",
-  "data_type": "string",
-  "format": "string",
-  "description": "string",
-  "is_identity": true,
-  "identity_generation": "string",
-  "is_nullable": true,
-  "is_updatable": true,
-  "enums": [
-    "string"
-  ]
-}
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationColumn
- -

/extensions

-

Get all extensions

-

-
-

Code samples

-
-
# You can also use wget
-curl -X GET /extensions \
-  -H 'Accept: application/json'
-
-
-
GET /extensions HTTP/1.1
-
-Accept: application/json
-
-
-

-const headers = {
-  'Accept':'application/json'
-};
-
-fetch('/extensions',
-{
-  method: 'GET',
-
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Accept' => 'application/json'
-}
-
-result = RestClient.get '/extensions',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Accept': 'application/json'
-}
-
-r = requests.get('/extensions', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('GET','/extensions', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/extensions");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("GET");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("GET", "/extensions", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

GET /extensions

-
-

Example responses

-
-
-

200 Response

-
-
[
-  {
-    "name": "string",
-    "comment": "string",
-    "default_version": "string",
-    "installed_version": "string"
-  }
-]
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationInline
-

Response Schema

-

Status Code 200

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredRestrictionsDescription
anonymous[Extension]falsenonenone
» namestringfalsenonenone
» commentstringfalsenonenone
» default_versionstringfalsenonenone
» installed_versionstringfalsenonenone
- -

Install an extension

-

-
-

Code samples

-
-
# You can also use wget
-curl -X POST /extensions \
-  -H 'Content-Type: application/json' \
-  -H 'Accept: application/json'
-
-
-
POST /extensions HTTP/1.1
-
-Content-Type: application/json
-Accept: application/json
-
-
-
const inputBody = '{
-  "name": "string",
-  "schema": "string",
-  "version": "string",
-  "cascade": true
-}';
-const headers = {
-  'Content-Type':'application/json',
-  'Accept':'application/json'
-};
-
-fetch('/extensions',
-{
-  method: 'POST',
-  body: inputBody,
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Content-Type' => 'application/json',
-  'Accept' => 'application/json'
-}
-
-result = RestClient.post '/extensions',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Content-Type': 'application/json',
-  'Accept': 'application/json'
-}
-
-r = requests.post('/extensions', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-    'Accept' => 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('POST','/extensions', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/extensions");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("POST");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Content-Type": []string{"application/json"},
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("POST", "/extensions", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

POST /extensions

-
-

Body parameter

-
-
{
-  "name": "string",
-  "schema": "string",
-  "version": "string",
-  "cascade": true
-}
-
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameInTypeRequiredDescription
bodybodyobjecttruenone
» namebodystringtruenone
» schemabodystringfalsenone
» versionbodystringfalsenone
» cascadebodybooleanfalsenone
-
-

Example responses

-
-
-

200 Response

-
-
{
-  "name": "string",
-  "comment": "string",
-  "default_version": "string",
-  "installed_version": "string"
-}
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationExtension
- -

Update/modify an extension by ID

-

-
-

Code samples

-
-
# You can also use wget
-curl -X PATCH /extensions/{id} \
-  -H 'Content-Type: application/json' \
-  -H 'Accept: application/json'
-
-
-
PATCH /extensions/{id} HTTP/1.1
-
-Content-Type: application/json
-Accept: application/json
-
-
-
const inputBody = '{
-  "update": true,
-  "version": "string",
-  "schema": "string"
-}';
-const headers = {
-  'Content-Type':'application/json',
-  'Accept':'application/json'
-};
-
-fetch('/extensions/{id}',
-{
-  method: 'PATCH',
-  body: inputBody,
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Content-Type' => 'application/json',
-  'Accept' => 'application/json'
-}
-
-result = RestClient.patch '/extensions/{id}',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Content-Type': 'application/json',
-  'Accept': 'application/json'
-}
-
-r = requests.patch('/extensions/{id}', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-    'Accept' => 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('PATCH','/extensions/{id}', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/extensions/{id}");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("PATCH");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Content-Type": []string{"application/json"},
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("PATCH", "/extensions/{id}", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

PATCH /extensions/{id}

-
-

Body parameter

-
-
{
-  "update": true,
-  "version": "string",
-  "schema": "string"
-}
-
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameInTypeRequiredDescription
bodybodyobjecttruenone
» updatebodybooleanfalsenone
» versionbodystringfalsenone
» schemabodystringfalsenone
idpathintegertruenone
-
-

Example responses

-
-
-

200 Response

-
-
{
-  "name": "string",
-  "comment": "string",
-  "default_version": "string",
-  "installed_version": "string"
-}
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationExtension
- -

Uninstall an extension by ID

-

-
-

Code samples

-
-
# You can also use wget
-curl -X DELETE /extensions/{id} \
-  -H 'Accept: application/json'
-
-
-
DELETE /extensions/{id} HTTP/1.1
-
-Accept: application/json
-
-
-

-const headers = {
-  'Accept':'application/json'
-};
-
-fetch('/extensions/{id}',
-{
-  method: 'DELETE',
-
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Accept' => 'application/json'
-}
-
-result = RestClient.delete '/extensions/{id}',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Accept': 'application/json'
-}
-
-r = requests.delete('/extensions/{id}', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('DELETE','/extensions/{id}', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/extensions/{id}");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("DELETE");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("DELETE", "/extensions/{id}", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

DELETE /extensions/{id}

-

Parameters

- - - - - - - - - - - - - - - - - - - -
NameInTypeRequiredDescription
idpathintegertruenone
-
-

Example responses

-
-
-

200 Response

-
-
{
-  "name": "string",
-  "comment": "string",
-  "default_version": "string",
-  "installed_version": "string"
-}
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationExtension
- -

/functions

-

Get all functions

-

-
-

Code samples

-
-
# You can also use wget
-curl -X GET /functions \
-  -H 'Accept: application/json'
-
-
-
GET /functions HTTP/1.1
-
-Accept: application/json
-
-
-

-const headers = {
-  'Accept':'application/json'
-};
-
-fetch('/functions',
-{
-  method: 'GET',
-
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Accept' => 'application/json'
-}
-
-result = RestClient.get '/functions',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Accept': 'application/json'
-}
-
-r = requests.get('/functions', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('GET','/functions', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/functions");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("GET");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("GET", "/functions", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

GET /functions

-

Parameters

- - - - - - - - - - - - - - - - - - - -
NameInTypeRequiredDescription
include_system_schemasquerybooleanfalsenone
-
-

Example responses

-
-
-

200 Response

-
-
[
-  {
-    "id": 0,
-    "schema": "string",
-    "name": "string",
-    "language": "string",
-    "definition": "string",
-    "argument_types": "string",
-    "return_type": "string"
-  }
-]
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationInline
-

Response Schema

-

Status Code 200

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredRestrictionsDescription
anonymous[Function]falsenonenone
» idintegerfalsenonenone
» schemastringfalsenonenone
» namestringfalsenonenone
» languagestringfalsenonenone
» definitionstringfalsenonenone
» argument_typesstringfalsenonenone
» return_typestringfalsenonenone
- -

/policies

-

Get all policies

-

-
-

Code samples

-
-
# You can also use wget
-curl -X GET /policies \
-  -H 'Accept: application/json'
-
-
-
GET /policies HTTP/1.1
-
-Accept: application/json
-
-
-

-const headers = {
-  'Accept':'application/json'
-};
-
-fetch('/policies',
-{
-  method: 'GET',
-
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Accept' => 'application/json'
-}
-
-result = RestClient.get '/policies',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Accept': 'application/json'
-}
-
-r = requests.get('/policies', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('GET','/policies', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/policies");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("GET");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("GET", "/policies", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

GET /policies

-

Parameters

- - - - - - - - - - - - - - - - - - - -
NameInTypeRequiredDescription
include_system_schemasquerybooleanfalsenone
-
-

Example responses

-
-
-

200 Response

-
-
[
-  {
-    "id": 0,
-    "name": "string",
-    "schema": "string",
-    "table": "string",
-    "table_id": 0,
-    "action": "PERMISSIVE",
-    "roles": [
-      "string"
-    ],
-    "command": "string",
-    "definition": "string",
-    "check": "string"
-  }
-]
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationInline
-

Response Schema

-

Status Code 200

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredRestrictionsDescription
anonymous[Policy]falsenonenone
» idintegerfalsenonenone
» namestringfalsenonenone
» schemastringfalsenonenone
» tablestringfalsenonenone
» table_idintegerfalsenonenone
» actionstringfalsenonenone
» roles[string]falsenonenone
» commandstringfalsenonenone
» definitionstringfalsenonenone
» checkstring¦nullfalsenonenone
-

Enumerated Values

- - - - - - - - - - - - - - - - - -
PropertyValue
actionPERMISSIVE
actionRESTRICTIVE
- -

Create a policy

-

-
-

Code samples

-
-
# You can also use wget
-curl -X POST /policies \
-  -H 'Content-Type: application/json' \
-  -H 'Accept: application/json'
-
-
-
POST /policies HTTP/1.1
-
-Content-Type: application/json
-Accept: application/json
-
-
-
const inputBody = '{
-  "name": "string",
-  "schema": "string",
-  "table": "string"
-}';
-const headers = {
-  'Content-Type':'application/json',
-  'Accept':'application/json'
-};
-
-fetch('/policies',
-{
-  method: 'POST',
-  body: inputBody,
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Content-Type' => 'application/json',
-  'Accept' => 'application/json'
-}
-
-result = RestClient.post '/policies',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Content-Type': 'application/json',
-  'Accept': 'application/json'
-}
-
-r = requests.post('/policies', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-    'Accept' => 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('POST','/policies', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/policies");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("POST");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Content-Type": []string{"application/json"},
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("POST", "/policies", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

POST /policies

-
-

Body parameter

-
-
{
-  "name": "string",
-  "schema": "string",
-  "table": "string"
-}
-
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameInTypeRequiredDescription
bodybodyobjecttruenone
» namebodystringtruenone
» schemabodystringfalsenone
» tablebodystringtruenone
-
-

Example responses

-
-
-

200 Response

-
-
{
-  "id": 0,
-  "name": "string",
-  "schema": "string",
-  "table": "string",
-  "table_id": 0,
-  "action": "PERMISSIVE",
-  "roles": [
-    "string"
-  ],
-  "command": "string",
-  "definition": "string",
-  "check": "string"
-}
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationPolicy
- -

Update a policy by ID

-

-
-

Code samples

-
-
# You can also use wget
-curl -X PATCH /policies/{id} \
-  -H 'Content-Type: application/json' \
-  -H 'Accept: application/json'
-
-
-
PATCH /policies/{id} HTTP/1.1
-
-Content-Type: application/json
-Accept: application/json
-
-
-
const inputBody = '{
-  "name": "string",
-  "schema": "string",
-  "table": "string"
-}';
-const headers = {
-  'Content-Type':'application/json',
-  'Accept':'application/json'
-};
-
-fetch('/policies/{id}',
-{
-  method: 'PATCH',
-  body: inputBody,
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Content-Type' => 'application/json',
-  'Accept' => 'application/json'
-}
-
-result = RestClient.patch '/policies/{id}',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Content-Type': 'application/json',
-  'Accept': 'application/json'
-}
-
-r = requests.patch('/policies/{id}', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-    'Accept' => 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('PATCH','/policies/{id}', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/policies/{id}");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("PATCH");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Content-Type": []string{"application/json"},
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("PATCH", "/policies/{id}", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

PATCH /policies/{id}

-
-

Body parameter

-
-
{
-  "name": "string",
-  "schema": "string",
-  "table": "string"
-}
-
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameInTypeRequiredDescription
bodybodyobjecttruenone
» namebodystringfalsenone
» schemabodystringfalsenone
» tablebodystringfalsenone
idpathintegertruenone
-
-

Example responses

-
-
-

200 Response

-
-
{
-  "id": 0,
-  "name": "string",
-  "schema": "string",
-  "table": "string",
-  "table_id": 0,
-  "action": "PERMISSIVE",
-  "roles": [
-    "string"
-  ],
-  "command": "string",
-  "definition": "string",
-  "check": "string"
-}
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationPolicy
- -

Delete a policy by ID

-

-
-

Code samples

-
-
# You can also use wget
-curl -X DELETE /policies/{id} \
-  -H 'Accept: application/json'
-
-
-
DELETE /policies/{id} HTTP/1.1
-
-Accept: application/json
-
-
-

-const headers = {
-  'Accept':'application/json'
-};
-
-fetch('/policies/{id}',
-{
-  method: 'DELETE',
-
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Accept' => 'application/json'
-}
-
-result = RestClient.delete '/policies/{id}',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Accept': 'application/json'
-}
-
-r = requests.delete('/policies/{id}', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('DELETE','/policies/{id}', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/policies/{id}");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("DELETE");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("DELETE", "/policies/{id}", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

DELETE /policies/{id}

-

Parameters

- - - - - - - - - - - - - - - - - - - -
NameInTypeRequiredDescription
idpathintegertruenone
-
-

Example responses

-
-
-

200 Response

-
-
{
-  "id": 0,
-  "name": "string",
-  "schema": "string",
-  "table": "string",
-  "table_id": 0,
-  "action": "PERMISSIVE",
-  "roles": [
-    "string"
-  ],
-  "command": "string",
-  "definition": "string",
-  "check": "string"
-}
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationPolicy
- -

/roles

-

Get all roles

-

-
-

Code samples

-
-
# You can also use wget
-curl -X GET /roles \
-  -H 'Accept: application/json'
-
-
-
GET /roles HTTP/1.1
-
-Accept: application/json
-
-
-

-const headers = {
-  'Accept':'application/json'
-};
-
-fetch('/roles',
-{
-  method: 'GET',
-
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Accept' => 'application/json'
-}
-
-result = RestClient.get '/roles',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Accept': 'application/json'
-}
-
-r = requests.get('/roles', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('GET','/roles', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/roles");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("GET");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("GET", "/roles", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

GET /roles

-

Parameters

- - - - - - - - - - - - - - - - - - - -
NameInTypeRequiredDescription
include_system_schemasquerybooleanfalsenone
-
-

Example responses

-
-
-

200 Response

-
-
[
-  {
-    "id": 0,
-    "name": "string",
-    "is_superuser": true,
-    "can_create_db": true,
-    "can_create_role": true,
-    "inherit_role": true,
-    "can_login": true,
-    "is_replication_role": true,
-    "can_bypass_rls": true,
-    "active_connections": 0,
-    "connection_limit": 0,
-    "password": "string",
-    "valid_until": "string",
-    "config": "string",
-    "grants": [
-      {
-        "table_id": 0,
-        "grantor": "string",
-        "grantee": "string",
-        "catalog": "string",
-        "schema": "string",
-        "table_name": "string",
-        "privilege_type": "string",
-        "is_grantable": true,
-        "with_hierarchy": true
-      }
-    ]
-  }
-]
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationInline
-

Response Schema

-

Status Code 200

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredRestrictionsDescription
anonymous[Role]falsenonenone
» idintegerfalsenonenone
» namestringfalsenonenone
» is_superuserbooleanfalsenonenone
» can_create_dbbooleanfalsenonenone
» can_create_rolebooleanfalsenonenone
» inherit_rolebooleanfalsenonenone
» can_loginbooleanfalsenonenone
» is_replication_rolebooleanfalsenonenone
» can_bypass_rlsbooleanfalsenonenone
» active_connectionsintegerfalsenonenone
» connection_limitintegerfalsenonenone
» passwordstringfalsenonenone
» valid_untilstring¦nullfalsenonenone
» configstring¦nullfalsenonenone
» grants[Grant]falsenonenone
»» table_idintegerfalsenonenone
»» grantorstringfalsenonenone
»» granteestringfalsenonenone
»» catalogstringfalsenonenone
»» schemastringfalsenonenone
»» table_namestringfalsenonenone
»» privilege_typestringfalsenonenone
»» is_grantablebooleanfalsenonenone
»» with_hierarchybooleanfalsenonenone
- -

Create a role

-

-
-

Code samples

-
-
# You can also use wget
-curl -X POST /roles \
-  -H 'Content-Type: application/json' \
-  -H 'Accept: application/json'
-
-
-
POST /roles HTTP/1.1
-
-Content-Type: application/json
-Accept: application/json
-
-
-
const inputBody = '{
-  "name": "string",
-  "is_superuser": true,
-  "can_create_db": true,
-  "can_create_role": true,
-  "inherit_role": true,
-  "can_login": true,
-  "is_replication_role": true,
-  "can_bypass_rls": true,
-  "connection_limit": 0,
-  "password": "string",
-  "valid_until": "string",
-  "member_of": [
-    "string"
-  ],
-  "members": [
-    "string"
-  ],
-  "admins": [
-    "string"
-  ]
-}';
-const headers = {
-  'Content-Type':'application/json',
-  'Accept':'application/json'
-};
-
-fetch('/roles',
-{
-  method: 'POST',
-  body: inputBody,
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Content-Type' => 'application/json',
-  'Accept' => 'application/json'
-}
-
-result = RestClient.post '/roles',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Content-Type': 'application/json',
-  'Accept': 'application/json'
-}
-
-r = requests.post('/roles', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-    'Accept' => 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('POST','/roles', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/roles");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("POST");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Content-Type": []string{"application/json"},
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("POST", "/roles", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

POST /roles

-
-

Body parameter

-
-
{
-  "name": "string",
-  "is_superuser": true,
-  "can_create_db": true,
-  "can_create_role": true,
-  "inherit_role": true,
-  "can_login": true,
-  "is_replication_role": true,
-  "can_bypass_rls": true,
-  "connection_limit": 0,
-  "password": "string",
-  "valid_until": "string",
-  "member_of": [
-    "string"
-  ],
-  "members": [
-    "string"
-  ],
-  "admins": [
-    "string"
-  ]
-}
-
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameInTypeRequiredDescription
bodybodyobjecttruenone
» namebodystringtruenone
» is_superuserbodybooleanfalsenone
» can_create_dbbodybooleanfalsenone
» can_create_rolebodybooleanfalsenone
» inherit_rolebodybooleanfalsenone
» can_loginbodybooleanfalsenone
» is_replication_rolebodybooleanfalsenone
» can_bypass_rlsbodybooleanfalsenone
» connection_limitbodyintegerfalsenone
» passwordbodystringfalsenone
» valid_untilbodystringfalsenone
» member_ofbody[string]falsenone
» membersbody[string]falsenone
» adminsbody[string]falsenone
-
-

Example responses

-
-
-

200 Response

-
-
{
-  "id": 0,
-  "name": "string",
-  "is_superuser": true,
-  "can_create_db": true,
-  "can_create_role": true,
-  "inherit_role": true,
-  "can_login": true,
-  "is_replication_role": true,
-  "can_bypass_rls": true,
-  "active_connections": 0,
-  "connection_limit": 0,
-  "password": "string",
-  "valid_until": "string",
-  "config": "string",
-  "grants": [
-    {
-      "table_id": 0,
-      "grantor": "string",
-      "grantee": "string",
-      "catalog": "string",
-      "schema": "string",
-      "table_name": "string",
-      "privilege_type": "string",
-      "is_grantable": true,
-      "with_hierarchy": true
-    }
-  ]
-}
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationRole
- -

Update a role by ID

-

-
-

Code samples

-
-
# You can also use wget
-curl -X PATCH /roles/{id} \
-  -H 'Content-Type: application/json' \
-  -H 'Accept: application/json'
-
-
-
PATCH /roles/{id} HTTP/1.1
-
-Content-Type: application/json
-Accept: application/json
-
-
-
const inputBody = '{
-  "name": "string",
-  "is_superuser": true,
-  "can_create_db": true,
-  "can_create_role": true,
-  "inherit_role": true,
-  "can_login": true,
-  "is_replication_role": true,
-  "can_bypass_rls": true,
-  "connection_limit": 0,
-  "password": "string",
-  "valid_until": "string"
-}';
-const headers = {
-  'Content-Type':'application/json',
-  'Accept':'application/json'
-};
-
-fetch('/roles/{id}',
-{
-  method: 'PATCH',
-  body: inputBody,
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Content-Type' => 'application/json',
-  'Accept' => 'application/json'
-}
-
-result = RestClient.patch '/roles/{id}',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Content-Type': 'application/json',
-  'Accept': 'application/json'
-}
-
-r = requests.patch('/roles/{id}', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-    'Accept' => 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('PATCH','/roles/{id}', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/roles/{id}");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("PATCH");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Content-Type": []string{"application/json"},
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("PATCH", "/roles/{id}", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

PATCH /roles/{id}

-
-

Body parameter

-
-
{
-  "name": "string",
-  "is_superuser": true,
-  "can_create_db": true,
-  "can_create_role": true,
-  "inherit_role": true,
-  "can_login": true,
-  "is_replication_role": true,
-  "can_bypass_rls": true,
-  "connection_limit": 0,
-  "password": "string",
-  "valid_until": "string"
-}
-
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameInTypeRequiredDescription
bodybodyobjecttruenone
» namebodystringfalsenone
» is_superuserbodybooleanfalsenone
» can_create_dbbodybooleanfalsenone
» can_create_rolebodybooleanfalsenone
» inherit_rolebodybooleanfalsenone
» can_loginbodybooleanfalsenone
» is_replication_rolebodybooleanfalsenone
» can_bypass_rlsbodybooleanfalsenone
» connection_limitbodyintegerfalsenone
» passwordbodystringfalsenone
» valid_untilbodystringfalsenone
idpathintegertruenone
-
-

Example responses

-
-
-

200 Response

-
-
{
-  "id": 0,
-  "name": "string",
-  "is_superuser": true,
-  "can_create_db": true,
-  "can_create_role": true,
-  "inherit_role": true,
-  "can_login": true,
-  "is_replication_role": true,
-  "can_bypass_rls": true,
-  "active_connections": 0,
-  "connection_limit": 0,
-  "password": "string",
-  "valid_until": "string",
-  "config": "string",
-  "grants": [
-    {
-      "table_id": 0,
-      "grantor": "string",
-      "grantee": "string",
-      "catalog": "string",
-      "schema": "string",
-      "table_name": "string",
-      "privilege_type": "string",
-      "is_grantable": true,
-      "with_hierarchy": true
-    }
-  ]
-}
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationRole
- -

Delete a role by ID

-

-
-

Code samples

-
-
# You can also use wget
-curl -X DELETE /roles/{id} \
-  -H 'Accept: application/json'
-
-
-
DELETE /roles/{id} HTTP/1.1
-
-Accept: application/json
-
-
-

-const headers = {
-  'Accept':'application/json'
-};
-
-fetch('/roles/{id}',
-{
-  method: 'DELETE',
-
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Accept' => 'application/json'
-}
-
-result = RestClient.delete '/roles/{id}',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Accept': 'application/json'
-}
-
-r = requests.delete('/roles/{id}', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('DELETE','/roles/{id}', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/roles/{id}");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("DELETE");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("DELETE", "/roles/{id}", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

DELETE /roles/{id}

-

Parameters

- - - - - - - - - - - - - - - - - - - -
NameInTypeRequiredDescription
idpathintegertruenone
-
-

Example responses

-
-
-

200 Response

-
-
{
-  "id": 0,
-  "name": "string",
-  "is_superuser": true,
-  "can_create_db": true,
-  "can_create_role": true,
-  "inherit_role": true,
-  "can_login": true,
-  "is_replication_role": true,
-  "can_bypass_rls": true,
-  "active_connections": 0,
-  "connection_limit": 0,
-  "password": "string",
-  "valid_until": "string",
-  "config": "string",
-  "grants": [
-    {
-      "table_id": 0,
-      "grantor": "string",
-      "grantee": "string",
-      "catalog": "string",
-      "schema": "string",
-      "table_name": "string",
-      "privilege_type": "string",
-      "is_grantable": true,
-      "with_hierarchy": true
-    }
-  ]
-}
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationRole
- -

/schemas

-

Get all schemas

-

-
-

Code samples

-
-
# You can also use wget
-curl -X GET /schemas \
-  -H 'Accept: application/json'
-
-
-
GET /schemas HTTP/1.1
-
-Accept: application/json
-
-
-

-const headers = {
-  'Accept':'application/json'
-};
-
-fetch('/schemas',
-{
-  method: 'GET',
-
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Accept' => 'application/json'
-}
-
-result = RestClient.get '/schemas',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Accept': 'application/json'
-}
-
-r = requests.get('/schemas', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('GET','/schemas', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/schemas");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("GET");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("GET", "/schemas", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

GET /schemas

-

Parameters

- - - - - - - - - - - - - - - - - - - -
NameInTypeRequiredDescription
include_system_schemasquerybooleanfalsenone
-
-

Example responses

-
-
-

200 Response

-
-
[
-  {
-    "id": 0,
-    "catalog_name": "string",
-    "name": "string",
-    "owner": "string",
-    "default_character_set_catalog": "string",
-    "default_character_set_schema": "string",
-    "default_character_set_name": "string",
-    "sql_path": "string"
-  }
-]
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationInline
-

Response Schema

-

Status Code 200

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredRestrictionsDescription
anonymous[Schema]falsenonenone
» idintegerfalsenonenone
» catalog_namestringfalsenonenone
» namestringfalsenonenone
» ownerstringfalsenonenone
» default_character_set_catalogstring¦nullfalsenonenone
» default_character_set_schemastring¦nullfalsenonenone
» default_character_set_namestring¦nullfalsenonenone
» sql_pathstring¦nullfalsenonenone
- -

Create a schema

-

-
-

Code samples

-
-
# You can also use wget
-curl -X POST /schemas \
-  -H 'Content-Type: application/json' \
-  -H 'Accept: application/json'
-
-
-
POST /schemas HTTP/1.1
-
-Content-Type: application/json
-Accept: application/json
-
-
-
const inputBody = '{
-  "name": "string",
-  "owner": "string"
-}';
-const headers = {
-  'Content-Type':'application/json',
-  'Accept':'application/json'
-};
-
-fetch('/schemas',
-{
-  method: 'POST',
-  body: inputBody,
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Content-Type' => 'application/json',
-  'Accept' => 'application/json'
-}
-
-result = RestClient.post '/schemas',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Content-Type': 'application/json',
-  'Accept': 'application/json'
-}
-
-r = requests.post('/schemas', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-    'Accept' => 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('POST','/schemas', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/schemas");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("POST");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Content-Type": []string{"application/json"},
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("POST", "/schemas", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

POST /schemas

-
-

Body parameter

-
-
{
-  "name": "string",
-  "owner": "string"
-}
-
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameInTypeRequiredDescription
bodybodyobjecttruenone
» namebodystringtruenone
» ownerbodystringtruenone
-
-

Example responses

-
-
-

200 Response

-
-
{
-  "id": 0,
-  "catalog_name": "string",
-  "name": "string",
-  "owner": "string",
-  "default_character_set_catalog": "string",
-  "default_character_set_schema": "string",
-  "default_character_set_name": "string",
-  "sql_path": "string"
-}
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationSchema
- -

Update a schema by ID

-

-
-

Code samples

-
-
# You can also use wget
-curl -X PATCH /schemas/{id} \
-  -H 'Content-Type: application/json' \
-  -H 'Accept: application/json'
-
-
-
PATCH /schemas/{id} HTTP/1.1
-
-Content-Type: application/json
-Accept: application/json
-
-
-
const inputBody = '{
-  "name": "string",
-  "owner": "string"
-}';
-const headers = {
-  'Content-Type':'application/json',
-  'Accept':'application/json'
-};
-
-fetch('/schemas/{id}',
-{
-  method: 'PATCH',
-  body: inputBody,
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Content-Type' => 'application/json',
-  'Accept' => 'application/json'
-}
-
-result = RestClient.patch '/schemas/{id}',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Content-Type': 'application/json',
-  'Accept': 'application/json'
-}
-
-r = requests.patch('/schemas/{id}', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-    'Accept' => 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('PATCH','/schemas/{id}', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/schemas/{id}");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("PATCH");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Content-Type": []string{"application/json"},
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("PATCH", "/schemas/{id}", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

PATCH /schemas/{id}

-
-

Body parameter

-
-
{
-  "name": "string",
-  "owner": "string"
-}
-
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameInTypeRequiredDescription
bodybodyobjecttruenone
» namebodystringfalsenone
» ownerbodystringfalsenone
idpathintegertruenone
-
-

Example responses

-
-
-

200 Response

-
-
{
-  "id": 0,
-  "catalog_name": "string",
-  "name": "string",
-  "owner": "string",
-  "default_character_set_catalog": "string",
-  "default_character_set_schema": "string",
-  "default_character_set_name": "string",
-  "sql_path": "string"
-}
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationSchema
- -

Delete a schema by ID

-

-
-

Code samples

-
-
# You can also use wget
-curl -X DELETE /schemas/{id} \
-  -H 'Accept: application/json'
-
-
-
DELETE /schemas/{id} HTTP/1.1
-
-Accept: application/json
-
-
-

-const headers = {
-  'Accept':'application/json'
-};
-
-fetch('/schemas/{id}',
-{
-  method: 'DELETE',
-
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Accept' => 'application/json'
-}
-
-result = RestClient.delete '/schemas/{id}',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Accept': 'application/json'
-}
-
-r = requests.delete('/schemas/{id}', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('DELETE','/schemas/{id}', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/schemas/{id}");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("DELETE");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("DELETE", "/schemas/{id}", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

DELETE /schemas/{id}

-

Parameters

- - - - - - - - - - - - - - - - - - - -
NameInTypeRequiredDescription
idpathintegertruenone
-
-

Example responses

-
-
-

200 Response

-
-
{
-  "id": 0,
-  "catalog_name": "string",
-  "name": "string",
-  "owner": "string",
-  "default_character_set_catalog": "string",
-  "default_character_set_schema": "string",
-  "default_character_set_name": "string",
-  "sql_path": "string"
-}
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationSchema
- -

/tables

-

Get all tables

-

-
-

Code samples

-
-
# You can also use wget
-curl -X GET /tables \
-  -H 'Accept: application/json'
-
-
-
GET /tables HTTP/1.1
-
-Accept: application/json
-
-
-

-const headers = {
-  'Accept':'application/json'
-};
-
-fetch('/tables',
-{
-  method: 'GET',
-
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Accept' => 'application/json'
-}
-
-result = RestClient.get '/tables',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Accept': 'application/json'
-}
-
-r = requests.get('/tables', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('GET','/tables', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/tables");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("GET");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("GET", "/tables", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

GET /tables

-

Parameters

- - - - - - - - - - - - - - - - - - - -
NameInTypeRequiredDescription
include_system_schemasquerybooleanfalsenone
-
-

Example responses

-
-
-

200 Response

-
-
[
-  {
-    "id": 0,
-    "catalog": "string",
-    "schema": "string",
-    "name": "string",
-    "is_insertable_into": true,
-    "rls_enabled": true,
-    "rls_forced": true,
-    "is_typed": true,
-    "bytes": 0,
-    "size": "string",
-    "seq_scan_count": 0,
-    "seq_row_read_count": 0,
-    "idx_scan_count": 0,
-    "idx_row_read_count": 0,
-    "row_ins_count": 0,
-    "row_upd_count": 0,
-    "row_del_count": 0,
-    "row_hot_upd_count": 0,
-    "live_row_count": 0,
-    "dead_row_count": 0,
-    "rows_mod_since_analyze": 0,
-    "last_vacuum": "string",
-    "last_autovacuum": "string",
-    "last_analyze": "string",
-    "last_autoanalyze": "string",
-    "vacuum_count": 0,
-    "autovacuum_count": 0,
-    "analyze_count": 0,
-    "autoanalyze_count": 0,
-    "columns": [
-      {
-        "table_id": 0,
-        "schema": "string",
-        "table": "string",
-        "id": "string",
-        "ordinal_position": 0,
-        "name": "string",
-        "default_value": "string",
-        "data_type": "string",
-        "format": "string",
-        "description": "string",
-        "is_identity": true,
-        "identity_generation": "string",
-        "is_nullable": true,
-        "is_updatable": true,
-        "enums": [
-          "string"
-        ]
-      }
-    ],
-    "grants": [
-      {
-        "table_id": 0,
-        "grantor": "string",
-        "grantee": "string",
-        "catalog": "string",
-        "schema": "string",
-        "table_name": "string",
-        "privilege_type": "string",
-        "is_grantable": true,
-        "with_hierarchy": true
-      }
-    ],
-    "policies": [
-      {
-        "id": 0,
-        "name": "string",
-        "schema": "string",
-        "table": "string",
-        "table_id": 0,
-        "action": "PERMISSIVE",
-        "roles": [
-          "string"
-        ],
-        "command": "string",
-        "definition": "string",
-        "check": "string"
-      }
-    ],
-    "primary_keys": [
-      {
-        "schema": "string",
-        "table_name": "string",
-        "name": "string",
-        "table_id": 0
-      }
-    ],
-    "relationships": [
-      {
-        "source_schema": "string",
-        "source_table_name": "string",
-        "source_column_name": "string",
-        "target_table_schema": "string",
-        "target_table_name": "string",
-        "target_column_name": "string",
-        "constraint_name": "string"
-      }
-    ]
-  }
-]
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationInline
-

Response Schema

-

Status Code 200

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredRestrictionsDescription
anonymous[Table]falsenonenone
» idintegerfalsenonenone
» catalogstringfalsenonenone
» schemastringfalsenonenone
» namestringfalsenonenone
» is_insertable_intobooleanfalsenonenone
» rls_enabledbooleanfalsenonenone
» rls_forcedbooleanfalsenonenone
» is_typedbooleanfalsenonenone
» bytesintegerfalsenonenone
» sizestringfalsenonenone
» seq_scan_countintegerfalsenonenone
» seq_row_read_countintegerfalsenonenone
» idx_scan_countintegerfalsenonenone
» idx_row_read_countintegerfalsenonenone
» row_ins_countintegerfalsenonenone
» row_upd_countintegerfalsenonenone
» row_del_countintegerfalsenonenone
» row_hot_upd_countintegerfalsenonenone
» live_row_countintegerfalsenonenone
» dead_row_countintegerfalsenonenone
» rows_mod_since_analyzeintegerfalsenonenone
» last_vacuumstring¦nullfalsenonenone
» last_autovacuumstring¦nullfalsenonenone
» last_analyzestring¦nullfalsenonenone
» last_autoanalyzestring¦nullfalsenonenone
» vacuum_countintegerfalsenonenone
» autovacuum_countintegerfalsenonenone
» analyze_countintegerfalsenonenone
» autoanalyze_countintegerfalsenonenone
» columns[Column]falsenonenone
»» table_idintegerfalsenonenone
»» schemastringfalsenonenone
»» tablestringfalsenonenone
»» idstringfalsenonenone
»» ordinal_positionintegerfalsenonenone
»» namestringfalsenonenone
»» default_valuestringfalsenonenone
»» data_typestringfalsenonenone
»» formatstringfalsenonenone
»» descriptionstringfalsenonenone
»» is_identitybooleanfalsenonenone
»» identity_generationstringfalsenonenone
»» is_nullablebooleanfalsenonenone
»» is_updatablebooleanfalsenonenone
»» enums[string]falsenonenone
» grants[Grant]falsenonenone
»» table_idintegerfalsenonenone
»» grantorstringfalsenonenone
»» granteestringfalsenonenone
»» catalogstringfalsenonenone
»» schemastringfalsenonenone
»» table_namestringfalsenonenone
»» privilege_typestringfalsenonenone
»» is_grantablebooleanfalsenonenone
»» with_hierarchybooleanfalsenonenone
» policies[Policy]falsenonenone
»» idintegerfalsenonenone
»» namestringfalsenonenone
»» schemastringfalsenonenone
»» tablestringfalsenonenone
»» table_idintegerfalsenonenone
»» actionstringfalsenonenone
»» roles[string]falsenonenone
»» commandstringfalsenonenone
»» definitionstringfalsenonenone
»» checkstring¦nullfalsenonenone
» primary_keys[object]falsenonenone
»» schemastringfalsenonenone
»» table_namestringfalsenonenone
»» namestringfalsenonenone
»» table_idintegerfalsenonenone
» relationships[object]falsenonenone
»» source_schemastringfalsenonenone
»» source_table_namestringfalsenonenone
»» source_column_namestringfalsenonenone
»» target_table_schemastringfalsenonenone
»» target_table_namestringfalsenonenone
»» target_column_namestringfalsenonenone
»» constraint_namestringfalsenonenone
-

Enumerated Values

- - - - - - - - - - - - - - - - - -
PropertyValue
actionPERMISSIVE
actionRESTRICTIVE
- -

Create a table

-

-
-

Code samples

-
-
# You can also use wget
-curl -X POST /tables \
-  -H 'Content-Type: application/json' \
-  -H 'Accept: application/json'
-
-
-
POST /tables HTTP/1.1
-
-Content-Type: application/json
-Accept: application/json
-
-
-
const inputBody = '{
-  "name": "string",
-  "schema": "string"
-}';
-const headers = {
-  'Content-Type':'application/json',
-  'Accept':'application/json'
-};
-
-fetch('/tables',
-{
-  method: 'POST',
-  body: inputBody,
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Content-Type' => 'application/json',
-  'Accept' => 'application/json'
-}
-
-result = RestClient.post '/tables',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Content-Type': 'application/json',
-  'Accept': 'application/json'
-}
-
-r = requests.post('/tables', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-    'Accept' => 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('POST','/tables', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/tables");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("POST");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Content-Type": []string{"application/json"},
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("POST", "/tables", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

POST /tables

-
-

Body parameter

-
-
{
-  "name": "string",
-  "schema": "string"
-}
-
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameInTypeRequiredDescription
bodybodyobjecttruenone
» namebodystringtruenone
» schemabodystringfalsenone
-
-

Example responses

-
-
-

200 Response

-
-
{
-  "id": 0,
-  "catalog": "string",
-  "schema": "string",
-  "name": "string",
-  "is_insertable_into": true,
-  "rls_enabled": true,
-  "rls_forced": true,
-  "is_typed": true,
-  "bytes": 0,
-  "size": "string",
-  "seq_scan_count": 0,
-  "seq_row_read_count": 0,
-  "idx_scan_count": 0,
-  "idx_row_read_count": 0,
-  "row_ins_count": 0,
-  "row_upd_count": 0,
-  "row_del_count": 0,
-  "row_hot_upd_count": 0,
-  "live_row_count": 0,
-  "dead_row_count": 0,
-  "rows_mod_since_analyze": 0,
-  "last_vacuum": "string",
-  "last_autovacuum": "string",
-  "last_analyze": "string",
-  "last_autoanalyze": "string",
-  "vacuum_count": 0,
-  "autovacuum_count": 0,
-  "analyze_count": 0,
-  "autoanalyze_count": 0,
-  "columns": [
-    {
-      "table_id": 0,
-      "schema": "string",
-      "table": "string",
-      "id": "string",
-      "ordinal_position": 0,
-      "name": "string",
-      "default_value": "string",
-      "data_type": "string",
-      "format": "string",
-      "description": "string",
-      "is_identity": true,
-      "identity_generation": "string",
-      "is_nullable": true,
-      "is_updatable": true,
-      "enums": [
-        "string"
-      ]
-    }
-  ],
-  "grants": [
-    {
-      "table_id": 0,
-      "grantor": "string",
-      "grantee": "string",
-      "catalog": "string",
-      "schema": "string",
-      "table_name": "string",
-      "privilege_type": "string",
-      "is_grantable": true,
-      "with_hierarchy": true
-    }
-  ],
-  "policies": [
-    {
-      "id": 0,
-      "name": "string",
-      "schema": "string",
-      "table": "string",
-      "table_id": 0,
-      "action": "PERMISSIVE",
-      "roles": [
-        "string"
-      ],
-      "command": "string",
-      "definition": "string",
-      "check": "string"
-    }
-  ],
-  "primary_keys": [
-    {
-      "schema": "string",
-      "table_name": "string",
-      "name": "string",
-      "table_id": 0
-    }
-  ],
-  "relationships": [
-    {
-      "source_schema": "string",
-      "source_table_name": "string",
-      "source_column_name": "string",
-      "target_table_schema": "string",
-      "target_table_name": "string",
-      "target_column_name": "string",
-      "constraint_name": "string"
-    }
-  ]
-}
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationTable
- -

Update a table by ID

-

-
-

Code samples

-
-
# You can also use wget
-curl -X PATCH /tables/{id} \
-  -H 'Content-Type: application/json' \
-  -H 'Accept: application/json'
-
-
-
PATCH /tables/{id} HTTP/1.1
-
-Content-Type: application/json
-Accept: application/json
-
-
-
const inputBody = '{
-  "schema": "string",
-  "name": "string",
-  "rls_enabled": true,
-  "rls_forced": true
-}';
-const headers = {
-  'Content-Type':'application/json',
-  'Accept':'application/json'
-};
-
-fetch('/tables/{id}',
-{
-  method: 'PATCH',
-  body: inputBody,
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Content-Type' => 'application/json',
-  'Accept' => 'application/json'
-}
-
-result = RestClient.patch '/tables/{id}',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Content-Type': 'application/json',
-  'Accept': 'application/json'
-}
-
-r = requests.patch('/tables/{id}', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-    'Accept' => 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('PATCH','/tables/{id}', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/tables/{id}");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("PATCH");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Content-Type": []string{"application/json"},
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("PATCH", "/tables/{id}", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

PATCH /tables/{id}

-
-

Body parameter

-
-
{
-  "schema": "string",
-  "name": "string",
-  "rls_enabled": true,
-  "rls_forced": true
-}
-
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameInTypeRequiredDescription
bodybodyobjecttruenone
» schemabodystringfalsenone
» namebodystringfalsenone
» rls_enabledbodybooleanfalsenone
» rls_forcedbodybooleanfalsenone
idpathintegertruenone
-
-

Example responses

-
-
-

200 Response

-
-
{
-  "id": 0,
-  "catalog": "string",
-  "schema": "string",
-  "name": "string",
-  "is_insertable_into": true,
-  "rls_enabled": true,
-  "rls_forced": true,
-  "is_typed": true,
-  "bytes": 0,
-  "size": "string",
-  "seq_scan_count": 0,
-  "seq_row_read_count": 0,
-  "idx_scan_count": 0,
-  "idx_row_read_count": 0,
-  "row_ins_count": 0,
-  "row_upd_count": 0,
-  "row_del_count": 0,
-  "row_hot_upd_count": 0,
-  "live_row_count": 0,
-  "dead_row_count": 0,
-  "rows_mod_since_analyze": 0,
-  "last_vacuum": "string",
-  "last_autovacuum": "string",
-  "last_analyze": "string",
-  "last_autoanalyze": "string",
-  "vacuum_count": 0,
-  "autovacuum_count": 0,
-  "analyze_count": 0,
-  "autoanalyze_count": 0,
-  "columns": [
-    {
-      "table_id": 0,
-      "schema": "string",
-      "table": "string",
-      "id": "string",
-      "ordinal_position": 0,
-      "name": "string",
-      "default_value": "string",
-      "data_type": "string",
-      "format": "string",
-      "description": "string",
-      "is_identity": true,
-      "identity_generation": "string",
-      "is_nullable": true,
-      "is_updatable": true,
-      "enums": [
-        "string"
-      ]
-    }
-  ],
-  "grants": [
-    {
-      "table_id": 0,
-      "grantor": "string",
-      "grantee": "string",
-      "catalog": "string",
-      "schema": "string",
-      "table_name": "string",
-      "privilege_type": "string",
-      "is_grantable": true,
-      "with_hierarchy": true
-    }
-  ],
-  "policies": [
-    {
-      "id": 0,
-      "name": "string",
-      "schema": "string",
-      "table": "string",
-      "table_id": 0,
-      "action": "PERMISSIVE",
-      "roles": [
-        "string"
-      ],
-      "command": "string",
-      "definition": "string",
-      "check": "string"
-    }
-  ],
-  "primary_keys": [
-    {
-      "schema": "string",
-      "table_name": "string",
-      "name": "string",
-      "table_id": 0
-    }
-  ],
-  "relationships": [
-    {
-      "source_schema": "string",
-      "source_table_name": "string",
-      "source_column_name": "string",
-      "target_table_schema": "string",
-      "target_table_name": "string",
-      "target_column_name": "string",
-      "constraint_name": "string"
-    }
-  ]
-}
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationTable
- -

Delete a table by ID

-

-
-

Code samples

-
-
# You can also use wget
-curl -X DELETE /tables/{id} \
-  -H 'Accept: application/json'
-
-
-
DELETE /tables/{id} HTTP/1.1
-
-Accept: application/json
-
-
-

-const headers = {
-  'Accept':'application/json'
-};
-
-fetch('/tables/{id}',
-{
-  method: 'DELETE',
-
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Accept' => 'application/json'
-}
-
-result = RestClient.delete '/tables/{id}',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Accept': 'application/json'
-}
-
-r = requests.delete('/tables/{id}', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('DELETE','/tables/{id}', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/tables/{id}");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("DELETE");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("DELETE", "/tables/{id}", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

DELETE /tables/{id}

-

Parameters

- - - - - - - - - - - - - - - - - - - -
NameInTypeRequiredDescription
idpathintegertruenone
-
-

Example responses

-
-
-

200 Response

-
-
{
-  "id": 0,
-  "catalog": "string",
-  "schema": "string",
-  "name": "string",
-  "is_insertable_into": true,
-  "rls_enabled": true,
-  "rls_forced": true,
-  "is_typed": true,
-  "bytes": 0,
-  "size": "string",
-  "seq_scan_count": 0,
-  "seq_row_read_count": 0,
-  "idx_scan_count": 0,
-  "idx_row_read_count": 0,
-  "row_ins_count": 0,
-  "row_upd_count": 0,
-  "row_del_count": 0,
-  "row_hot_upd_count": 0,
-  "live_row_count": 0,
-  "dead_row_count": 0,
-  "rows_mod_since_analyze": 0,
-  "last_vacuum": "string",
-  "last_autovacuum": "string",
-  "last_analyze": "string",
-  "last_autoanalyze": "string",
-  "vacuum_count": 0,
-  "autovacuum_count": 0,
-  "analyze_count": 0,
-  "autoanalyze_count": 0,
-  "columns": [
-    {
-      "table_id": 0,
-      "schema": "string",
-      "table": "string",
-      "id": "string",
-      "ordinal_position": 0,
-      "name": "string",
-      "default_value": "string",
-      "data_type": "string",
-      "format": "string",
-      "description": "string",
-      "is_identity": true,
-      "identity_generation": "string",
-      "is_nullable": true,
-      "is_updatable": true,
-      "enums": [
-        "string"
-      ]
-    }
-  ],
-  "grants": [
-    {
-      "table_id": 0,
-      "grantor": "string",
-      "grantee": "string",
-      "catalog": "string",
-      "schema": "string",
-      "table_name": "string",
-      "privilege_type": "string",
-      "is_grantable": true,
-      "with_hierarchy": true
-    }
-  ],
-  "policies": [
-    {
-      "id": 0,
-      "name": "string",
-      "schema": "string",
-      "table": "string",
-      "table_id": 0,
-      "action": "PERMISSIVE",
-      "roles": [
-        "string"
-      ],
-      "command": "string",
-      "definition": "string",
-      "check": "string"
-    }
-  ],
-  "primary_keys": [
-    {
-      "schema": "string",
-      "table_name": "string",
-      "name": "string",
-      "table_id": 0
-    }
-  ],
-  "relationships": [
-    {
-      "source_schema": "string",
-      "source_table_name": "string",
-      "source_column_name": "string",
-      "target_table_schema": "string",
-      "target_table_name": "string",
-      "target_column_name": "string",
-      "constraint_name": "string"
-    }
-  ]
-}
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationTable
- -

/types

-

Get all types

-

-
-

Code samples

-
-
# You can also use wget
-curl -X GET /types \
-  -H 'Accept: application/json'
-
-
-
GET /types HTTP/1.1
-
-Accept: application/json
-
-
-

-const headers = {
-  'Accept':'application/json'
-};
-
-fetch('/types',
-{
-  method: 'GET',
-
-  headers: headers
-})
-.then(function(res) {
-    return res.json();
-}).then(function(body) {
-    console.log(body);
-});
-
-
-
require 'rest-client'
-require 'json'
-
-headers = {
-  'Accept' => 'application/json'
-}
-
-result = RestClient.get '/types',
-  params: {
-  }, headers: headers
-
-p JSON.parse(result)
-
-
-
import requests
-headers = {
-  'Accept': 'application/json'
-}
-
-r = requests.get('/types', headers = headers)
-
-print(r.json())
-
-
-
 'application/json',
-);
-
-$client = new \GuzzleHttp\Client();
-
-// Define array of request body.
-$request_body = array();
-
-try {
-    $response = $client->request('GET','/types', array(
-        'headers' => $headers,
-        'json' => $request_body,
-       )
-    );
-    print_r($response->getBody()->getContents());
- }
- catch (\GuzzleHttp\Exception\BadResponseException $e) {
-    // handle exception or api errors.
-    print_r($e->getMessage());
- }
-
- // ...
-
-
-
URL obj = new URL("/types");
-HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-con.setRequestMethod("GET");
-int responseCode = con.getResponseCode();
-BufferedReader in = new BufferedReader(
-    new InputStreamReader(con.getInputStream()));
-String inputLine;
-StringBuffer response = new StringBuffer();
-while ((inputLine = in.readLine()) != null) {
-    response.append(inputLine);
-}
-in.close();
-System.out.println(response.toString());
-
-
-
package main
-
-import (
-       "bytes"
-       "net/http"
-)
-
-func main() {
-
-    headers := map[string][]string{
-        "Accept": []string{"application/json"},
-    }
-
-    data := bytes.NewBuffer([]byte{jsonReq})
-    req, err := http.NewRequest("GET", "/types", data)
-    req.Header = headers
-
-    client := &http.Client{}
-    resp, err := client.Do(req)
-    // ...
-}
-
-
-

GET /types

-

Parameters

- - - - - - - - - - - - - - - - - - - -
NameInTypeRequiredDescription
include_system_schemasquerybooleanfalsenone
-
-

Example responses

-
-
-

200 Response

-
-
[
-  {
-    "id": 0,
-    "name": "string",
-    "schema": "string",
-    "format": "string",
-    "description": "string",
-    "enums": [
-      "string"
-    ]
-  }
-]
-
-

Responses

- - - - - - - - - - - - - - - - - -
StatusMeaningDescriptionSchema
200OKSuccessful operationInline
-

Response Schema

-

Status Code 200

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredRestrictionsDescription
anonymous[Type]falsenonenone
» idintegerfalsenonenone
» namestringfalsenonenone
» schemastringfalsenonenone
» formatstringfalsenonenone
» descriptionstring¦nullfalsenonenone
» enums[string]falsenonenone
- -

Schemas

-

Column

-

- - -

-
{
-  "table_id": 0,
-  "schema": "string",
-  "table": "string",
-  "id": "string",
-  "ordinal_position": 0,
-  "name": "string",
-  "default_value": "string",
-  "data_type": "string",
-  "format": "string",
-  "description": "string",
-  "is_identity": true,
-  "identity_generation": "string",
-  "is_nullable": true,
-  "is_updatable": true,
-  "enums": [
-    "string"
-  ]
-}
-
-
-

Properties

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredRestrictionsDescription
table_idintegerfalsenonenone
schemastringfalsenonenone
tablestringfalsenonenone
idstringfalsenonenone
ordinal_positionintegerfalsenonenone
namestringfalsenonenone
default_valuestringfalsenonenone
data_typestringfalsenonenone
formatstringfalsenonenone
descriptionstringfalsenonenone
is_identitybooleanfalsenonenone
identity_generationstringfalsenonenone
is_nullablebooleanfalsenonenone
is_updatablebooleanfalsenonenone
enums[string]falsenonenone
-

Config

-

- - -

-
{
-  "name": "string",
-  "setting": "string",
-  "category": "string",
-  "group": "string",
-  "subgroup": "string",
-  "unit": "string",
-  "short_desc": "string",
-  "extra_desc": "string",
-  "context": "string",
-  "vartype": "string",
-  "source": "string",
-  "min_val": "string",
-  "max_val": "string",
-  "enumvals": [
-    "string"
-  ],
-  "boot_val": "string",
-  "reset_val": "string",
-  "sourcefile": "string",
-  "sourceline": 0,
-  "pending_restart": true
-}
-
-
-

Properties

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredRestrictionsDescription
namestringfalsenonenone
settingstringfalsenonenone
categorystringfalsenonenone
groupstringfalsenonenone
subgroupstringfalsenonenone
unitstring¦nullfalsenonenone
short_descstringfalsenonenone
extra_descstring¦nullfalsenonenone
contextstringfalsenonenone
vartypestringfalsenonenone
sourcestringfalsenonenone
min_valstring¦nullfalsenonenone
max_valstring¦nullfalsenonenone
enumvals[string]¦nullfalsenonenone
boot_valstringfalsenonenone
reset_valstringfalsenonenone
sourcefilestring¦nullfalsenonenone
sourcelineinteger¦nullfalsenonenone
pending_restartbooleanfalsenonenone
-

Extension

-

- - -

-
{
-  "name": "string",
-  "comment": "string",
-  "default_version": "string",
-  "installed_version": "string"
-}
-
-
-

Properties

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredRestrictionsDescription
namestringfalsenonenone
commentstringfalsenonenone
default_versionstringfalsenonenone
installed_versionstringfalsenonenone
-

Function

-

- - -

-
{
-  "id": 0,
-  "schema": "string",
-  "name": "string",
-  "language": "string",
-  "definition": "string",
-  "argument_types": "string",
-  "return_type": "string"
-}
-
-
-

Properties

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredRestrictionsDescription
idintegerfalsenonenone
schemastringfalsenonenone
namestringfalsenonenone
languagestringfalsenonenone
definitionstringfalsenonenone
argument_typesstringfalsenonenone
return_typestringfalsenonenone
-

Grant

-

- - -

-
{
-  "table_id": 0,
-  "grantor": "string",
-  "grantee": "string",
-  "catalog": "string",
-  "schema": "string",
-  "table_name": "string",
-  "privilege_type": "string",
-  "is_grantable": true,
-  "with_hierarchy": true
-}
-
-
-

Properties

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredRestrictionsDescription
table_idintegerfalsenonenone
grantorstringfalsenonenone
granteestringfalsenonenone
catalogstringfalsenonenone
schemastringfalsenonenone
table_namestringfalsenonenone
privilege_typestringfalsenonenone
is_grantablebooleanfalsenonenone
with_hierarchybooleanfalsenonenone
-

Policy

-

- - -

-
{
-  "id": 0,
-  "name": "string",
-  "schema": "string",
-  "table": "string",
-  "table_id": 0,
-  "action": "PERMISSIVE",
-  "roles": [
-    "string"
-  ],
-  "command": "string",
-  "definition": "string",
-  "check": "string"
-}
-
-
-

Properties

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredRestrictionsDescription
idintegerfalsenonenone
namestringfalsenonenone
schemastringfalsenonenone
tablestringfalsenonenone
table_idintegerfalsenonenone
actionstringfalsenonenone
roles[string]falsenonenone
commandstringfalsenonenone
definitionstringfalsenonenone
checkstring¦nullfalsenonenone
-

Enumerated Values

- - - - - - - - - - - - - - - - - -
PropertyValue
actionPERMISSIVE
actionRESTRICTIVE
-

Role

-

- - -

-
{
-  "id": 0,
-  "name": "string",
-  "is_superuser": true,
-  "can_create_db": true,
-  "can_create_role": true,
-  "inherit_role": true,
-  "can_login": true,
-  "is_replication_role": true,
-  "can_bypass_rls": true,
-  "active_connections": 0,
-  "connection_limit": 0,
-  "password": "string",
-  "valid_until": "string",
-  "config": "string",
-  "grants": [
-    {
-      "table_id": 0,
-      "grantor": "string",
-      "grantee": "string",
-      "catalog": "string",
-      "schema": "string",
-      "table_name": "string",
-      "privilege_type": "string",
-      "is_grantable": true,
-      "with_hierarchy": true
-    }
-  ]
-}
-
-
-

Properties

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredRestrictionsDescription
idintegerfalsenonenone
namestringfalsenonenone
is_superuserbooleanfalsenonenone
can_create_dbbooleanfalsenonenone
can_create_rolebooleanfalsenonenone
inherit_rolebooleanfalsenonenone
can_loginbooleanfalsenonenone
is_replication_rolebooleanfalsenonenone
can_bypass_rlsbooleanfalsenonenone
active_connectionsintegerfalsenonenone
connection_limitintegerfalsenonenone
passwordstringfalsenonenone
valid_untilstring¦nullfalsenonenone
configstring¦nullfalsenonenone
grants[Grant]falsenonenone
-

Schema

-

- - -

-
{
-  "id": 0,
-  "catalog_name": "string",
-  "name": "string",
-  "owner": "string",
-  "default_character_set_catalog": "string",
-  "default_character_set_schema": "string",
-  "default_character_set_name": "string",
-  "sql_path": "string"
-}
-
-
-

Properties

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredRestrictionsDescription
idintegerfalsenonenone
catalog_namestringfalsenonenone
namestringfalsenonenone
ownerstringfalsenonenone
default_character_set_catalogstring¦nullfalsenonenone
default_character_set_schemastring¦nullfalsenonenone
default_character_set_namestring¦nullfalsenonenone
sql_pathstring¦nullfalsenonenone
-

Table

-

- - -

-
{
-  "id": 0,
-  "catalog": "string",
-  "schema": "string",
-  "name": "string",
-  "is_insertable_into": true,
-  "rls_enabled": true,
-  "rls_forced": true,
-  "is_typed": true,
-  "bytes": 0,
-  "size": "string",
-  "seq_scan_count": 0,
-  "seq_row_read_count": 0,
-  "idx_scan_count": 0,
-  "idx_row_read_count": 0,
-  "row_ins_count": 0,
-  "row_upd_count": 0,
-  "row_del_count": 0,
-  "row_hot_upd_count": 0,
-  "live_row_count": 0,
-  "dead_row_count": 0,
-  "rows_mod_since_analyze": 0,
-  "last_vacuum": "string",
-  "last_autovacuum": "string",
-  "last_analyze": "string",
-  "last_autoanalyze": "string",
-  "vacuum_count": 0,
-  "autovacuum_count": 0,
-  "analyze_count": 0,
-  "autoanalyze_count": 0,
-  "columns": [
-    {
-      "table_id": 0,
-      "schema": "string",
-      "table": "string",
-      "id": "string",
-      "ordinal_position": 0,
-      "name": "string",
-      "default_value": "string",
-      "data_type": "string",
-      "format": "string",
-      "description": "string",
-      "is_identity": true,
-      "identity_generation": "string",
-      "is_nullable": true,
-      "is_updatable": true,
-      "enums": [
-        "string"
-      ]
-    }
-  ],
-  "grants": [
-    {
-      "table_id": 0,
-      "grantor": "string",
-      "grantee": "string",
-      "catalog": "string",
-      "schema": "string",
-      "table_name": "string",
-      "privilege_type": "string",
-      "is_grantable": true,
-      "with_hierarchy": true
-    }
-  ],
-  "policies": [
-    {
-      "id": 0,
-      "name": "string",
-      "schema": "string",
-      "table": "string",
-      "table_id": 0,
-      "action": "PERMISSIVE",
-      "roles": [
-        "string"
-      ],
-      "command": "string",
-      "definition": "string",
-      "check": "string"
-    }
-  ],
-  "primary_keys": [
-    {
-      "schema": "string",
-      "table_name": "string",
-      "name": "string",
-      "table_id": 0
-    }
-  ],
-  "relationships": [
-    {
-      "source_schema": "string",
-      "source_table_name": "string",
-      "source_column_name": "string",
-      "target_table_schema": "string",
-      "target_table_name": "string",
-      "target_column_name": "string",
-      "constraint_name": "string"
-    }
-  ]
-}
-
-
-

Properties

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredRestrictionsDescription
idintegerfalsenonenone
catalogstringfalsenonenone
schemastringfalsenonenone
namestringfalsenonenone
is_insertable_intobooleanfalsenonenone
rls_enabledbooleanfalsenonenone
rls_forcedbooleanfalsenonenone
is_typedbooleanfalsenonenone
bytesintegerfalsenonenone
sizestringfalsenonenone
seq_scan_countintegerfalsenonenone
seq_row_read_countintegerfalsenonenone
idx_scan_countintegerfalsenonenone
idx_row_read_countintegerfalsenonenone
row_ins_countintegerfalsenonenone
row_upd_countintegerfalsenonenone
row_del_countintegerfalsenonenone
row_hot_upd_countintegerfalsenonenone
live_row_countintegerfalsenonenone
dead_row_countintegerfalsenonenone
rows_mod_since_analyzeintegerfalsenonenone
last_vacuumstring¦nullfalsenonenone
last_autovacuumstring¦nullfalsenonenone
last_analyzestring¦nullfalsenonenone
last_autoanalyzestring¦nullfalsenonenone
vacuum_countintegerfalsenonenone
autovacuum_countintegerfalsenonenone
analyze_countintegerfalsenonenone
autoanalyze_countintegerfalsenonenone
columns[Column]falsenonenone
grants[Grant]falsenonenone
policies[Policy]falsenonenone
primary_keys[object]falsenonenone
» schemastringfalsenonenone
» table_namestringfalsenonenone
» namestringfalsenonenone
» table_idintegerfalsenonenone
relationships[object]falsenonenone
» source_schemastringfalsenonenone
» source_table_namestringfalsenonenone
» source_column_namestringfalsenonenone
» target_table_schemastringfalsenonenone
» target_table_namestringfalsenonenone
» target_column_namestringfalsenonenone
» constraint_namestringfalsenonenone
-

Type

-

- - -

-
{
-  "id": 0,
-  "name": "string",
-  "schema": "string",
-  "format": "string",
-  "description": "string",
-  "enums": [
-    "string"
-  ]
-}
-
-
-

Properties

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredRestrictionsDescription
idintegerfalsenonenone
namestringfalsenonenone
schemastringfalsenonenone
formatstringfalsenonenone
descriptionstring¦nullfalsenonenone
enums[string]falsenonenone
-

Version

-

- - -

-
{
-  "version": "string",
-  "version_number": 0,
-  "active_connections": 0,
-  "max_connections": 0
-}
-
-
-

Properties

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeRequiredRestrictionsDescription
versionstringfalsenonenone
version_numberintegerfalsenonenone
active_connectionsintegerfalsenonenone
max_connectionsintegerfalsenonenone
- - - - - - - - - - - - - -
-
- -
- - - Shell - - - - HTTP - - - - JavaScript - - - - Ruby - - - - Python - - - - PHP - - - - Java - - - - Go - - -
- -
-
- - diff --git a/docs/index.js b/docs/index.js deleted file mode 100644 index e5a5675b..00000000 --- a/docs/index.js +++ /dev/null @@ -1,414 +0,0 @@ -// @ts-check -'use strict'; - -const fs = require('fs'); -const path = require('path'); - -const maybe = require('call-me-maybe'); - -// @ts-ignore -var hljs = require('highlight.js'); -var hlpath = path.resolve(require.resolve('highlight.js'),'..','..'); - -const emoji = require('markdown-it-emoji'); -const attrs = require('markdown-it-attrs'); -var md = require('markdown-it')({ - linkify: true, html: true, - highlight: function (str, lang) { - var slang = lang.split('--')[0]; // allows multiple language tabs for the same language - if (slang && hljs.getLanguage(slang)) { - try { - return '
' +
-                    hljs.highlight(slang, str, true).value +
-                    '
'; - } catch (__) { } - } - - return '
' + md.utils.escapeHtml(str) + '
'; - } -}).use(require('markdown-it-lazy-headers')); -md.use(emoji); -const yaml = require('yaml'); -const ejs = require('ejs'); -const uglify = require('uglify-js'); -const cheerio = require('cheerio'); -const sanitizeHtml = require('sanitize-html'); - -let seenIds = {}; -let globalOptions = {}; - -function safeReadFileSync(filename,encoding) { - try { - return fs.readFileSync(filename,encoding); - } - catch (ex) { - console.error(`shins: included file ${filename} not found`); - if (globalOptions.cli) process.exit(1); - } - return ''; -} - -function javascript_include_tag(include) { - var includeStr = safeReadFileSync(path.join(globalOptions.root, '/source/javascripts/' + include + '.inc'), 'utf8'); - if (globalOptions.minify) { - var scripts = []; - var includes = includeStr.split('\r').join().split('\n'); - for (var i in includes) { - var inc = includes[i]; - var elements = inc.split('"'); - if (elements[1]) { - if (elements[1] == 'text/javascript') { - scripts.push(path.join(globalOptions.root, 'source/javascripts/all_nosearch.js')); - break; - } - else { - scripts.push(path.join(globalOptions.root, elements[1])); - } - } - } - var bundle = uglify.minify(scripts); - if (globalOptions.inline) { - includeStr = ''; - } - else { - fs.writeFileSync(path.join(globalOptions.root, '/pub/js/shins.js'), bundle.code, 'utf8'); - includeStr = safeReadFileSync(path.join(globalOptions.root, '/source/javascripts/' + include + '.bundle.inc'), 'utf8'); - } - } - return includeStr; -} - -function partial(include) { - var includePath = ''; - if (include.indexOf('/') === 0) { - includePath = path.join(globalOptions.root, include + '.md'); - } - else { - let components = include.split('/'); - components[components.length-1] = '_'+components[components.length-1]+'.md'; - includePath = path.join(globalOptions.root, '/source/includes/'+components.join('/')); - } - var includeStr = safeReadFileSync(includePath, 'utf8'); - return postProcess(md.render(clean(includeStr))); -} - -function replaceAll(target, find, replace) { - return target.replace(new RegExp(find.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'), 'g'), replace); -} - -function stylesheet_link_tag(stylesheet, media) { - var override = stylesheet; - if ((stylesheet !== 'print') && (stylesheet !== 'screen')) { - override = 'theme'; - } - if (globalOptions.inline) { - var stylePath = path.join(globalOptions.root, '/pub/css/' + stylesheet + '.css'); - if (!fs.existsSync(stylePath)) { - stylePath = path.join(hlpath, '/styles/' + stylesheet + '.css'); - } - var styleContent = safeReadFileSync(stylePath, 'utf8'); - styleContent = replaceAll(styleContent, '../../source/fonts/', globalOptions.fonturl||'https://raw.githubusercontent.com/Mermade/shins/master/source/fonts/'); - styleContent = replaceAll(styleContent, '../../source/', 'source/'); - if (globalOptions.customCss) { - let overrideFilename = path.join(globalOptions.root, '/pub/css/' + override + '_overrides.css'); - if (fs.existsSync(overrideFilename)) { - styleContent += '\n' + safeReadFileSync(overrideFilename, 'utf8'); - } - } - if (globalOptions.css) { - if (fs.existsSync(globalOptions.css)) { - styleContent += '\n' + safeReadFileSync(globalOptions.css, 'utf8'); - } - } - return ''; - } - else { - if (media == 'screen') { - var target = path.join(globalOptions.root, '/pub/css/' + stylesheet + '.css'); - if (!fs.existsSync(target)) { - var source = path.join(hlpath, '/styles/' + stylesheet + '.css'); - fs.writeFileSync(target, safeReadFileSync(source,'utf8')); - } - } - var include = ''; - if (globalOptions.css && stylesheet === 'screen') { - include += '\n '; - } - if (globalOptions.customCss) { - include += '\n '; - } - return include; - } -} - -function language_array(language_tabs) { - var result = []; - for (var lang in language_tabs) { - if (typeof language_tabs[lang] === 'object') { - result.push(Object.keys(language_tabs[lang])[0]); - } - else { - result.push(language_tabs[lang]); - } - } - return JSON.stringify(result).split('"').join('"'); -} - -function preProcess(content,options) { - let lines = content.split('\r').join('').split('\n'); - const comments = []; - comments.push(''); - for (let l=0;l= 0) comments.push(line); - let filename = ''; - if (line.startsWith('include::') && line.endsWith('[]')) { // asciidoc syntax - filename = line.split(':')[2].replace('[]',''); - } - else if (line.startsWith('!INCLUDE ')) { // markdown-pp syntax - filename = line.replace('!INCLUDE ',''); - } - if (filename) { - if (options.source) filename = path.resolve(path.dirname(options.source),filename); - let s = safeReadFileSync(filename,'utf8'); - let include = s.split('\r').join('').split('\n'); - lines.splice(l,1,...include); - } - else lines[l] = line; - } - globalOptions.comments = comments; - return lines.join('\n'); -} - -function cleanId(id, unique) { - id = id.toLowerCase().replace(/\W/g, '-'); - if (unique && seenIds[id]) id += '-' + ++seenIds[id] - else seenIds[id] = 1; - return id; -} - -function postProcess(content) { - // clean up headers which already have ids - content = content.replace(/\<(h[123456]) id="(.*)"\>(.*)\<\/h[123456]\>/g, function (match, header, id, title) { - return '<' + header + ' id="' + cleanId(id,false) + '">' + title + ''; - }); - - // adds id a la GitHub autolinks to automatically-generated headers - content = content.replace(/\<(h[123456])\>(.*)\<\/h[123456]\>/g, function (match, header, title) { - return '<' + header + ' id="' + cleanId(title,true) + '">' + title + ''; - }); - - content = content + globalOptions.comments.join('\n'); - return content; -} - -function clean(s) { - if (!s) return ''; - if (globalOptions.unsafe) return s; - let sanitizeOptions = { - allowedTags: sanitizeHtml.defaults.allowedTags.concat([ 'h1', 'h2', 'img', 'aside', 'article', 'details', - 'summary', 'abbr', 'meta', 'link' ]), - allowedAttributes: { a: [ 'href', 'id', 'name', 'target', 'class' ], img: [ 'src', 'alt', 'class' ] , aside: [ 'class' ], - abbr: [ 'title', 'class' ], details: [ 'open', 'class' ], div: [ 'class' ], meta: [ 'name', 'content' ], - link: [ 'rel', 'href', 'type', 'sizes' ], - h1: [ 'id' ], h2: [ 'id' ], h3: [ 'id' ], h4: [ 'id' ], h5: [ 'id' ], h6: [ 'id' ], - table: [ 'class' ], tr: [ 'class' ], td: [ 'class' ], - blockquote: [ 'class', 'id' ]} - }; - // replace things which look like tags which sanitizeHtml will eat - s = s.split('\n>').join('\n$1$'); - s = s.split('>=').join('$2$'); - s = s.split('<=').join('$3$'); - let a = s.split('```'); - for (let i=0;i'); - s = s.split('<').join('<'); - s = s.split('\n$1$').join('\n>'); - s = s.split('$2$').join('>='); - s = s.split('$3$').join('<='); - return s; -} - -function getBase64ImageSource(imageSource, imgContent) { - if (!imageSource || !imgContent) return ""; - - var mimeType = getMimeType(imageSource); - return "data:" + mimeType + ";base64," + Buffer.from(imgContent).toString('base64'); -} - -function getMimeType(imageSource) { - var extension = path.extname(imageSource).toLowerCase(); - switch(extension) { - case ".svg": - return "image/svg+xml"; - case ".webp": - return "image/webp"; - case ".jpg": - case ".jpeg": - return "image/jpeg"; - case ".gif": - return "image/gif"; - default: - return "image/png"; - } -} - -function render(inputStr, options, callback) { - if (typeof callback === 'undefined') { // for pre-v1.4.0 compatibility - callback = options; - options = {}; - } - if (options.attr) md.use(attrs); - if (options['no-links']) md.disable('linkify'); - if (options.inline == true) { - options.minify = true; - } - if (typeof options.root === 'undefined') { - options.root = __dirname; - } - seenIds = {}; // reinitialise - return maybe(callback, new Promise(function (resolve, reject) { - globalOptions = options; - // @ts-ignore - globalOptions.shins = require('./package.json'); - - inputStr = inputStr.split('\r\n').join('\n'); - var inputArr = ('\n' + inputStr).split('\n---\n'); - if (inputArr.length === 1) { - inputArr = ('\n' + inputStr).split('\n--- \n'); - } - var headerStr = inputArr[1]; - var header = yaml.parse(headerStr); - if (!header) header = {}; - - /* non-matching languages between Ruby Rouge and highlight.js at 2016/07/10 are - ['ceylon','common_lisp','conf','cowscript','erb','factor','io','json-doc','liquid','literate_coffeescript','literate_haskell','llvm','make', - 'objective_c','plaintext','praat','properties','racket','sass','sed','shell','slim','sml','toml','tulip','viml'];*/ - var sh = hljs.getLanguage('bash'); - hljs.registerLanguage('shell', function (hljs) { return sh; }); - hljs.registerLanguage('sh', function (hljs) { return sh; }); - - while (inputArr.length<3) inputArr.push(''); - - var content = preProcess(inputArr[2],options); - content = md.render(clean(content)); - content = postProcess(content); - - var locals = {}; - locals.current_page = {}; - locals.current_page.data = header; - locals.page_content = content; - locals.toc_data = function(content) { - var $ = cheerio.load(content); - var result = []; - var h1,h2,h3,h4,h5; - var headingLevel = header.headingLevel || 2; - $(':header').each(function(e){ - var tag = $(this).get(0).tagName.toLowerCase(); - var entry = {}; - if (tag === 'h1') { - entry.id = $(this).attr('id'); - entry.title = $(this).text(); - entry.content = $(this).html(); - entry.children = []; - h1 = entry; - result.push(entry); - } - if (tag === 'h2') { - let child = {}; - child.id = $(this).attr('id'); - entry.title = $(this).text(); - child.content = $(this).html(); - child.children = []; - h2 = child; - if (h1) h1.children.push(child); - } - if ((headingLevel >= 3) && (tag === 'h3')) { - let child = {}; - child.id = $(this).attr('id'); - entry.title = $(this).text(); - child.content = $(this).html(); - child.children = []; - h3 = child; - if (h2) h2.children.push(child); - } - if ((headingLevel >= 4) && (tag === 'h4')) { - let child = {}; - child.id = $(this).attr('id'); - entry.title = $(this).text(); - child.content = $(this).html(); - child.children = []; - h4 = child; - if (h3) h3.children.push(child); - } - if ((headingLevel >= 5) && (tag === 'h5')) { - let child = {}; - child.id = $(this).attr('id'); - entry.title = $(this).text(); - child.content = $(this).html(); - child.children = []; - h5 = child; - if (h4) h4.children.push(child); - } - if ((headingLevel >= 6) && (tag === 'h6')) { - let child = {}; - child.id = $(this).attr('id'); - entry.title = $(this).text(); - child.content = $(this).html(); - if (h5) h5.children.push(child); - } - }); - return result; //[{id:'test',content:'hello',children:[]}]; - }; - locals.partial = partial; - locals.image_tag = function (image, altText, className) { - var imageSource = "source/images/" + image; - if (globalOptions.inline) { - var imgContent = safeReadFileSync(path.join(globalOptions.root, imageSource)); - imageSource = getBase64ImageSource(imageSource, imgContent); - } - return '' + altText + ''; - }; - locals.logo_image_tag = function () { - if (!globalOptions.logo) return locals.image_tag('logo.png', 'Logo', 'logo'); - var imageSource = path.resolve(process.cwd(), globalOptions.logo); - var imgContent = safeReadFileSync(imageSource); - if (globalOptions.inline) { - imageSource = getBase64ImageSource(imageSource, imgContent); - } else { - var logoPath = "source/images/custom_logo" + path.extname(imageSource); - fs.writeFileSync(path.join(globalOptions.root, logoPath), imgContent); - imageSource = logoPath; - } - var html = ''; - if (globalOptions['logo-url']) { - html = '' + html + ''; - } - return html; - }; - locals.stylesheet_link_tag = stylesheet_link_tag; - locals.javascript_include_tag = javascript_include_tag; - locals.language_array = language_array; - - var ejsOptions = {}; - ejsOptions.debug = false; - ejs.renderFile(path.resolve(globalOptions.root, options.layout || 'source/layouts/layout.ejs'), locals, ejsOptions, function (err, str) { - if (err) reject(err) - else resolve(str); - }); - })); -} - -module.exports = { - render: render, - srcDir: function () { return globalOptions.root; } -}; - diff --git a/docs/jsconfig.json b/docs/jsconfig.json deleted file mode 100644 index 90cb7de4..00000000 --- a/docs/jsconfig.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "compilerOptions": { - "lib": ["dom","es2017","es2017.object"] - } -} \ No newline at end of file diff --git a/docs/master.html b/docs/master.html deleted file mode 100644 index 9526752a..00000000 --- a/docs/master.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - - - - - Master/Include Sample v1.0.0 - - - - - - - - - - - - - - - - - - - - - - - - - NAV - Navigation - - -
- - -
- - - Node.JS - - - - JavaScript - - - - Python - - - - Ruby - - - - Java - - - - Go - - -
- - - -
    - -
    - -
    - - - -
    -
    -
    -
    -

    Master content

    -

    Included content

    -

    -

    This content comes from include.md

    -

    Included content 2

    -

    -

    This content comes from include.md

    - -
    -
    - -
    - - - Node.JS - - - - JavaScript - - - - Python - - - - Ruby - - - - Java - - - - Go - - -
    - -
    -
    - - diff --git a/docs/package-lock.json b/docs/package-lock.json deleted file mode 100644 index d01f2d46..00000000 --- a/docs/package-lock.json +++ /dev/null @@ -1,5576 +0,0 @@ -{ - "name": "shins", - "version": "2.5.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.8.3" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", - "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==", - "dev": true - }, - "@babel/highlight": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", - "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.9.0", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/runtime": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz", - "integrity": "sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==", - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", - "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.3", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", - "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.3", - "fastq": "^1.6.0" - } - }, - "@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "dev": true - }, - "@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "dev": true, - "requires": { - "defer-to-connect": "^1.0.1" - } - }, - "@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", - "dev": true - }, - "@types/node": { - "version": "6.0.84", - "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.84.tgz", - "integrity": "sha512-1SvEazClhUBRNroJM3oB3xf3u2r6xGmHDGbdigqNPHvNKLl8/BtATgO9eC04ZLuovpSh0B20BF1QJxdi+qmTlg==" - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, - "accepts": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz", - "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=", - "requires": { - "mime-types": "~2.1.16", - "negotiator": "0.6.1" - } - }, - "acorn": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz", - "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==", - "dev": true - }, - "acorn-jsx": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", - "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", - "dev": true - }, - "acorn-node": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", - "dev": true, - "requires": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" - }, - "dependencies": { - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - } - } - }, - "acorn-walk": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.1.1.tgz", - "integrity": "sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==", - "dev": true - }, - "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" - } - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, - "ansi-align": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", - "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", - "dev": true, - "requires": { - "string-width": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dev": true, - "requires": { - "type-fest": "^0.11.0" - }, - "dependencies": { - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true - } - } - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "anymatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.0.3.tgz", - "integrity": "sha512-c6IvoeBECQlMVuYUjSwimnhmztImpErfxJzWZhIQinIvQWoGOnB0dLIgifbPHQt5heS6mNlaZG16f06H3C8t1g==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true - }, - "async-foreach": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", - "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==", - "dev": true - }, - "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "better-ajv-errors": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/better-ajv-errors/-/better-ajv-errors-0.6.7.tgz", - "integrity": "sha512-PYgt/sCzR4aGpyNy5+ViSQ77ognMnWq7745zM+/flYO4/Yisdtp9wDQW2IKCyVYPUxQt3E/b5GBSwfhd1LPdlg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/runtime": "^7.0.0", - "chalk": "^2.4.1", - "core-js": "^3.2.1", - "json-to-ast": "^2.0.3", - "jsonpointer": "^4.0.1", - "leven": "^3.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "binary-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", - "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==" - }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "dev": true, - "requires": { - "inherits": "~2.0.0" - } - }, - "body-parser": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", - "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", - "requires": { - "bytes": "3.0.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.1", - "http-errors": "~1.6.2", - "iconv-lite": "0.4.19", - "on-finished": "~2.3.0", - "qs": "6.5.1", - "raw-body": "2.3.2", - "type-is": "~1.6.15" - }, - "dependencies": { - "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" - } - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" - }, - "boxen": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", - "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", - "dev": true, - "requires": { - "ansi-align": "^3.0.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "cli-boxes": "^2.2.0", - "string-width": "^4.1.0", - "term-size": "^2.1.0", - "type-fest": "^0.8.1", - "widest-line": "^3.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "brace-expansion": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz", - "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=", - "dev": true, - "requires": { - "balanced-match": "^0.4.1", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" - }, - "cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "dev": true, - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "dependencies": { - "get-stream": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", - "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true - } - } - }, - "call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, - "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - } - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" - } - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "cheerio": { - "version": "1.0.0-rc.2", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.2.tgz", - "integrity": "sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs=", - "requires": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.0", - "entities": "~1.1.1", - "htmlparser2": "^3.9.1", - "lodash": "^4.15.0", - "parse5": "^3.0.1" - } - }, - "chokidar": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.0.2.tgz", - "integrity": "sha512-c4PR2egjNjI1um6bamCQ6bUNPDiyofNQruHvKgHQ4gDUP/ITSVSzNsiI5OWtHOsX323i5ha/kk4YmOZ1Ktg7KA==", - "requires": { - "anymatch": "^3.0.1", - "braces": "^3.0.2", - "fsevents": "^2.0.6", - "glob-parent": "^5.0.0", - "is-binary-path": "^2.1.0", - "is-glob": "^4.0.1", - "normalize-path": "^3.0.0", - "readdirp": "^3.1.1" - } - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "cli-boxes": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz", - "integrity": "sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==", - "dev": true - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", - "dev": true - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, - "code-error-fragment": { - "version": "0.0.230", - "resolved": "https://registry.npmjs.org/code-error-fragment/-/code-error-fragment-0.0.230.tgz", - "integrity": "sha512-cadkfKp6932H8UkhzE/gcUqhRMNf8jHzkAN7+5Myabswaghu4xABTgPHDCjW+dBAJxj/SpkTYokpzDqY4pCzQw==", - "dev": true - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "compressible": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.12.tgz", - "integrity": "sha1-xZpcmdt2dn6YdlAOJx72OzSTvWY=", - "requires": { - "mime-db": ">= 1.30.0 < 2" - }, - "dependencies": { - "mime-db": { - "version": "1.31.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.31.0.tgz", - "integrity": "sha512-oB3w9lx50CMd6nfonoV5rBRUbJtjMifUHaFb5MfzjC8ksAIfVjT0BsX46SjjqBz7n9JGTrTX3paIeLSK+rS5fQ==" - } - } - }, - "compression": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.1.tgz", - "integrity": "sha1-7/JgPvwuIs+G810uuTWJ+YdTc9s=", - "requires": { - "accepts": "~1.3.4", - "bytes": "3.0.0", - "compressible": "~2.0.11", - "debug": "2.6.9", - "on-headers": "~1.0.1", - "safe-buffer": "5.1.1", - "vary": "~1.1.2" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - } - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true - }, - "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - }, - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "core-js": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", - "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cross-spawn": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", - "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" - } - }, - "crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "dev": true - }, - "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" - } - }, - "css-what": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", - "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=" - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "requires": { - "array-find-index": "^1.0.1" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", - "dev": true - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true - }, - "depd": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=" - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - }, - "dependencies": { - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - } - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-serializer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", - "requires": { - "domelementtype": "~1.1.1", - "entities": "~1.1.1" - }, - "dependencies": { - "domelementtype": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", - "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=" - } - } - }, - "domelementtype": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=" - }, - "domhandler": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.1.tgz", - "integrity": "sha1-iS5HAAqZvlW783dP/qBWHYh5wlk=", - "requires": { - "domelementtype": "1" - } - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "dot": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dot/-/dot-1.1.3.tgz", - "integrity": "sha512-/nt74Rm+PcfnirXGEdhZleTwGC2LMnuKTeeTIlI82xb5loBBoXNYzr2ezCroPSMtilK8EZIfcNZwOcHN+ib1Lg==", - "dev": true - }, - "dot-prop": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", - "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", - "dev": true, - "requires": { - "is-obj": "^2.0.0" - } - }, - "duplexer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", - "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", - "dev": true - }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "ejs": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz", - "integrity": "sha1-zIcsFoiArjxxiXYv1f/ACJbJUYo=" - }, - "ejs-include-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ejs-include-regex/-/ejs-include-regex-1.0.0.tgz", - "integrity": "sha1-4vcVdcv9VRrIALJHTB9io45wCTo=", - "dev": true - }, - "ejs-lint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ejs-lint/-/ejs-lint-1.1.0.tgz", - "integrity": "sha512-SnOxzUtJug5C92wtFTZ+Zyb+eoqOlN+WyqDk6HDSXgY5FseDgm8MhZ/r70nkzrh0AMPpifzebep3gGILzAlQNg==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "ejs": "3.0.1", - "ejs-include-regex": "^1.0.0", - "globby": "^11.0.0", - "read-input": "^0.3.1", - "rewire": "^5.0.0", - "syntax-error": "^1.1.6", - "yargs": "^15.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "ejs": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.0.1.tgz", - "integrity": "sha512-cuIMtJwxvzumSAkqaaoGY/L6Fc/t6YvoP9/VIaK0V/CyqKLEQ8sqODmYfy/cjXEdZ9+OOL8TecbJu+1RsofGDw==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "encodeurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", - "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "entities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=" - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es6-promise": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", - "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=", - "dev": true - }, - "escape-goat": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", - "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", - "dev": true - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "eslint-scope": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", - "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", - "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", - "dev": true - }, - "espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", - "dev": true, - "requires": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz", - "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==", - "dev": true - } - } - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, - "requires": { - "estraverse": "^4.1.0" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" - }, - "event-stream": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", - "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", - "dev": true, - "requires": { - "duplexer": "~0.1.1", - "from": "~0", - "map-stream": "~0.1.0", - "pause-stream": "0.0.11", - "split": "0.3", - "stream-combiner": "~0.0.4", - "through": "~2.3.1" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - } - } - }, - "express": { - "version": "4.16.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.2.tgz", - "integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=", - "requires": { - "accepts": "~1.3.4", - "array-flatten": "1.1.1", - "body-parser": "1.18.2", - "content-disposition": "0.5.2", - "content-type": "~1.0.4", - "cookie": "0.3.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.1", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.1.0", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.2", - "qs": "6.5.1", - "range-parser": "~1.2.0", - "safe-buffer": "5.1.1", - "send": "0.16.1", - "serve-static": "1.13.1", - "setprototypeof": "1.1.0", - "statuses": "~1.3.1", - "type-is": "~1.6.15", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", - "dev": true - }, - "fast-glob": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.2.tgz", - "integrity": "sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fast-safe-stringify": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", - "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==", - "dev": true - }, - "fastq": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.7.0.tgz", - "integrity": "sha512-YOadQRnHd5q6PogvAR/x62BGituF2ufiEA6s8aavQANw5YKHERI4AREboX6KotzP8oX2klxYF2wcV/7bn1clfQ==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "requires": { - "flat-cache": "^2.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", - "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.3.1", - "unpipe": "~1.0.0" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, - "dependencies": { - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - }, - "from": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", - "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", - "dev": true - }, - "fs-readfile-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fs-readfile-promise/-/fs-readfile-promise-2.0.1.tgz", - "integrity": "sha1-gAI4I5gfn//+AWCei+Zo9prknnA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2" - } - }, - "fs-writefile-promise": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-writefile-promise/-/fs-writefile-promise-1.0.3.tgz", - "integrity": "sha1-4C+bWP/CVe2CKtx6ARFPRF1I0GM=", - "dev": true, - "requires": { - "mkdirp-promise": "^1.0.0", - "pinkie-promise": "^1.0.0" - }, - "dependencies": { - "pinkie": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-1.0.0.tgz", - "integrity": "sha1-Wkfyi6EBXQIBvae/DzWOR77Ix+Q=", - "dev": true - }, - "pinkie-promise": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-1.0.0.tgz", - "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", - "dev": true, - "requires": { - "pinkie": "^1.0.0" - } - } - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.0.7.tgz", - "integrity": "sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ==", - "optional": true - }, - "fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - } - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "gaze": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", - "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", - "dev": true, - "requires": { - "globule": "^1.0.0" - } - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", - "dev": true - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz", - "integrity": "sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "global-dirs": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.0.1.tgz", - "integrity": "sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==", - "dev": true, - "requires": { - "ini": "^1.3.5" - } - }, - "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "requires": { - "type-fest": "^0.8.1" - } - }, - "globby": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.0.tgz", - "integrity": "sha512-iuehFnR3xu5wBBtm4xi0dMe92Ob87ufyu/dHwpDYfbcpYpIbrO5OnS8M1vWvrBhSGEJ3/Ecj7gnX76P8YxpPEg==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - } - }, - "globule": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.1.tgz", - "integrity": "sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g==", - "dev": true, - "requires": { - "glob": "~7.1.1", - "lodash": "~4.17.12", - "minimatch": "~3.0.2" - } - }, - "got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "dev": true, - "requires": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - } - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true - }, - "grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "dev": true, - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true - }, - "has-yarn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", - "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", - "dev": true - }, - "highlight.js": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.0.2.tgz", - "integrity": "sha512-2gMT2MHU6/2OjAlnaOE2LFdr9dwviDN3Q2lSw7Ois3/5uTtahbgYTkr4EPoY828ps+2eQWiixPTF8+phU6Ofkg==" - }, - "highlightjs": { - "version": "9.16.2", - "resolved": "https://registry.npmjs.org/highlightjs/-/highlightjs-9.16.2.tgz", - "integrity": "sha512-FK1vmMj8BbEipEy8DLIvp71t5UsC7n2D6En/UfM/91PCwmOpj6f2iu0Y0coRC62KSRHHC+dquM2xMULV/X7NFg==", - "dev": true - }, - "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", - "dev": true - }, - "htmlparser2": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz", - "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", - "requires": { - "domelementtype": "^1.3.0", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" - } - }, - "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", - "dev": true - }, - "http-errors": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", - "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", - "requires": { - "depd": "1.1.1", - "inherits": "2.0.3", - "setprototypeof": "1.0.3", - "statuses": ">= 1.3.1 < 2" - }, - "dependencies": { - "setprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=" - } - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "http2-client": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/http2-client/-/http2-client-1.3.3.tgz", - "integrity": "sha512-nUxLymWQ9pzkzTmir24p2RtsgruLmhje7lH3hLX1IpwvyTg77fW+1brenPPP3USAR+rQ36p5sTA/x7sjCJVkAA==", - "dev": true - }, - "httpsnippet": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/httpsnippet/-/httpsnippet-1.20.0.tgz", - "integrity": "sha512-8cMk8qGnlXkWh6kN6RiTIooybNiqG71rZ6RIMT/NSxgoW74JZ2okE6QBuWeZjMGU78y/Nk6HIBEhF/ZjUUeu+w==", - "dev": true, - "requires": { - "chalk": "^1.1.1", - "commander": "^2.9.0", - "debug": "^2.2.0", - "event-stream": "3.3.4", - "form-data": "3.0.0", - "fs-readfile-promise": "^2.0.1", - "fs-writefile-promise": "^1.0.3", - "har-validator": "^5.0.0", - "pinkie-promise": "^2.0.0", - "stringify-object": "^3.3.0" - }, - "dependencies": { - "form-data": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", - "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - } - } - }, - "iconv-lite": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" - }, - "ignore": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", - "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==", - "dev": true - }, - "ignore-by-default": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", - "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", - "dev": true - }, - "image-size": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.3.5.tgz", - "integrity": "sha1-gyQOqy+1sAsEqrjHSwRx6cunrYw=", - "dev": true - }, - "import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", - "dev": true - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "in-publish": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz", - "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==", - "dev": true - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true - }, - "inquirer": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", - "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.15", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.5.3", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, - "ipaddr.js": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz", - "integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A=" - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "requires": { - "ci-info": "^2.0.0" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-installed-globally": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz", - "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==", - "dev": true, - "requires": { - "global-dirs": "^2.0.1", - "is-path-inside": "^3.0.1" - } - }, - "is-npm": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz", - "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true - }, - "is-path-inside": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", - "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==", - "dev": true - }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" - }, - "is-yarn-global": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", - "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "jgexml": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/jgexml/-/jgexml-0.4.3.tgz", - "integrity": "sha512-N4doRtHFobW+prTgh32GRIRIflJIQrzf/ll4ePsg1wnonyhiBb29zeyVQ5MkwZDYPUbLuEAyVSx5XikPECXU9g==", - "dev": true - }, - "js-base64": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.2.tgz", - "integrity": "sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ==", - "dev": true - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", - "dev": true - }, - "json-pointer": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/json-pointer/-/json-pointer-0.6.0.tgz", - "integrity": "sha1-jlAFUKaqxUZKRzN32leqbMIoKNc=", - "dev": true, - "requires": { - "foreach": "^2.0.4" - } - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "json-to-ast": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/json-to-ast/-/json-to-ast-2.1.0.tgz", - "integrity": "sha512-W9Lq347r8tA1DfMvAGn9QNcgYm4Wm7Yc+k8e6vezpMnRT+NHbtlxgNBXRVjXe9YM6eTn6+p/MKOlV/aABJcSnQ==", - "dev": true, - "requires": { - "code-error-fragment": "0.0.230", - "grapheme-splitter": "^1.0.4" - } - }, - "jsonpointer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.1.0.tgz", - "integrity": "sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==", - "dev": true - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "dev": true, - "requires": { - "json-buffer": "3.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - }, - "latest-version": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", - "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", - "dev": true, - "requires": { - "package-json": "^6.3.0" - } - }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" - }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "linkify-it": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", - "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", - "requires": { - "uc.micro": "^1.0.1" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" - }, - "lodash.escaperegexp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", - "integrity": "sha1-ZHYsSGGAglGKw99Mz11YhtriA0c=" - }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - } - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "dev": true, - "requires": { - "p-defer": "^1.0.0" - } - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - }, - "map-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", - "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", - "dev": true - }, - "markdown-it": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz", - "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==", - "requires": { - "argparse": "^1.0.7", - "entities": "~2.0.0", - "linkify-it": "^2.0.0", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - }, - "dependencies": { - "entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", - "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==" - } - } - }, - "markdown-it-attrs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/markdown-it-attrs/-/markdown-it-attrs-1.2.1.tgz", - "integrity": "sha512-EYYKLF9RvQJx1Etsb6EsBGWL7qNQLpg9BRej5f06+UdX75T5gvldEn7ts6bkLIQqugE15SGn4lw1CXDS1A+XUA==" - }, - "markdown-it-emoji": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-1.4.0.tgz", - "integrity": "sha1-m+4OmpkKljupbfaYDE/dsF37Tcw=" - }, - "markdown-it-lazy-headers": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/markdown-it-lazy-headers/-/markdown-it-lazy-headers-0.1.3.tgz", - "integrity": "sha1-5w3U2nnIepzoLKRwG4t8Di1yKXs=" - }, - "mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - }, - "mem": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", - "dev": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" - } - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "merge2": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", - "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - }, - "mime-db": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.29.0.tgz", - "integrity": "sha1-SNJtI1WJZRcErFkWygYAGRQmaHg=" - }, - "mime-types": { - "version": "2.1.16", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.16.tgz", - "integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=", - "requires": { - "mime-db": "~1.29.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "mkdirp": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz", - "integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "mkdirp-promise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-1.1.0.tgz", - "integrity": "sha1-LISJPtZ24NmPsY+5piEv0bK5qBk=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "nan": { - "version": "2.14.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", - "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", - "dev": true - }, - "node-fetch-h2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/node-fetch-h2/-/node-fetch-h2-2.3.0.tgz", - "integrity": "sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==", - "dev": true, - "requires": { - "http2-client": "^1.2.5" - } - }, - "node-gyp": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", - "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", - "dev": true, - "requires": { - "fstream": "^1.0.0", - "glob": "^7.0.3", - "graceful-fs": "^4.1.2", - "mkdirp": "^0.5.0", - "nopt": "2 || 3", - "npmlog": "0 || 1 || 2 || 3 || 4", - "osenv": "0", - "request": "^2.87.0", - "rimraf": "2", - "semver": "~5.3.0", - "tar": "^2.0.0", - "which": "1" - }, - "dependencies": { - "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true - } - } - }, - "node-readfiles": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/node-readfiles/-/node-readfiles-0.2.0.tgz", - "integrity": "sha1-271K8SE04uY1wkXvk//Pb2BnOl0=", - "dev": true, - "requires": { - "es6-promise": "^3.2.1" - } - }, - "node-sass": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz", - "integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==", - "dev": true, - "requires": { - "async-foreach": "^0.1.3", - "chalk": "^1.1.1", - "cross-spawn": "^3.0.0", - "gaze": "^1.0.0", - "get-stdin": "^4.0.1", - "glob": "^7.0.3", - "in-publish": "^2.0.0", - "lodash": "^4.17.15", - "meow": "^3.7.0", - "mkdirp": "^0.5.1", - "nan": "^2.13.2", - "node-gyp": "^3.8.0", - "npmlog": "^4.0.0", - "request": "^2.88.0", - "sass-graph": "2.2.5", - "stdout-stream": "^1.4.0", - "true-case-path": "^1.0.2" - } - }, - "node-sass-asset-functions": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/node-sass-asset-functions/-/node-sass-asset-functions-0.1.0.tgz", - "integrity": "sha1-MnMjxwgEnqpgCYZJyd+hnQ+8Uhk=", - "dev": true, - "requires": { - "image-size": "^0.3.5", - "mime": "^1.3.4", - "node-sass": ">= 3.2 < 5" - } - }, - "nodemon": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.4.tgz", - "integrity": "sha512-Ltced+hIfTmaS28Zjv1BM552oQ3dbwPqI4+zI0SLgq+wpJhSyqgYude/aZa/3i31VCQWMfXJVxvu86abcam3uQ==", - "dev": true, - "requires": { - "chokidar": "^3.2.2", - "debug": "^3.2.6", - "ignore-by-default": "^1.0.1", - "minimatch": "^3.0.4", - "pstree.remy": "^1.1.7", - "semver": "^5.7.1", - "supports-color": "^5.5.0", - "touch": "^3.1.0", - "undefsafe": "^2.0.2", - "update-notifier": "^4.0.0" - }, - "dependencies": { - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "chokidar": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.1.tgz", - "integrity": "sha512-TQTJyr2stihpC4Sya9hs2Xh+O2wf+igjL36Y75xx2WdHuiICcn/XJza46Jwt0eT5hVpQOzo3FpY3cj3RVYLX0g==", - "dev": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", - "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - }, - "dependencies": { - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "normalize-url": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", - "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", - "dev": true - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "nth-check": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", - "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", - "requires": { - "boolbase": "~1.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "oas-kit-common": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/oas-kit-common/-/oas-kit-common-1.0.8.tgz", - "integrity": "sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==", - "dev": true, - "requires": { - "fast-safe-stringify": "^2.0.7" - } - }, - "oas-linter": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/oas-linter/-/oas-linter-3.1.3.tgz", - "integrity": "sha512-jFWBHjSoqODGo7cKA/VWqqWSLbHNtnyCEpa2nMMS64SzCUbZDk63Oe7LqQZ2qJA0K2VRreYLt6cVkYy6MqNRDg==", - "dev": true, - "requires": { - "should": "^13.2.1", - "yaml": "^1.8.3" - } - }, - "oas-resolver": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/oas-resolver/-/oas-resolver-2.4.1.tgz", - "integrity": "sha512-rRmUv9mDTKPtsB2OGaoNMK4BC1Q/pL+tWRPKRjXJEBoLmfegJhecOZPBtIR0gKEVQb9iAA0MqulkgY43EiCFDg==", - "dev": true, - "requires": { - "node-fetch-h2": "^2.3.0", - "oas-kit-common": "^1.0.8", - "reftools": "^1.1.3", - "yaml": "^1.8.3", - "yargs": "^15.3.1" - } - }, - "oas-schema-walker": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/oas-schema-walker/-/oas-schema-walker-1.1.4.tgz", - "integrity": "sha512-foVDDS0RJYMfhQEDh/WdBuCzydTcsCnGo9EeD8SpWq1uW10JXiz+8SfYVDA7LO87kjmlnTRZle/2gr5qxabaEA==", - "dev": true - }, - "oas-validator": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/oas-validator/-/oas-validator-4.0.6.tgz", - "integrity": "sha512-WNKjQCw6UnbHRQM00stje0sn//OSzrhGWBD5s4p9dv3t8r3+CZcJgc/BcIPSM2IKaR2iOZWJjyfGGYzi6Hd5lQ==", - "dev": true, - "requires": { - "ajv": "^5.5.2", - "better-ajv-errors": "^0.6.7", - "call-me-maybe": "^1.0.1", - "oas-kit-common": "^1.0.8", - "oas-linter": "^3.1.3", - "oas-resolver": "^2.4.1", - "oas-schema-walker": "^1.1.4", - "reftools": "^1.1.3", - "should": "^13.2.1", - "yaml": "^1.8.3" - }, - "dependencies": { - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "dev": true, - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true - } - } - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", - "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "openapi-sampler": { - "version": "1.0.0-beta.16", - "resolved": "https://registry.npmjs.org/openapi-sampler/-/openapi-sampler-1.0.0-beta.16.tgz", - "integrity": "sha512-05+GvwMagTY7GxoDQoWJfmAUFlxfebciiEzqKmu4iq6+MqBEn62AMUkn0CTxyKhnUGIaR2KXjTeslxIeJwVIOw==", - "dev": true, - "requires": { - "json-pointer": "^0.6.0" - } - }, - "opn": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.2.0.tgz", - "integrity": "sha512-Jd/GpzPyHF4P2/aNOVmS3lfMSWV9J7cOhCG1s08XCEAsPkB7lp6ddiU0J7XzyQRDUh8BqJ7PchfINjR8jyofRQ==", - "requires": { - "is-wsl": "^1.1.0" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", - "dev": true - }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", - "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", - "dev": true - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "package-json": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", - "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", - "dev": true, - "requires": { - "got": "^9.6.0", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^6.2.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "parse5": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.2.tgz", - "integrity": "sha1-Be/1fw70V3+xRKefi5qWemzERRA=", - "requires": { - "@types/node": "^6.0.46" - } - }, - "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pause-stream": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", - "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", - "dev": true, - "requires": { - "through": "~2.3" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "picomatch": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz", - "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==" - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "proxy-addr": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz", - "integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=", - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.5.2" - } - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "pstree.remy": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", - "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", - "dev": true - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "pupa": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.0.1.tgz", - "integrity": "sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==", - "dev": true, - "requires": { - "escape-goat": "^2.0.0" - } - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" - }, - "raw-body": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", - "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", - "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.2", - "iconv-lite": "0.4.19", - "unpipe": "1.0.0" - } - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - } - } - }, - "read-input": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/read-input/-/read-input-0.3.1.tgz", - "integrity": "sha1-WzFpMIATRk/9puyS5Y0tPOqUjfE=", - "dev": true - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "readable-stream": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.11.tgz", - "integrity": "sha512-h+8+r3MKEhkiVrwdKL8aWs1oc1VvBu33ueshOvS26RsZQ3Amhx/oO3TKe4lApSV9ueY6as8EAh7mtuFjdlhg9Q==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "safe-buffer": "~5.0.1", - "string_decoder": "~1.0.0", - "util-deprecate": "~1.0.1" - } - }, - "readdirp": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.1.1.tgz", - "integrity": "sha512-XXdSXZrQuvqoETj50+JAitxz1UPdt5dupjT6T5nVB+WvjMv2XKYj+s7hPeAVCXvmJrL36O4YYyWlIC3an2ePiQ==", - "requires": { - "picomatch": "^2.0.4" - } - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - } - }, - "reftools": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/reftools/-/reftools-1.1.3.tgz", - "integrity": "sha512-JTlhKmSzqE/gt5Z5RX25yZDq67MlRRtTz1gLy/NY+wPDx1e1vEJsv1PoNrpKZBwitcEMXs2k7pzmbmraP1ZMAQ==", - "dev": true - }, - "regenerator-runtime": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" - }, - "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true - }, - "registry-auth-token": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.0.tgz", - "integrity": "sha512-P+lWzPrsgfN+UEpDS3U8AQKg/UjZX6mQSJueZj3EK+vNESoqBSpBUD3gmu4sF9lOsjXWjF11dQKUqemf3veq1w==", - "dev": true, - "requires": { - "rc": "^1.2.8" - } - }, - "registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", - "dev": true, - "requires": { - "rc": "^1.2.8" - } - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", - "dev": true - }, - "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", - "dev": true, - "requires": { - "mime-db": "1.44.0" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "dev": true, - "requires": { - "lowercase-keys": "^1.0.0" - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rewire": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/rewire/-/rewire-5.0.0.tgz", - "integrity": "sha512-1zfitNyp9RH5UDyGGLe9/1N0bMlPQ0WrX0Tmg11kMHBpqwPJI4gfPpP7YngFyLbFmhXh19SToAG0sKKEFcOIJA==", - "dev": true, - "requires": { - "eslint": "^6.8.0" - } - }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "requires": { - "align-text": "^0.1.1" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true - }, - "run-parallel": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", - "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==", - "dev": true - }, - "rxjs": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", - "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "safe-buffer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", - "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "sanitize-html": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.15.0.tgz", - "integrity": "sha512-1jWLToWx8ZV53Z1Jg+2fHl8dNFsxvQt2Cmrk4o/z1+MUdB5EXSU0QVuzlGGhfp7cQrYbEEfMO/TUWHfkBUqujQ==", - "requires": { - "htmlparser2": "^3.9.0", - "lodash.escaperegexp": "^4.1.2", - "srcset": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "sass-graph": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", - "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", - "dev": true, - "requires": { - "glob": "^7.0.0", - "lodash": "^4.0.0", - "scss-tokenizer": "^0.2.3", - "yargs": "^13.3.2" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "scss-tokenizer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", - "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", - "dev": true, - "requires": { - "js-base64": "^2.1.8", - "source-map": "^0.4.2" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", - "dev": true, - "requires": { - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "send": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.1.tgz", - "integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==", - "requires": { - "debug": "2.6.9", - "depd": "~1.1.1", - "destroy": "~1.0.4", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.6.2", - "mime": "1.4.1", - "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.3.1" - }, - "dependencies": { - "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" - } - } - }, - "serve-static": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz", - "integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==", - "requires": { - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "parseurl": "~1.3.2", - "send": "0.16.1" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "should": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", - "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==", - "dev": true, - "requires": { - "should-equal": "^2.0.0", - "should-format": "^3.0.3", - "should-type": "^1.4.0", - "should-type-adaptors": "^1.0.1", - "should-util": "^1.0.0" - } - }, - "should-equal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz", - "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==", - "dev": true, - "requires": { - "should-type": "^1.4.0" - } - }, - "should-format": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", - "integrity": "sha1-m/yPdPo5IFxT04w01xcwPidxJPE=", - "dev": true, - "requires": { - "should-type": "^1.3.0", - "should-type-adaptors": "^1.0.1" - } - }, - "should-type": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", - "integrity": "sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM=", - "dev": true - }, - "should-type-adaptors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", - "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", - "dev": true, - "requires": { - "should-type": "^1.3.0", - "should-util": "^1.0.0" - } - }, - "should-util": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz", - "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==", - "dev": true - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - } - } - }, - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": ">=0.0.4" - } - }, - "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", - "dev": true - }, - "split": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", - "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", - "dev": true, - "requires": { - "through": "2" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "srcset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/srcset/-/srcset-1.0.0.tgz", - "integrity": "sha1-pWad4StC87HV6D7QPHEEb8SPQe8=", - "requires": { - "array-uniq": "^1.0.2", - "number-is-nan": "^1.0.0" - } - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" - }, - "stdout-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", - "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", - "dev": true, - "requires": { - "readable-stream": "^2.0.1" - } - }, - "stream-combiner": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", - "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", - "dev": true, - "requires": { - "duplexer": "~0.1.1" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.2.tgz", - "integrity": "sha1-sp4fThEl+pehA4K4pTNze3SR4Xk=", - "requires": { - "safe-buffer": "~5.0.1" - } - }, - "stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "dev": true, - "requires": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, - "dependencies": { - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "dev": true - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1" - } - }, - "strip-json-comments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz", - "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "swagger2openapi": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/swagger2openapi/-/swagger2openapi-6.2.1.tgz", - "integrity": "sha512-CY3miXK2YZ0rjvGkVBzJps8ohDR7zGmbFhCVynAGlxIKbLvBuD99aS2ikZcvSo09uVOKcb5FspmvF/PKWdYV1Q==", - "dev": true, - "requires": { - "better-ajv-errors": "^0.6.1", - "call-me-maybe": "^1.0.1", - "node-fetch-h2": "^2.3.0", - "node-readfiles": "^0.2.0", - "oas-kit-common": "^1.0.8", - "oas-resolver": "^2.4.1", - "oas-schema-walker": "^1.1.4", - "oas-validator": "^4.0.6", - "reftools": "^1.1.3", - "yaml": "^1.8.3", - "yargs": "^15.3.1" - } - }, - "syntax-error": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", - "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", - "dev": true, - "requires": { - "acorn-node": "^1.2.0" - } - }, - "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "tar": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", - "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", - "dev": true, - "requires": { - "block-stream": "*", - "fstream": "^1.0.12", - "inherits": "2" - } - }, - "term-size": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.0.tgz", - "integrity": "sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==", - "dev": true - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "tiny-opts-parser": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tiny-opts-parser/-/tiny-opts-parser-0.0.3.tgz", - "integrity": "sha1-1sc6f65FiKa7Sh+mgbxmk3a+RRU=" - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "touch": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", - "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", - "dev": true, - "requires": { - "nopt": "~1.0.10" - }, - "dependencies": { - "nopt": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", - "dev": true, - "requires": { - "abbrev": "1" - } - } - } - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true - }, - "true-case-path": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", - "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", - "dev": true, - "requires": { - "glob": "^7.1.2" - } - }, - "tslib": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", - "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==", - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - }, - "type-is": { - "version": "1.6.15", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", - "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.15" - } - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" - }, - "dependencies": { - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "wordwrap": "0.0.2" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" - }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", - "window-size": "0.1.0" - } - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "optional": true - }, - "undefsafe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.3.tgz", - "integrity": "sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==", - "dev": true, - "requires": { - "debug": "^2.2.0" - } - }, - "unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dev": true, - "requires": { - "crypto-random-string": "^2.0.0" - } - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "update-notifier": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.0.tgz", - "integrity": "sha512-w3doE1qtI0/ZmgeoDoARmI5fjDoT93IfKgEGqm26dGUOh8oNpaSTsGNdYRN/SjOuo10jcJGwkEL3mroKzktkew==", - "dev": true, - "requires": { - "boxen": "^4.2.0", - "chalk": "^3.0.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.3.1", - "is-npm": "^4.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.0.0", - "pupa": "^2.0.1", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "urijs": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.2.tgz", - "integrity": "sha512-s/UIq9ap4JPZ7H1EB5ULo/aOUbWqfDi7FKzMC2Nz+0Si8GiT1rIEaprt8hy3Vy2Ex2aJPpOQv4P4DuOZ+K1c6w==", - "dev": true - }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dev": true, - "requires": { - "prepend-http": "^2.0.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - }, - "v8-compile-cache": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", - "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "widdershins": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/widdershins/-/widdershins-4.0.1.tgz", - "integrity": "sha512-y7TGynno+J/EqRPtUrpEuEjJUc1N2ajfP7R4sHU7Qg8I/VFHGavBxL7ZTeOAVmd1fhmY2wJIbpX2LMDWf37vVA==", - "dev": true, - "requires": { - "dot": "^1.1.3", - "fast-safe-stringify": "^2.0.7", - "highlightjs": "^9.12.0", - "httpsnippet": "^1.19.0", - "jgexml": "^0.4.3", - "markdown-it": "^10.0.0", - "markdown-it-emoji": "^1.4.0", - "node-fetch": "^2.0.0", - "oas-resolver": "^2.3.1", - "oas-schema-walker": "^1.1.3", - "openapi-sampler": "^1.0.0-beta.15", - "reftools": "^1.1.0", - "swagger2openapi": "^6.0.1", - "urijs": "^1.19.0", - "yaml": "^1.8.3", - "yargs": "^12.0.5" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" - } - }, - "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "dev": true, - "requires": { - "string-width": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "requires": { - "mkdirp": "^0.5.1" - } - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", - "dev": true - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "yaml": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz", - "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==", - "requires": { - "@babel/runtime": "^7.9.2" - } - }, - "yargs": { - "version": "15.3.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", - "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true - } - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - } - } - } - } -} diff --git a/docs/package.json b/docs/package.json deleted file mode 100644 index fc00d202..00000000 --- a/docs/package.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "name": "shins", - "version": "2.5.0", - "description": "Shins Is Not Slate", - "main": "index.js", - "scripts": { - "lint": "npx eslint *.js", - "lintejs": "npx ejslint source/layouts/layout.ejs", - "lintapp": "npx eslint source/javascripts/app/*.js", - "test": "echo \"Error: no test specified\" && exit 1", - "update": "node shins --unsafe", - "build": "node shins", - "start": "node arapaho -l", - "serve": "node arapaho", - "widdershins": "npx widdershins --summary -o source/index.html.md api.yml", - "dev:watch": "nodemon", - "dev": "npm run widdershins && npm run build && npm run serve" - }, - "bin": { - "shins": "./shins.js" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/Mermade/shins.git" - }, - "keywords": ["shins", "slate", "swagger", "openapi", "api", "documentation", "docs"], - "author": "Mike Ralphson", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/Mermade/shins/issues" - }, - "homepage": "https://github.com/Mermade/shins#readme", - "dependencies": { - "call-me-maybe": "^1.0.1", - "cheerio": "^1.0.0-rc.2", - "chokidar": "^3.0.2", - "compression": "^1.6.2", - "ejs": "^2.5.1", - "express": "^4.15.5", - "highlight.js": "^10.0.2", - "markdown-it": "^10.0.0", - "markdown-it-attrs": "^1.2.1", - "markdown-it-emoji": "^1.4.0", - "markdown-it-lazy-headers": "^0.1.3", - "opn": "^5.2.0", - "sanitize-html": "^1.15.0", - "tiny-opts-parser": "0.0.3", - "uglify-js": "^2.7.4", - "yaml": "^1.9.2" - }, - "devDependencies": { - "ejs-lint": "^1.1.0", - "node-sass": "^4.14.1", - "node-sass-asset-functions": "^0.1.0", - "nodemon": "^2.0.4", - "widdershins": "^4.0.1" - }, - "nodemonConfig": { - "exec": "npm run dev", - "watch": ["api.yml"] - } -} diff --git a/docs/portal.html b/docs/portal.html deleted file mode 100644 index ac3475be..00000000 --- a/docs/portal.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - - Shins Portal Example - - - - - - - - - - - - - - - - - - - - - - - - - NAV - Navigation - - -
    - - - - -
      - - - - - -
      -
      -
      -
      -

      Shins Portal Example

      -
      Our APIs return responses in:
      -
      -
      {
      -  "json": "format"
      -}
      -
      -
      ... and
      -
      -
      <?xml version="1.0">
      -<xml>
      -  <format>...</format>
      -</xml>
      -
      -

      This is a simple example of a 'portal' entry point to multiple pages generated by Shins.

      -

      The source is plain markdown

      -
        -
      • Simply construct your TOC using markdown headings and links
      • -
      -

      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse at mi vulputate, venenatis mauris in, ullamcorper tortor. Aliquam erat volutpat. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Curabitur eleifend enim a leo luctus fermentum. Vivamus vel ultrices nisl, et fermentum nisi. Etiam pharetra est eget justo venenatis, egestas posuere est malesuada. Aenean viverra bibendum magna, quis ultrices libero eleifend ac. Donec placerat venenatis nisl sed fermentum. In sollicitudin libero non dignissim porta. Phasellus nulla augue, malesuada vel cursus id, pellentesque venenatis est. Nullam tincidunt imperdiet tellus, non feugiat mauris cursus auctor. Mauris a nulla nec mauris accumsan faucibus vel id lectus. Mauris feugiat et justo eget efficitur. Donec congue dui et porta interdum. Ut a ante a lectus aliquet porttitor. Nam ullamcorper vel ex et feugiat.

      -

      OpenAPI Documentation

      - -

      AsyncAPI Documentation

      - -

      Semoasa Documentation

      - -

      APIs.guru OpenAPI Extensions

      - - -
      -
      - -
      - -
      - -
      -
      - - diff --git a/docs/pub/css/darkula.css b/docs/pub/css/darkula.css deleted file mode 100644 index 1c6853b4..00000000 --- a/docs/pub/css/darkula.css +++ /dev/null @@ -1,152 +0,0 @@ -/* - -Darkula color scheme from the JetBrains family of IDEs - -*/ - - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #2b2b2b; - -webkit-text-size-adjust: none; -} - -.hljs, -.hljs-tag, -.hljs-title, -.css .hljs-rule, -.css .hljs-value, -.aspectj .hljs-function, -.css .hljs-function .hljs-preprocessor, -.hljs-pragma { - color: #bababa; -} - -.hljs-strongemphasis, -.hljs-strong, -.hljs-emphasis { - color: #a8a8a2; -} - -.hljs-bullet, -.hljs-blockquote, -.hljs-horizontal_rule, -.hljs-number, -.hljs-regexp, -.alias .hljs-keyword, -.hljs-literal, -.hljs-hexcolor { - color: #6896ba; -} - -.hljs-tag .hljs-value, -.hljs-code, -.css .hljs-class, -.hljs-class .hljs-title:last-child { - color: #a6e22e; -} - -.hljs-link_url { - font-size: 80%; -} - -.hljs-emphasis, -.hljs-strongemphasis, -.hljs-class .hljs-title:last-child, -.hljs-typename { - font-style: italic; -} - -.hljs-keyword, -.ruby .hljs-class .hljs-keyword:first-child, -.ruby .hljs-function .hljs-keyword, -.hljs-function, -.hljs-change, -.hljs-winutils, -.hljs-flow, -.nginx .hljs-title, -.tex .hljs-special, -.hljs-header, -.hljs-attribute, -.hljs-symbol, -.hljs-symbol .hljs-string, -.hljs-tag .hljs-title, -.hljs-value, -.alias .hljs-keyword:first-child, -.css .hljs-tag, -.css .unit, -.css .hljs-important { - color: #cb7832; -} - -.hljs-function .hljs-keyword, -.hljs-class .hljs-keyword:first-child, -.hljs-aspect .hljs-keyword:first-child, -.hljs-constant, -.hljs-typename, -.css .hljs-attribute { - color: #cb7832; -} - -.hljs-variable, -.hljs-params, -.hljs-class .hljs-title, -.hljs-aspect .hljs-title { - color: #b9b9b9; -} - -.hljs-string, -.css .hljs-id, -.hljs-subst, -.hljs-type, -.ruby .hljs-class .hljs-parent, -.hljs-built_in, -.django .hljs-template_tag, -.django .hljs-variable, -.smalltalk .hljs-class, -.django .hljs-filter .hljs-argument, -.smalltalk .hljs-localvars, -.smalltalk .hljs-array, -.hljs-attr_selector, -.hljs-pseudo, -.hljs-addition, -.hljs-stream, -.hljs-envvar, -.apache .hljs-tag, -.apache .hljs-cbracket, -.tex .hljs-command, -.hljs-prompt, -.hljs-link_label, -.hljs-link_url, -.hljs-name { - color: #e0c46c; -} - -.hljs-comment, -.hljs-annotation, -.hljs-pi, -.hljs-doctype, -.hljs-deletion, -.hljs-shebang, -.apache .hljs-sqbracket, -.tex .hljs-formula { - color: #7f7f7f; -} - -.hljs-decorator { - color: #bab429; -} - -.coffeescript .javascript, -.javascript .xml, -.tex .hljs-formula, -.xml .javascript, -.xml .vbscript, -.xml .css, -.xml .hljs-cdata, -.xml .php, -.php .xml { - opacity: 0.5; -} diff --git a/docs/pub/css/obsidian.css b/docs/pub/css/obsidian.css deleted file mode 100644 index 3886f83a..00000000 --- a/docs/pub/css/obsidian.css +++ /dev/null @@ -1,152 +0,0 @@ -/** - * Obsidian style - * ported by Alexander Marenin (http://github.com/ioncreature) - */ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #282b2e; - -webkit-text-size-adjust: none; -} - -.hljs-keyword, -.hljs-literal, -.hljs-change, -.hljs-winutils, -.hljs-flow, -.nginx .hljs-title, -.css .hljs-id, -.tex .hljs-special { - color: #93c763; -} - -.hljs-number { - color: #ffcd22; -} - -.hljs { - color: #e0e2e4; -} - -.css .hljs-tag, -.css .hljs-pseudo { - color: #d0d2b5; -} - -.hljs-attribute, -.hljs .hljs-constant { - color: #668bb0; -} - -.xml .hljs-attribute { - color: #b3b689; -} - -.xml .hljs-tag .hljs-value { - color: #e8e2b7; -} - -.hljs-code, -.hljs-class .hljs-title, -.hljs-header { - color: white; -} - -.hljs-class, -.hljs-hexcolor { - color: #93c763; -} - -.hljs-regexp { - color: #d39745; -} - -.hljs-at_rule, -.hljs-at_rule .hljs-keyword { - color: #a082bd; -} - -.hljs-doctype { - color: #557182; -} - -.hljs-link_url, -.hljs-tag, -.hljs-tag .hljs-title, -.hljs-bullet, -.hljs-subst, -.hljs-emphasis, -.hljs-type, -.hljs-preprocessor, -.hljs-pragma, -.ruby .hljs-class .hljs-parent, -.hljs-built_in, -.django .hljs-template_tag, -.django .hljs-variable, -.smalltalk .hljs-class, -.django .hljs-filter .hljs-argument, -.smalltalk .hljs-localvars, -.smalltalk .hljs-array, -.hljs-attr_selector, -.hljs-pseudo, -.hljs-addition, -.hljs-stream, -.hljs-envvar, -.apache .hljs-tag, -.apache .hljs-cbracket, -.tex .hljs-command, -.hljs-prompt, -.hljs-name { - color: #8cbbad; -} - -.hljs-string { - color: #ec7600; -} - -.hljs-comment, -.hljs-annotation, -.hljs-blockquote, -.hljs-horizontal_rule, -.hljs-decorator, -.hljs-pi, -.hljs-deletion, -.hljs-shebang, -.apache .hljs-sqbracket, -.tex .hljs-formula { - color: #818e96; -} - -.hljs-keyword, -.hljs-literal, -.css .hljs-id, -.hljs-doctag, -.hljs-title, -.hljs-header, -.hljs-type, -.vbscript .hljs-built_in, -.rsl .hljs-built_in, -.smalltalk .hljs-class, -.diff .hljs-header, -.hljs-chunk, -.hljs-winutils, -.bash .hljs-variable, -.apache .hljs-tag, -.tex .hljs-special, -.hljs-request, -.hljs-at_rule .hljs-keyword, -.hljs-status { - font-weight: bold; -} - -.coffeescript .javascript, -.javascript .xml, -.tex .hljs-formula, -.xml .javascript, -.xml .vbscript, -.xml .css, -.xml .hljs-cdata { - opacity: 0.5; -} diff --git a/docs/pub/css/print.css b/docs/pub/css/print.css deleted file mode 100644 index a30e0e1d..00000000 --- a/docs/pub/css/print.css +++ /dev/null @@ -1,495 +0,0 @@ -/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - */ -html { - font-family: sans-serif; - /* 1 */ - -ms-text-size-adjust: 100%; - /* 2 */ - -webkit-text-size-adjust: 100%; - /* 2 */ } - -/** - * Remove default margin. - */ -body { - margin: 0; } - -/* HTML5 display definitions - ========================================================================== */ -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; } - -/** - * 1. Correct `inline-block` display not defined in IE 8/9. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ -audio, -canvas, -progress, -video { - display: inline-block; - /* 1 */ - vertical-align: baseline; - /* 2 */ } - -/** - * Prevent modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ -audio:not([controls]) { - display: none; - height: 0; } - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ -[hidden], -template { - display: none; } - -/* Links - ========================================================================== */ -/** - * Remove the gray background color from active links in IE 10. - */ -a { - background-color: transparent; } - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ -a:active, -a:hover { - outline: 0; } - -/* Text-level semantics - ========================================================================== */ -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ -abbr[title] { - border-bottom: 1px dotted; } - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ -b, -strong { - font-weight: bold; } - -/** - * Address styling not present in Safari and Chrome. - */ -dfn { - font-style: italic; } - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ -h1 { - font-size: 2em; - margin: 0.67em 0; } - -/** - * Address styling not present in IE 8/9. - */ -mark { - background: #ff0; - color: #000; } - -/** - * Address inconsistent and variable font size in all browsers. - */ -small { - font-size: 80%; } - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; } - -sup { - top: -0.5em; } - -sub { - bottom: -0.25em; } - -/* Embedded content - ========================================================================== */ -/** - * Remove border when inside `a` element in IE 8/9/10. - */ -img { - border: 0; } - -/** - * Correct overflow not hidden in IE 9/10/11. - */ -svg:not(:root) { - overflow: hidden; } - -/* Grouping content - ========================================================================== */ -/** - * Address margin not present in IE 8/9 and Safari. - */ -figure { - margin: 1em 40px; } - -/** - * Address differences between Firefox and other browsers. - */ -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; } - -/** - * Contain overflow in all browsers. - */ -pre { - overflow: auto; } - -/** - * Address odd `em`-unit font size rendering in all browsers. - */ -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; } - -/* Forms - ========================================================================== */ -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - */ -button, -input, -optgroup, -select, -textarea { - color: inherit; - /* 1 */ - font: inherit; - /* 2 */ - margin: 0; - /* 3 */ } - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ -button { - overflow: visible; } - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ -button, -select { - text-transform: none; } - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - */ -button, -html input[type="button"], -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; - /* 2 */ - cursor: pointer; - /* 3 */ } - -/** - * Re-set default cursor for disabled elements. - */ -button[disabled], -html input[disabled] { - cursor: default; } - -/** - * Remove inner padding and border in Firefox 4+. - */ -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; } - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ -input { - line-height: normal; } - -/** - * It's recommended that you don't attempt to style these elements. - * Firefox's implementation doesn't respect box-sizing, padding, or width. - * - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - */ -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; - /* 1 */ - padding: 0; - /* 2 */ } - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; } - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ -input[type="search"] { - -webkit-appearance: textfield; - /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; - /* 2 */ - box-sizing: content-box; } - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; } - -/** - * Define consistent border, margin, and padding. - */ -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; } - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - */ -legend { - border: 0; - /* 1 */ - padding: 0; - /* 2 */ } - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ -textarea { - overflow: auto; } - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ -optgroup { - font-weight: bold; } - -/* Tables - ========================================================================== */ -/** - * Remove most spacing between table cells. - */ -table { - border-collapse: collapse; - border-spacing: 0; } - -td, -th { - padding: 0; } - -/* -Copyright 2008-2013 Concur Technologies, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); you may -not use this file except in compliance with the License. You may obtain -a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -License for the specific language governing permissions and limitations -under the License. -*/ -.content h1, .content h2, .content h3, .content h4, body { - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - font-size: 14px; } - -.content h1, .content h2, .content h3, .content h4 { - font-weight: bold; } - -.content pre, .content code { - font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif; - font-size: 12px; - line-height: 1.5; } - -.content pre, .content code { - word-break: break-all; - hyphens: auto; } - -@font-face { - font-family: 'slate'; - src: url('../../source/fonts/slate.eot?-syv14m'); - src: url('../../source/fonts/slate.eot?#iefix-syv14m') format("embedded-opentype"), url('../../source/fonts/slate.woff2?-syv14m') format("woff2"), url('../../source/fonts/slate.woff?-syv14m') format("woff"), url('../../source/fonts/slate.ttf?-syv14m') format("truetype"), url('../../source/fonts/slate.svg?-syv14m#slate') format("svg"); - font-weight: normal; - font-style: normal; } - -.content aside.warning:before, .content aside.notice:before, .content aside.success:before { - font-family: 'slate'; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; } - -.content aside.warning:before { - content: "\e600"; } - -.content aside.notice:before { - content: "\e602"; } - -.content aside.success:before { - content: "\e606"; } - -/* -Copyright 2008-2013 Concur Technologies, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); you may -not use this file except in compliance with the License. You may obtain -a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -License for the specific language governing permissions and limitations -under the License. -*/ -.tocify, .toc-footer, .lang-selector, .search, #nav-button { - display: none; } - -.tocify-wrapper > img { - margin: 0 auto; - display: block; } - -.content { - font-size: 12px; } - .content pre, .content code { - border: 1px solid #999; - border-radius: 5px; - font-size: 0.8em; } - .content pre code { - border: 0; } - .content pre { - padding: 1.3em; } - .content code { - padding: 0.2em; } - .content table { - border: 1px solid #999; } - .content table tr { - border-bottom: 1px solid #999; } - .content table td, .content table th { - padding: 0.7em; } - .content p { - line-height: 1.5; } - .content a { - text-decoration: none; - color: #000; } - .content h1 { - font-size: 2.5em; - padding-top: 0.5em; - padding-bottom: 0.5em; - margin-top: 1em; - margin-bottom: 21px; - border: 2px solid #ccc; - border-width: 2px 0; - text-align: center; } - .content h2 { - font-size: 1.8em; - margin-top: 2em; - border-top: 2px solid #ccc; - padding-top: 0.8em; } - .content h1 + h2, .content h1 + div + h2 { - border-top: none; - padding-top: 0; - margin-top: 0; } - .content h3, .content h4 { - font-size: 0.8em; - margin-top: 1.5em; - margin-bottom: 0.8em; - text-transform: uppercase; } - .content h5, .content h6 { - text-transform: uppercase; } - .content aside { - padding: 1em; - border: 1px solid #ccc; - border-radius: 5px; - margin-top: 1.5em; - margin-bottom: 1.5em; - line-height: 1.6; } - .content aside:before { - vertical-align: middle; - padding-right: 0.5em; - font-size: 14px; } diff --git a/docs/pub/css/print_overrides.css b/docs/pub/css/print_overrides.css deleted file mode 100644 index 6a1db44e..00000000 --- a/docs/pub/css/print_overrides.css +++ /dev/null @@ -1 +0,0 @@ -/* place your custom CSS overrides here */ diff --git a/docs/pub/css/screen.css b/docs/pub/css/screen.css deleted file mode 100644 index 1497c56f..00000000 --- a/docs/pub/css/screen.css +++ /dev/null @@ -1,797 +0,0 @@ -/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - */ -html { - font-family: sans-serif; - /* 1 */ - -ms-text-size-adjust: 100%; - /* 2 */ - -webkit-text-size-adjust: 100%; - /* 2 */ } - -/** - * Remove default margin. - */ -body { - margin: 0; } - -/* HTML5 display definitions - ========================================================================== */ -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; } - -/** - * 1. Correct `inline-block` display not defined in IE 8/9. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ -audio, -canvas, -progress, -video { - display: inline-block; - /* 1 */ - vertical-align: baseline; - /* 2 */ } - -/** - * Prevent modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ -audio:not([controls]) { - display: none; - height: 0; } - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ -[hidden], -template { - display: none; } - -/* Links - ========================================================================== */ -/** - * Remove the gray background color from active links in IE 10. - */ -a { - background-color: transparent; } - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ -a:active, -a:hover { - outline: 0; } - -/* Text-level semantics - ========================================================================== */ -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ -abbr[title] { - border-bottom: 1px dotted; } - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ -b, -strong { - font-weight: bold; } - -/** - * Address styling not present in Safari and Chrome. - */ -dfn { - font-style: italic; } - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ -h1 { - font-size: 2em; - margin: 0.67em 0; } - -/** - * Address styling not present in IE 8/9. - */ -mark { - background: #ff0; - color: #000; } - -/** - * Address inconsistent and variable font size in all browsers. - */ -small { - font-size: 80%; } - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; } - -sup { - top: -0.5em; } - -sub { - bottom: -0.25em; } - -/* Embedded content - ========================================================================== */ -/** - * Remove border when inside `a` element in IE 8/9/10. - */ -img { - border: 0; } - -/** - * Correct overflow not hidden in IE 9/10/11. - */ -svg:not(:root) { - overflow: hidden; } - -/* Grouping content - ========================================================================== */ -/** - * Address margin not present in IE 8/9 and Safari. - */ -figure { - margin: 1em 40px; } - -/** - * Address differences between Firefox and other browsers. - */ -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; } - -/** - * Contain overflow in all browsers. - */ -pre { - overflow: auto; } - -/** - * Address odd `em`-unit font size rendering in all browsers. - */ -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; } - -/* Forms - ========================================================================== */ -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - */ -button, -input, -optgroup, -select, -textarea { - color: inherit; - /* 1 */ - font: inherit; - /* 2 */ - margin: 0; - /* 3 */ } - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ -button { - overflow: visible; } - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ -button, -select { - text-transform: none; } - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - */ -button, -html input[type="button"], -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; - /* 2 */ - cursor: pointer; - /* 3 */ } - -/** - * Re-set default cursor for disabled elements. - */ -button[disabled], -html input[disabled] { - cursor: default; } - -/** - * Remove inner padding and border in Firefox 4+. - */ -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; } - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ -input { - line-height: normal; } - -/** - * It's recommended that you don't attempt to style these elements. - * Firefox's implementation doesn't respect box-sizing, padding, or width. - * - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - */ -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; - /* 1 */ - padding: 0; - /* 2 */ } - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; } - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ -input[type="search"] { - -webkit-appearance: textfield; - /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; - /* 2 */ - box-sizing: content-box; } - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; } - -/** - * Define consistent border, margin, and padding. - */ -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; } - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - */ -legend { - border: 0; - /* 1 */ - padding: 0; - /* 2 */ } - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ -textarea { - overflow: auto; } - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ -optgroup { - font-weight: bold; } - -/* Tables - ========================================================================== */ -/** - * Remove most spacing between table cells. - */ -table { - border-collapse: collapse; - border-spacing: 0; } - -td, -th { - padding: 0; } - -/* -Copyright 2008-2013 Concur Technologies, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); you may -not use this file except in compliance with the License. You may obtain -a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -License for the specific language governing permissions and limitations -under the License. -*/ -.content h1, .content h2, .content h3, .content h4, .content h5, .content h6, html, body { - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - font-size: 14px; } - -.content h1, .content h2, .content h3, .content h4, .content h5, .content h6 { - font-weight: bold; } - -.content code, .content pre { - font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif; - font-size: 12px; - line-height: 1.5; } - -.content code { - word-break: break-all; - hyphens: auto; } - -@font-face { - font-family: 'slate'; - src: url('../../source/fonts/slate.eot?-syv14m'); - src: url('../../source/fonts/slate.eot?#iefix-syv14m') format("embedded-opentype"), url('../../source/fonts/slate.woff2?-syv14m') format("woff2"), url('../../source/fonts/slate.woff?-syv14m') format("woff"), url('../../source/fonts/slate.ttf?-syv14m') format("truetype"), url('../../source/fonts/slate.svg?-syv14m#slate') format("svg"); - font-weight: normal; - font-style: normal; } - -.content aside.warning:before, .content aside.notice:before, .content aside.success:before, .toc-wrapper > .search:before { - font-family: 'slate'; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; } - -.content aside.warning:before { - content: "\e600"; } - -.content aside.notice:before { - content: "\e602"; } - -.content aside.success:before { - content: "\e606"; } - -.toc-wrapper > .search:before { - content: "\e607"; } - -/* -Copyright 2008-2013 Concur Technologies, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); you may -not use this file except in compliance with the License. You may obtain -a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -License for the specific language governing permissions and limitations -under the License. -*/ -html, body { - color: #333; - padding: 0; - margin: 0; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - background-color: #F3F7F9; - height: 100%; - -webkit-text-size-adjust: none; - /* Never autoresize text */ } - -#toc > ul > li > a > span { - float: right; - background-color: #2484FF; - border-radius: 40px; - width: 20px; } - -.toc-wrapper { - transition: left 0.3s ease-in-out; - overflow-y: auto; - overflow-x: hidden; - position: fixed; - z-index: 30; - top: 0; - left: 0; - bottom: 0; - width: 230px; - background-color: #2E3336; - font-size: 13px; - font-weight: bold; } - .toc-wrapper .lang-selector { - display: none; } - .toc-wrapper .lang-selector a { - padding-top: 0.5em; - padding-bottom: 0.5em; } - .toc-wrapper .logo { - display: block; - max-width: 100%; - margin-bottom: 0px; } - .toc-wrapper > .search { - position: relative; } - .toc-wrapper > .search input { - background: #2E3336; - border-width: 0 0 1px 0; - border-color: #666; - padding: 6px 0 6px 20px; - box-sizing: border-box; - margin: 10px 15px; - width: 200px; - outline: none; - color: #fff; - border-radius: 0; - /* ios has a default border radius */ } - .toc-wrapper > .search:before { - position: absolute; - top: 17px; - left: 15px; - color: #fff; } - .toc-wrapper .search-results { - margin-top: 0; - box-sizing: border-box; - height: 0; - overflow-y: auto; - overflow-x: hidden; - transition-property: height, margin; - transition-duration: 180ms; - transition-timing-function: ease-in-out; - background: #1E2224; } - .toc-wrapper .search-results.visible { - height: 30%; - margin-bottom: 1em; } - .toc-wrapper .search-results li { - margin: 1em 15px; - line-height: 1; } - .toc-wrapper .search-results a { - color: #fff; - text-decoration: none; } - .toc-wrapper .search-results a:hover { - text-decoration: underline; } - .toc-wrapper ul, .toc-wrapper li { - list-style: none; - margin: 0; - padding: 0; - line-height: 28px; } - .toc-wrapper li { - color: #fff; - transition-property: background; - transition-timing-function: linear; - transition-duration: 200ms; } - .toc-wrapper .toc-link.active { - background-color: #0F75D4; - color: #fff; } - .toc-wrapper .toc-link.active-parent { - background-color: #1E2224; - color: #fff; } - .toc-wrapper .toc-list-h2 { - display: none; - background-color: #1E2224; - font-weight: 500; } - .toc-wrapper .toc-h2 { - padding-left: 25px; - font-size: 12px; } - .toc-wrapper .toc-footer { - padding: 1em 0; - margin-top: 1em; - border-top: 1px dashed #666; } - .toc-wrapper .toc-footer li, .toc-wrapper .toc-footer a { - color: #fff; - text-decoration: none; } - .toc-wrapper .toc-footer a:hover { - text-decoration: underline; } - .toc-wrapper .toc-footer li { - font-size: 0.8em; - line-height: 1.7; - text-decoration: none; } - -.toc-link, .toc-footer li { - padding: 0 15px 0 15px; - display: block; - overflow-x: hidden; - white-space: nowrap; - text-overflow: ellipsis; - text-decoration: none; - color: #fff; - transition-property: background; - transition-timing-function: linear; - transition-duration: 130ms; } - -#nav-button { - padding: 0 1.5em 5em 0; - display: none; - position: fixed; - top: 0; - left: 0; - z-index: 100; - color: #000; - text-decoration: none; - font-weight: bold; - opacity: 0.7; - line-height: 16px; - transition: left 0.3s ease-in-out; } - #nav-button span { - display: block; - padding: 6px 6px 6px; - background-color: rgba(243, 247, 249, 0.7); - transform-origin: 0 0; - transform: rotate(-90deg) translate(-100%, 0); - border-radius: 0 0 0 5px; } - #nav-button img { - height: 16px; - vertical-align: bottom; } - #nav-button:hover { - opacity: 1; } - #nav-button.open { - left: 230px; } - -.page-wrapper { - margin-left: 230px; - position: relative; - z-index: 10; - background-color: #F3F7F9; - min-height: 100%; - padding-bottom: 1px; } - .page-wrapper .dark-box { - width: 50%; - background-color: #2E3336; - position: absolute; - right: 0; - top: 0; - bottom: 0; } - .page-wrapper .lang-selector { - position: fixed; - z-index: 50; - border-bottom: 5px solid #2E3336; } - -.lang-selector { - background-color: #1E2224; - width: 100%; - font-weight: bold; } - .lang-selector a { - display: block; - float: left; - color: #fff; - text-decoration: none; - padding: 0 10px; - line-height: 30px; - outline: 0; } - .lang-selector a:active, .lang-selector a:focus { - background-color: #111; - color: #fff; } - .lang-selector a.active { - background-color: #2E3336; - color: #fff; } - .lang-selector:after { - content: ''; - clear: both; - display: block; } - -.content { - -webkit-transform: translateZ(0); - position: relative; - z-index: 30; } - .content:after { - content: ''; - display: block; - clear: both; } - .content > h1, .content > h2, .content > h3, .content > h4, .content > h5, .content > h6, .content > p, .content > table, .content > ul, .content > ol, .content > aside, .content > dl { - margin-right: 50%; - padding: 0 28px; - box-sizing: border-box; - display: block; } - .content > ul, .content > ol { - padding-left: 43px; } - .content > h1, .content > h2, .content > div { - clear: both; } - .content h1 { - font-size: 25px; - padding-top: 0.5em; - padding-bottom: 0.5em; - margin-bottom: 21px; - margin-top: 2em; - border-top: 1px solid #ccc; - border-bottom: 1px solid #ccc; - background-color: #fdfdfd; } - .content h1:first-child, .content div:first-child + h1 { - border-top-width: 0; - margin-top: 0; } - .content h2 { - font-size: 19px; - margin-top: 4em; - margin-bottom: 0; - border-top: 1px solid #ccc; - padding-top: 1.2em; - padding-bottom: 1.2em; - background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0)); } - .content h1 + h2, .content h1 + div + h2 { - margin-top: -21px; - border-top: none; } - .content h3, .content h4, .content h5, .content h6 { - font-size: 15px; - margin-top: 2.5em; - margin-bottom: 0.8em; } - .content h4, .content h5, .content h6 { - font-size: 10px; } - .content hr { - margin: 2em 0; - border-top: 2px solid #2E3336; - border-bottom: 2px solid #F3F7F9; } - .content table { - margin-bottom: 1em; - overflow: auto; } - .content table th, .content table td { - text-align: left; - vertical-align: top; - line-height: 1.6; } - .content table th code, .content table td code { - white-space: nowrap; } - .content table th { - padding: 5px 10px; - border-bottom: 1px solid #ccc; - vertical-align: bottom; } - .content table td { - padding: 10px; } - .content table tr:last-child { - border-bottom: 1px solid #ccc; } - .content table tr:nth-child(odd) > td { - background-color: white; } - .content table tr:nth-child(even) > td { - background-color: #fbfcfd; } - .content dt { - font-weight: bold; } - .content dd { - margin-left: 15px; } - .content p, .content li, .content dt, .content dd { - line-height: 1.6; - margin-top: 0; } - .content img { - max-width: 100%; } - .content code { - background-color: rgba(0, 0, 0, 0.05); - padding: 3px; - border-radius: 3px; } - .content pre > code { - background-color: transparent; - padding: 0; } - .content aside { - padding-top: 1em; - padding-bottom: 1em; - margin-top: 1.5em; - margin-bottom: 1.5em; - background: #8fbcd4; - line-height: 1.6; } - .content aside.warning { - background-color: #c97a7e; } - .content aside.success { - background-color: #6ac174; } - .content aside:before { - vertical-align: middle; - padding-right: 0.5em; - font-size: 14px; } - .content .search-highlight { - padding: 2px; - margin: -3px; - border-radius: 4px; - border: 1px solid #F7E633; - background: linear-gradient(to top left, #F7E633 0%, #F1D32F 100%); } - -.content pre, .content blockquote { - background-color: #1E2224; - color: #fff; - margin: 0; - width: 50%; - float: right; - clear: right; - box-sizing: border-box; } - .content pre > p, .content blockquote > p { - margin: 0; } - .content pre a, .content blockquote a { - color: #fff; - text-decoration: none; - border-bottom: dashed 1px #ccc; } - -.content pre { - padding-top: 2em; - padding-bottom: 2em; - padding: 2em 28px; } - -.content blockquote > p { - background-color: #191D1F; - padding: 13px 2em; - color: #eee; } - -@media (max-width: 930px) { - .toc-wrapper { - left: -230px; } - .toc-wrapper.open { - left: 0; } - .page-wrapper { - margin-left: 0; } - #nav-button { - display: block; } - .toc-link { - padding-top: 0.3em; - padding-bottom: 0.3em; } } - -@media (max-width: 700px) { - .dark-box { - display: none; } - .content > h1, .content > h2, .content > h3, .content > h4, .content > h5, .content > h6, .content > p, .content > table, .content > ul, .content > ol, .content > aside, .content > dl { - margin-right: 0; } - .toc-wrapper .lang-selector { - display: block; } - .page-wrapper .lang-selector { - display: none; } - .content pre, .content blockquote { - width: auto; - float: none; } - .content > pre + h1, .content > blockquote + h1, .content > pre + h2, .content > blockquote + h2, .content > pre + h3, .content > blockquote + h3, .content > pre + h4, .content > blockquote + h4, .content > pre + h5, .content > blockquote + h5, .content > pre + h6, .content > blockquote + h6, .content > pre + p, .content > blockquote + p, .content > pre + table, .content > blockquote + table, .content > pre + ul, .content > blockquote + ul, .content > pre + ol, .content > blockquote + ol, .content > pre + aside, .content > blockquote + aside, .content > pre + dl, .content > blockquote + dl { - margin-top: 28px; } } - -.highlight .c, .highlight .cm, .highlight .c1, .highlight .cs { - color: #909090; } - -.highlight, .highlight .w { - background-color: #1E2224; } diff --git a/docs/pub/css/screen_overrides.css b/docs/pub/css/screen_overrides.css deleted file mode 100644 index 3c4c8f8d..00000000 --- a/docs/pub/css/screen_overrides.css +++ /dev/null @@ -1,43 +0,0 @@ -/* place your custom CSS overrides here */ - -div .highlight { - max-width: 95%; - max-height: 350px; - overflow-y: auto; - overflow-x: hidden; -} -.toc-list-h3 { - display: none; - background-color: #1E2224; -} -.toc-h3 { - padding-left: 35px; - font-size: 11px; -} -.toc-list-h4 { - display: none; - background-color: #1E2224; -} -.toc-h4 { - padding-left: 45px; - font-size: 10px; -} -.toc-list-h5 { - display: none; - background-color: #1E2224; -} -.toc-h5 { - padding-left: 55px; - font-size: 9px; -} -.toc-list-h6 { - display: none; - background-color: #1E2224; -} -.toc-h6 { - padding-left: 65px; - font-size: 8px; -} -.well { - background: rgba(0, 0, 0, 0.01); -} diff --git a/docs/pub/css/theme_overrides.css b/docs/pub/css/theme_overrides.css deleted file mode 100644 index 6a1db44e..00000000 --- a/docs/pub/css/theme_overrides.css +++ /dev/null @@ -1 +0,0 @@ -/* place your custom CSS overrides here */ diff --git a/docs/pub/css/tradegecko.min.css b/docs/pub/css/tradegecko.min.css deleted file mode 100644 index 895585cc..00000000 --- a/docs/pub/css/tradegecko.min.css +++ /dev/null @@ -1 +0,0 @@ -@import url("//fonts.googleapis.com/css?family=Open+Sans:400,600,700");@import url("//fonts.googleapis.com/css?family=Raleway:300,500,700");/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html,body,.content aside:before{font-size:14px}.tocify-wrapper,.tocify-wrapper .tocify-subheader .tocify-item>a,.faux-toc-link{font-size:13px;font-weight:600}.content code,.content pre,.tocify-wrapper .toc-footer li{font-size:12px}.private,.deprecated{font-size:10px;font-weight:600;text-transform:uppercase}html,body{font-family:"Open Sans", "Helvetica Neue", Helvetica, Arial, "Microsoft Yahei","微软雅黑", STXihei, "华文细黑", sans-serif}.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{font-family:"Raleway", "Helvetica Neue", Helvetica, Arial, "Microsoft Yahei","微软雅黑", STXihei, "华文细黑", sans-serif;font-weight:300}.content code,.content pre{font-family:Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif;line-height:1.5;color:#f6574d}.content code{word-break:break-all;word-break:break-word;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto}@font-face{font-family:'slate';src:url(/fonts/slate.eot?-syv14m);src:url(../fonts/slate.eot?#iefix-syv14m) format("embedded-opentype"),url(../fonts/slate.woff2?-syv14m) format("woff2"),url(../fonts/slate.woff?-syv14m) format("woff"),url(../fonts/slate.ttf?-syv14m) format("truetype"),url(../fonts/slate.svg?-syv14m#slate) format("svg");font-weight:normal;font-style:normal}.content aside.warning:before,.content aside.notice:before,.content aside.success:before,.tocify-wrapper>.search:before{font-family:'slate';speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1}.content aside.warning:before{content:"\e600"}.content aside.notice:before{content:"\e602"}.content aside.success:before{content:"\e606"}.tocify-wrapper>.search:before{content:"\e607"}html,body{color:#2d3033;padding:0;margin:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:rgba(244,244,245,0.5);height:100%;-webkit-text-size-adjust:none}#toc>ul>li>a>span{float:right;background-color:#2484FF;border-radius:40px;width:20px}.tocify-wrapper{transition:left 0.3s ease-in-out;overflow-y:auto;overflow-x:hidden;position:fixed;z-index:30;top:0;left:0;bottom:0;width:230px;background-color:#ffffff;padding:10px;box-sizing:border-box}.tocify-wrapper .lang-selector{display:none}.tocify-wrapper .lang-selector a{padding-top:0.5em;padding-bottom:0.5em}.tocify-wrapper>img{display:block;max-width:100%}.tocify-wrapper>.search{position:relative;margin:10px 0}.tocify-wrapper>.search input{background:rgba(244,244,245,0.5);padding:10px 0 10px 30px;box-sizing:border-box;width:210px;border:0;outline:none;border-radius:3px;color:#6c7279}.tocify-wrapper>.search:before{position:absolute;top:13px;left:10px;color:#6c7279}.tocify-wrapper img+.tocify{margin-top:20px}.tocify-wrapper .search-results{margin-top:0;box-sizing:border-box;height:0;overflow-y:auto;overflow-x:hidden;transition-property:height, margin;transition-duration:180ms;transition-timing-function:ease-in-out;background-color:rgba(244,244,245,0.5)}.tocify-wrapper .search-results.visible{height:30%;margin-bottom:1em}.tocify-wrapper .search-results li{margin:1em 10px}.tocify-wrapper .search-results a{color:#6c7279;text-decoration:none}.tocify-wrapper .search-results a:hover{text-decoration:none;color:#2d3033}.tocify-wrapper .tocify-item>a,.tocify-wrapper .toc-footer li{padding:10px 0;display:block;overflow-x:hidden}.tocify-wrapper ul,.tocify-wrapper li{list-style:none;margin:0;padding:0}.tocify-wrapper li{color:#6c7279;padding:0 0 0 10px;transition-property:background;transition-timing-function:linear;transition-duration:230ms}.tocify-wrapper li a{color:#6c7279;text-decoration:none}.tocify-wrapper .tocify-focus{background-color:rgba(244,244,245,0.5);color:#2d3033;border-radius:3px}.tocify-wrapper .tocify-subheader{display:none;background-color:#fff;font-weight:500}.tocify-wrapper .tocify-subheader .tocify-item>a{padding-left:20px}.tocify-wrapper .toc-footer{padding:10px;margin-top:1em;border-top:1px dotted #e2e6e8}.tocify-wrapper .toc-footer li,.tocify-wrapper .toc-footer a{color:#a4aeb3;text-decoration:none}.tocify-wrapper .toc-footer a:hover{text-decoration:none}.tocify-wrapper .toc-footer li{text-decoration:none}#nav-button{padding:0 1.5em 5em 0;display:none;position:fixed;top:0;left:0;z-index:100;color:#2d3033;text-decoration:none;font-weight:bold;line-height:16px;transition:left 0.3s ease-in-out}#nav-button span{display:block;margin-top:5px;padding:10px;background-color:#2d3033;border-radius:0 3px 3px 0}#nav-button img{height:16px;vertical-align:bottom}#nav-button.open{left:230px}.page-wrapper{margin-left:230px;position:relative;z-index:10;background-color:rgba(244,244,245,0.5);min-height:100%;padding-bottom:1px}.page-wrapper .dark-box{width:50%;background-color:#2b4c56;position:absolute;right:0;top:0;bottom:0}.page-wrapper .lang-selector{position:fixed;z-index:50;padding:1em 28px;background-color:#244048}.lang-selector{background-color:#244048;border-radius:3px;width:100%}.lang-selector a{display:block;float:left;color:#ffffff;text-decoration:none;padding:0 10px;line-height:30px;outline:0}.lang-selector a:active,.lang-selector a:focus{background-color:#244048;color:#ffffff;border-radius:3px}.lang-selector a.active{background-color:#f6574d;color:#ffffff;border-radius:3px;font-weight:600}.lang-selector:after{content:'';clear:both;display:block}.content{position:relative;z-index:30}.content:after{content:'';display:block;clear:both}.content>h1,.content>h2,.content>h3,.content>h4,.content>h5,.content>h6,.content>p,.content>table,.content>ul,.content>ol,.content>aside,.content>dl{margin-right:50%;padding:0 28px;box-sizing:border-box;display:block}.content>ul,.content>ol{padding-left:43px}.content>h1,.content>h2,.content>div{clear:both}.content h1{font-size:30px;padding-top:1em;padding-bottom:0.5em;margin-bottom:21px;margin-top:2em;border-top:1px solid #e2e6e8}.content h1:first-child,.content div:first-child+h1{border-top-width:0;margin-top:0}.content h2{font-size:24px;margin-bottom:0;padding-top:2em;padding-bottom:.5em}.content h1+h2,.content h1+div+h2{margin-top:-21px;border-top:none}.content h3,.content h4,.content h5,.content h6{font-size:18px;margin-top:2.5em;margin-bottom:0.8em}.content h4,.content h5,.content h6{font-size:10px}.content hr{margin:2em 0;border-top:2px solid #2b4c56;border-bottom:2px solid rgba(244,244,245,0.5)}.content table{margin-bottom:1em;overflow:auto}.content table th,.content table td{text-align:left;vertical-align:top;line-height:1.6}.content table th{padding:5px 10px;border-bottom:1px solid #e2e6e8;vertical-align:bottom}.content table td{padding:10px}.content table tr:last-child{border-bottom:1px solid #e2e6e8}.content table tr:nth-child(odd)>td{background-color:rgba(253,253,253,0.5)}.content table tr:nth-child(even)>td{background-color:rgba(243,243,244,0.5)}.content dt{font-weight:bold}.content dd{margin-left:15px}.content p,.content li,.content dt,.content dd{line-height:1.8;margin-top:0}.content a{font-weight:700;text-decoration:none;color:#70cf32;transition:linear 50ms}.content a:hover{color:#61b729}.content img{max-width:100%}.content code{background-color:rgba(45,48,51,0.05);padding:3px;border-radius:3px}.content pre>code{background-color:transparent;padding:0}.content aside{padding-top:1em;padding-bottom:1em;margin-top:1.5em;margin-bottom:1.5em;line-height:1.6}.content aside:before{vertical-align:middle;padding-right:0.2em}.content aside.notice:before{color:#a4aeb3}.content aside.warning:before{color:#f6574d}.content aside.success:before{color:#70cf32}.content .search-highlight{padding:2px;margin:-2px;border-radius:3px;background-color:rgba(123,227,189,0.3)}.content pre,.content blockquote{background-color:#244048;color:#ffffff;padding:2em 28px;margin:0;width:50%;float:right;clear:right;box-sizing:border-box}.content pre>p,.content blockquote>p{margin:0}.content pre a,.content blockquote a{color:#ffffff;text-decoration:none;border-bottom:1px solid #e2e6e8}.content blockquote>p{background-color:rgba(45,48,51,0.3);border-radius:3px;padding:13px;color:#f4f4f5}@media (max-width: 930px){.content{padding-top:28px}.tocify-wrapper{left:-230px}.tocify-wrapper.open{left:0}.page-wrapper{margin-left:0}#nav-button{display:block}}@media (max-width: 700px){.dark-box{display:none}.content>h1,.content>h2,.content>h3,.content>h4,.content>h5,.content>h6,.content>p,.content>table,.content>ul,.content>ol,.content>aside,.content>dl{margin-right:0}.tocify-wrapper .lang-selector{display:block;margin:10px 0}.page-wrapper .lang-selector{display:none}.content pre,.content blockquote{width:auto;float:none}.content>pre+h1,.content>blockquote+h1,.content>pre+h2,.content>blockquote+h2,.content>pre+h3,.content>blockquote+h3,.content>pre+h4,.content>blockquote+h4,.content>pre+h5,.content>blockquote+h5,.content>pre+h6,.content>blockquote+h6,.content>pre+p,.content>blockquote+p,.content>pre+table,.content>blockquote+table,.content>pre+ul,.content>blockquote+ul,.content>pre+ol,.content>blockquote+ol,.content>pre+aside,.content>blockquote+aside,.content>pre+dl,.content>blockquote+dl{margin-top:28px}}.private,.deprecated{color:#ffffff;background-color:#a4aeb3;border-radius:3px;padding:1px 5px;border-radius:3px}.highlight .c,.highlight .cm,.highlight .c1,.highlight .cs{color:#909090}.highlight,.highlight .w{background-color:#2d3033}.faux-toc-link{padding:10px;text-decoration:none;color:#2d3033} diff --git a/docs/pub/js/.gitignore b/docs/pub/js/.gitignore deleted file mode 100644 index cb4336c5..00000000 --- a/docs/pub/js/.gitignore +++ /dev/null @@ -1 +0,0 @@ -shins.js diff --git a/docs/pub/js/dummy.js b/docs/pub/js/dummy.js deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/semoasa.html b/docs/semoasa.html deleted file mode 100644 index e5605368..00000000 --- a/docs/semoasa.html +++ /dev/null @@ -1,236 +0,0 @@ - - - - - - - - - SEMOASA documentation - - - - - - - - - - - - - - - - - - - - - - - NAV - Navigation - - -
      - - -
      - - - json - - - - yaml - - -
      - - - -
        - - - - - -
        -
        -
        -
        -

        OpenAPI Extensions Documentation

        -
        -

        Scroll down for schema examples. Select a format for examples from the tabs above or the mobile navigation menu.

        -
        -

        This documentation was automatically generated from a v0.1.0 SEMOASA file.

        -

        com.amazon.aws

        -

        Provider: Amazon Web Services

        -

        x-amazon-apigateway-integration

        -
        -

        x-amazon-apigateway-integration example

        -
        -
        {
        -  "cacheKeyParameters": [
        -    "string"
        -  ],
        -  "cacheNamespace": "string",
        -  "credentials": "string",
        -  "contentHandling": "string",
        -  "httpMethod": "string"
        -}
        -
        -
        cacheKeyParameters:
        -  - string
        -cacheNamespace: string
        -credentials: string
        -contentHandling: string
        -httpMethod: string
        -
        -
        -

        Specifies the integration of the method with the backend.

        -

        Specifies details of the backend integration used for this method. -This extension is an extended property of the Swagger Operation object. -The result is an API Gateway integration object.

        -

        AWS documentation page in the Amazon API Gateway Developer Guide

        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        PropertyTypeRequiredDescription
        cacheNamespacestringfalseAn API-specific tag group of related cached parameters.
        credentialsstringfalseFor AWS IAM role-based credentials, specify the ARN of an appropriate IAM role. If unspecified, credentials will default to resource-based permissions that must be added manually to allow the API to access the resource. For more information, see Granting Permissions Using a Resource Policy.
        contentHandlingstringfalseRequest payload encoding conversion types. Valid values are 1) CONVERT_TO_TEXT, for converting a binary payload into a Base64-encoded string or converting a text payload into a utf-8-encoded string or passing through the text payload natively without modification, and 2) CONVERT_TO_BINARY, for converting a text payload into Base64-decoded blob or passing through a binary payload natively without modification.
        httpMethodstringfalseThe HTTP method used in the integration request. For Lambda function invocations, the value must be POST.
        cacheKeyParameters[string]falseA list of request parameters whose values are to be cached.
        -

        In the OpenAPI specification v2.0, this extension can be used as follows:

        - - - - - - - - - - - - - - -
        ObjectDescription
        OperationObjectDescribes a single API operation on a path.
        -

        In the OpenAPI specification v3.x, this extension can be used as follows:

        - - - - - - - - - - - - - - -
        ObjectDescription
        OperationObjectDescribes a single API operation on a path.
        - - -
        -
        - -
        - - - json - - - - yaml - - -
        - -
        -
        - - diff --git a/docs/shins.js b/docs/shins.js deleted file mode 100755 index 2cf083dd..00000000 --- a/docs/shins.js +++ /dev/null @@ -1,57 +0,0 @@ -#!/usr/bin/env node -// @ts-check - -'use strict'; - -const fs = require('fs'); -const path = require('path'); -const options = require('tiny-opts-parser')(process.argv); -const shins = require('./index.js'); - -if (options.customcss) options.customCss = options.customcss; // backwards compatibility - -var inputName = './source/index.html.md'; - -if (options._.length > 2) { - inputName = options._[2]; -} - -if (options.h) options.help = options.h; -if (options.a) options.attr = options.a; -if (options.l) options.layout = options.l; -if (options.o) options.output = options.o; -if (options.r) options.root = options.r; - -if (options.help) { - console.log('Usage: node shins [options] [input-markdown-filename]'); - console.log(); - console.log('-h,--help show help and exit'); - console.log('-a,--attr allow css attributes in markdown'); - console.log('--customcss include custom override css files'); - console.log('--fonturl url to fonts when --inline is set, defaults to github repo'); - console.log('--inline inline css and javascript resources'); - console.log('-l,--layout specify path to template file in .ejs format') - console.log('--logo specify path to custom logo file'); - console.log('--logo-url url to link to from logo image'); - console.log('--css specify path to additional css file') - console.log('--minify minify output html'); - console.log('-o,--output specify output html file'); - console.log('-r,--root specify root directory containing source and pub directories'); - console.log('--unsafe do not sanitise input markdown'); - console.log('--no-links do not automatically convert links in text to anchor tags'); - process.exit(0); -} - -var inputStr = fs.readFileSync(inputName,'utf8'); -options.source = inputName; -options.cli = true; - -shins.render(inputStr,options,function(err,str){ - if (err) { - console.log(err); - } - else { - str = str.split('\r').join(''); - fs.writeFileSync(options.output||path.join(options.root,'index.html'),str,'utf8'); - } -}); diff --git a/docs/source/apisguru.html.md b/docs/source/apisguru.html.md deleted file mode 100644 index 95b823ed..00000000 --- a/docs/source/apisguru.html.md +++ /dev/null @@ -1,923 +0,0 @@ ---- -title: Semoasa documentation -language_tabs: - - json - - yaml -toc_footers: [] -includes: [] -search: true -highlight_theme: darkula - ---- - -# OpenAPI Extensions Documentation - -> Scroll down for schema examples. Select a format for examples from the tabs above or the mobile navigation menu. - -This documentation was automatically generated from a v0.1.0 [Semoasa](https://github.com/RepreZen/SEMOASA) document. - -Semoasa is a machine-readable format for extensions to Swagger/OpenAPI 2.0 and 3.0 specifications. - - - - -# guru.apis - - - - -Provider: APIs.guru - - - - - -## x-apiClientRegistration -> x-apiClientRegistration example -```json -{ - "url": "https://developer.bbc.co.uk/user/register" -} -``` -```yaml -url: 'https://developer.bbc.co.uk/user/register' - -``` - - - - - -*A link to a sign-up page for the API.* - -A property of the info object, x-apiClientRegistration includes a URL-formatted property url containing the URL to the resource where developers can register to authenticate with the API. - - - - -APIs.guru OpenAPI Directory Wiki - - - - -|Property|Type|Required|Description -|---|---|---|---| -|url|string(uri-ref)|true|No description| - - - -**In the OpenAPI specification v2.0, this extension can be used as follows:** - - - - - -|Object|Description| -|---|---| -|InfoObject|The object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.| - - - - - - - - - - - -**In the OpenAPI specification v3.x, this extension can be used as follows:** - - - - - -|Object|Description| -|---|---| -|InfoObject|The object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.| - - - - - - - - - - - - -## x-apisguru-categories -> x-apisguru-categories example -```json -[ - "string" -] -``` -```yaml -- string - -``` - - - - - - - -A property of the info object, `x-apisguru-categories` is an array of valid values from the list of APIs.guru categories. - - - - -APIs.guru OpenAPI Directory Wiki - - - - -|Property|Type|Required|Description -|---|---|---|---| -|anonymous|[string]|false|No description| - - - -**In the OpenAPI specification v2.0, this extension can be used as follows:** - - - - - -|Object|Description| -|---|---| -|InfoObject|The object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.| - - - - - - - - - - - -**In the OpenAPI specification v3.x, this extension can be used as follows:** - - - - - -|Object|Description| -|---|---| -|InfoObject|The object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.| - - - - - - - - - - - - -## x-description-language -> x-description-language example -```json -"string" -``` -```yaml -string - -``` - - - - - - - -An ISO-639 two-character language code to identify the natural language used in descriptions, summaries and titles. This can be used as an input to translating these items. - - - - - - - -|Property|Type|Required|Description -|---|---|---|---| -|simple|string|false|No description| - - - -**In the OpenAPI specification v2.0, this extension can be used as follows:** - - - - - -|Object|Description| -|---|---| -|InfoObject|The object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.| - - - - - - - - - - - -**In the OpenAPI specification v3.x, this extension can be used as follows:** - - - - - -|Object|Description| -|---|---| -|InfoObject|The object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.| - - - - - - - - - - - - -## x-hasEquivalentPaths -> x-hasEquivalentPaths example -```json -true -``` -```yaml -true - -``` - - - - - - - -A property of the `root` object, `x-hasEquivalentPaths` indicates the source specification has multiple paths which map to the same OpenAPI path (possibly disambiguated with HTML fragment identifiers or differently named path parameters). - - - - - - - -|Property|Type|Required|Description -|---|---|---|---| -|simple|boolean|false|No description| - - - -**In the OpenAPI specification v2.0, this extension can be used as follows:** - - - - - -|Object|Description| -|---|---| -|SwaggerObject|Description not found| - - - - - - - - - - - -**In the OpenAPI specification v3.x, this extension can be used as follows:** - - - - - -|Object|Description| -|---|---| -|OpenAPIObject|Description not found| - - - - - - - - - - - - -## x-logo -> x-logo example -```json -{ - "url": "string", - "backgroundColor": "string" -} -``` -```yaml -url: string -backgroundColor: string - -``` - - - - - -*A logo for the API.* - -A property of the `info` object, the `x-logo` structure holds an absolute URL to the API logo and an optional background colour in HTML hex notation. - - - - - -APIs.guru OpenAPI Directory Wiki - - - - -|Property|Type|Required|Description -|---|---|---|---| -|url|string(uri-ref)|true|No description| -|backgroundColor|string|false|No description| - - - -**In the OpenAPI specification v2.0, this extension can be used as follows:** - - - - - -|Object|Description| -|---|---| -|InfoObject|The object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.| - - - - - - - - - - - -**In the OpenAPI specification v3.x, this extension can be used as follows:** - - - - - -|Object|Description| -|---|---| -|InfoObject|The object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.| - - - - - - - - - - - - -## x-origin -> x-origin example -```json -[ - { - "url": "http://programmes.api.bbc.com/nitro/api", - "contentType": "application/json", - "converter": { - "url": "https://github.com/mermade/bbcparse", - "version": "1.2.0" - } - }, - { - "format": "swagger", - "url": "https://raw.githubusercontent.com/Mermade/bbcparse/master/iblApi/swagger.json", - "version": "2.0" - } -] -``` -```yaml -- url: 'http://programmes.api.bbc.com/nitro/api' - contentType: application/json - converter: - url: 'https://github.com/mermade/bbcparse' - version: 1.2.0 -- format: swagger - url: >- - https://raw.githubusercontent.com/Mermade/bbcparse/master/iblApi/swagger.json - version: '2.0' - -``` - - - - - - - -A property of the `info` object, the `x-origin` structure is used to document the source and format of an API in the collection. It is used to round-trip the process of keeping the APIs updated. - -Please note, if you include an x-origin extension within your API definition APIs.guru will then append to this array if it exists, allowing an audit trail of the source(s) of an API definition. -Valid values for format - - * swagger - * api_blueprint - * raml - * google - -In your own `x-origin` entries you may alternatively use a contentType property instead of a format property. The version property is then optional. - -You may also specify the converter and version used. - - - - - - - - -|Property|Type|Required|Description -|---|---|---|---| -|anonymous|[object]|false|No description| -|» url|string(uri-ref)|true|No description| -|» format|string|false|No description| -|» version|string|false|No description| -|» contentType|string|false|No description| -|» converter|object|false|No description| -|»» url|string(uri-ref)|false|No description| -|»» version|string|false|No description| - - - -**In the OpenAPI specification v2.0, this extension can be used as follows:** - - - - - -|Object|Description| -|---|---| -|InfoObject|The object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.| - - - - - - - - - - - -**In the OpenAPI specification v3.x, this extension can be used as follows:** - - - - - -|Object|Description| -|---|---| -|InfoObject|The object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.| - - - - - - - - - - - - -## x-preferred -> x-preferred example -```json -"string" -``` -```yaml -string - -``` - - - - - - - -A property of the `info` object, `x-preferred` is a Boolean property which distinguishes between multiple versions of the same API. Where the `x-providerName` and `x-serviceName` are the same, only one definition should be marked `x-preferred: true`. This helps users of the APIs.guru collection organise and display the APIs. - - - - - - - -|Property|Type|Required|Description -|---|---|---|---| -|simple|string|false|No description| - - - -**In the OpenAPI specification v2.0, this extension can be used as follows:** - - - - - -|Object|Description| -|---|---| -|InfoObject|The object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.| - - - - - - - - - - - -**In the OpenAPI specification v3.x, this extension can be used as follows:** - - - - - -|Object|Description| -|---|---| -|InfoObject|The object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.| - - - - - - - - - - - - -## x-providerName -> x-providerName example -```json -"string" -``` -```yaml -string - -``` - - - - - - - -A property of the `info` object, `x-providerName` is used to identify the domain of the API host. It is added automatically by APIs.guru - - - - - - - -|Property|Type|Required|Description -|---|---|---|---| -|simple|string|false|No description| - - - -**In the OpenAPI specification v2.0, this extension can be used as follows:** - - - - - -|Object|Description| -|---|---| -|InfoObject|The object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.| - - - - - - - - - - - -**In the OpenAPI specification v3.x, this extension can be used as follows:** - - - - - -|Object|Description| -|---|---| -|InfoObject|The object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.| - - - - - - - - - - - - -## x-serviceName -> x-serviceName example -```json -"string" -``` -```yaml -string - -``` - - - - - - - -A property of the `info` object, `x-serviceName` is used to distinguish APIs which are served from the same domain. It may be the subdomain if the API uses one. It is added automatically by APIs.guru - - - - - - - -|Property|Type|Required|Description -|---|---|---|---| -|simple|string|false|No description| - - - -**In the OpenAPI specification v2.0, this extension can be used as follows:** - - - - - -|Object|Description| -|---|---| -|InfoObject|The object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.| - - - - - - - - - - - -**In the OpenAPI specification v3.x, this extension can be used as follows:** - - - - - -|Object|Description| -|---|---| -|InfoObject|The object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.| - - - - - - - - - - - - -## x-tags -> x-tags example -```json -[ - "string" -] -``` -```yaml -- string - -``` - - - - - - - -Also a property of the `info` object, `x-tags` is an array of free-form keywords/tags applicable to the API. - - - - - - - -|Property|Type|Required|Description -|---|---|---|---| -|anonymous|[string]|false|No description| - - - -**In the OpenAPI specification v2.0, this extension can be used as follows:** - - - - - -|Object|Description| -|---|---| -|InfoObject|The object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.| - - - - - - - - - - - -**In the OpenAPI specification v3.x, this extension can be used as follows:** - - - - - -|Object|Description| -|---|---| -|InfoObject|The object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.| - - - - - - - - - - - - -## x-unofficialSpec -> x-unofficialSpec example -```json -true -``` -```yaml -true - -``` - - - - - - - -A property of the `info` object, `x-unofficialSpec` indicates the definition is produced by a third-party, either manually, by scraping existing documentation or converting a proprietary/undocumented format. - - - - - - - -|Property|Type|Required|Description -|---|---|---|---| -|simple|boolean|false|No description| - - - -**In the OpenAPI specification v2.0, this extension can be used as follows:** - - - - - -|Object|Description| -|---|---| -|InfoObject|The object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.| - - - - - - - - - - - -**In the OpenAPI specification v3.x, this extension can be used as follows:** - - - - - -|Object|Description| -|---|---| -|InfoObject|The object provides metadata about the API. The metadata can be used by the clients if needed, and can be presented in editing or documentation generation tools for convenience.| - - - - - - - - - - - - - - - - diff --git a/docs/source/asyncapi.html.md b/docs/source/asyncapi.html.md deleted file mode 100644 index d8618a75..00000000 --- a/docs/source/asyncapi.html.md +++ /dev/null @@ -1,417 +0,0 @@ ---- -title: AsyncAPI Sample v1.0.0 -language_tabs: - - javascript--nodejs: Node.JS - - javascript: JavaScript - - ruby: Ruby - - python: Python - - java: Java - - go: Go -headingLevel: 3 -toc_footers: - - 'See OpenAPI example' -includes: [] -search: true -highlight_theme: darkula - ---- - -# AsyncAPI Sample v1.0.0 - -> Scroll down for code samples, example headers and payloads. Select a language for code samples from the tabs above or the mobile navigation menu. - -This is a simple example of an _AsyncAPI_ document. - -Base URLs: - -* mqtt://api.company.com:{port}/{app-id} - - * **app-id** - You can find your `app-id` in our control panel, under the auth tab. Default: demo - - * **port** - Default: 5676 - - * 5676 - * 5677 - -Base Topic: **hitch** - -Terms of service - -# user - -## accounts.1.0.action.user.signup - -### publish - -Note: **Deprecated** - -> Example headers - -```json - -{ - "qos": 1, - "retainFlag": false -} -``` - -> Example payload - -```json - -{ - "user": { - "full_name": "string", - "username": "string" - }, - "signup": { - "method": "email", - "datetime": "2018-04-03T07:32:55Z" - } -} -``` - -> Code Samples - -```javascript--nodejs -const hermes = require('hermesjs'); -const app = hermes(); - -app.from.client.send({ - topic: 'accounts.1.0.action.user.signup', - payload: { - "user": { - "full_name": "string", - "username": "string" - }, - "signup": { - "method": "email", - "datetime": "2018-04-03T07:32:55Z" - } -} -}); - -``` - -```javascript -//Coming soon... - -``` - -```ruby -# Coming soon... - -``` - -```python -//Coming soon... - -``` - -```java -/* asyncapi-java-tools */ -try (JmsServer client = builder.build()) { - - client.accounts.1.0.action.user.signup() - .publish({ - "user": { - "full_name": "string", - "username": "string" - }, - "signup": { - "method": "email", - "datetime": "2018-04-03T07:32:55Z" - } -}) - .toCompletableFuture() - .get(); -} - -``` - -```go -//Coming soon... - -``` - -*Action to sign a user up.* - -Multiline description of what this action does. **It allows Markdown.** - -#### Headers - -##### Properties - -|Name|Type|Required|Description| -|---|---|---|---| -|qos|integer|false|Quality of Service| -|retainFlag|boolean|false|This flag determines if the message will be saved by the broker for the specified topic as last known good value. New clients that subscribe to that topic will receive the last retained message on that topic instantly after subscribing. More on retained messages and best practices in one of the next posts.| - -#### Payload - -##### Properties - -|Name|Type|Required|Description| -|---|---|---|---| -|user|object|false|No description| -|full_name|string|false|User full name| -|username|string|true|User handle| -|signup|object|false|No description| -|method|string|true|Signup method| -|datetime|string|true|Date and Time of the message| - - - -# Default - -## accounts.1.0.event.user.signup - -### subscribe - -> Example payload - -```json - -{ - "user": { - "id": "string", - "full_name": "string", - "username": "string" - }, - "signup": { - "method": "email", - "datetime": "2018-04-03T07:32:55Z" - } -} -``` - -> Code Samples - -```javascript--nodejs -const hermes = require('hermesjs'); -const app = hermes(); - -app.from.client.send({ - topic: 'accounts.1.0.event.user.signup', - payload: { - "user": { - "id": "string", - "full_name": "string", - "username": "string" - }, - "signup": { - "method": "email", - "datetime": "2018-04-03T07:32:55Z" - } -} -}); - -``` - -```javascript -//Coming soon... - -``` - -```ruby -# Coming soon... - -``` - -```python -//Coming soon... - -``` - -```java -/* asyncapi-java-tools */ -try (JmsServer client = builder.build()) { - - client.accounts.1.0.event.user.signup() - .publish({ - "user": { - "id": "string", - "full_name": "string", - "username": "string" - }, - "signup": { - "method": "email", - "datetime": "2018-04-03T07:32:55Z" - } -}) - .toCompletableFuture() - .get(); -} - -``` - -```go -//Coming soon... - -``` - -#### Payload - -##### Properties - -|Name|Type|Required|Description| -|---|---|---|---| -|user|object|false|No description| -|id|string|true|Resource identifier| -|full_name|string|false|User full name| -|username|string|true|User handle| -|signup|object|false|No description| -|method|string|true|Signup method| -|datetime|string|true|Date and Time of the message| - - - -# Schemas - -## id - - - -```json -"string" -``` - -### Properties - -|Name|Type|Required|Description| -|---|---|---|---| -|id|[id](#schemaid)|false|Resource identifier| - -## username - - - -```json -"string" -``` - -### Properties - -|Name|Type|Required|Description| -|---|---|---|---| -|username|[username](#schemausername)|false|User handle| - -## datetime - - - -```json -"2018-04-03T07:32:55Z" -``` - -### Properties - -|Name|Type|Required|Description| -|---|---|---|---| -|datetime|[datetime](#schemadatetime)(date-time)|false|Date and Time of the message| - -## MQTTQoSHeader - - - -```json -1 -``` - -### Properties - -|Name|Type|Required|Description| -|---|---|---|---| -|qos|[MQTTQoSHeader](#schemamqttqosheader)(int32)|false|Quality of Service| - -#### Enumerated Values - -|Property|Value| -|---|---| -|qos|0| -|qos|2| - -## MQTTRetainHeader - - - -```json -false -``` - -### Properties - -|Name|Type|Required|Description| -|---|---|---|---| -|retainFlag|[MQTTRetainHeader](#schemamqttretainheader)|false|This flag determines if the message will be saved by the broker for the specified topic as last known good value. New clients that subscribe to that topic will receive the last retained message on that topic instantly after subscribing. More on retained messages and best practices in one of the next posts.| - -## user - - - -```json -{ - "id": "string", - "full_name": "string", - "username": "string" -} -``` - -### Properties - -|Name|Type|Required|Description| -|---|---|---|---| -|» id|[id](#schemaid)|true|Resource identifier| -|» full_name|string|false|User full name| -|» username|[username](#schemausername)|true|User handle| - -## userCreate - - - -```json -{ - "full_name": "string", - "username": "string" -} -``` - -### Properties - -|Name|Type|Required|Description| -|---|---|---|---| -|» full_name|string|false|User full name| -|» username|[username](#schemausername)|true|User handle| - -## signup - - - -```json -{ - "method": "email", - "datetime": "2018-04-03T07:32:55Z" -} -``` - -### Properties - -|Name|Type|Required|Description| -|---|---|---|---| -|» method|string|true|Signup method| -|» datetime|[datetime](#schemadatetime)(date-time)|true|Date and Time of the message| - -#### Enumerated Values - -|Property|Value| -|---|---| -|method|email| -|method|facebook| -|method|twitter| -|method|github| -|method|google| - diff --git a/docs/source/fonts/slate.eot b/docs/source/fonts/slate.eot deleted file mode 100644 index 13c4839a..00000000 Binary files a/docs/source/fonts/slate.eot and /dev/null differ diff --git a/docs/source/fonts/slate.svg b/docs/source/fonts/slate.svg deleted file mode 100644 index 5f349823..00000000 --- a/docs/source/fonts/slate.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - -Generated by IcoMoon - - - - - - - - - - diff --git a/docs/source/fonts/slate.ttf b/docs/source/fonts/slate.ttf deleted file mode 100644 index ace9a46a..00000000 Binary files a/docs/source/fonts/slate.ttf and /dev/null differ diff --git a/docs/source/fonts/slate.woff b/docs/source/fonts/slate.woff deleted file mode 100644 index 1e72e0ee..00000000 Binary files a/docs/source/fonts/slate.woff and /dev/null differ diff --git a/docs/source/fonts/slate.woff2 b/docs/source/fonts/slate.woff2 deleted file mode 100644 index 7c585a72..00000000 Binary files a/docs/source/fonts/slate.woff2 and /dev/null differ diff --git a/docs/source/images/logo.png b/docs/source/images/logo.png deleted file mode 100644 index 2a5f45b0..00000000 Binary files a/docs/source/images/logo.png and /dev/null differ diff --git a/docs/source/images/navbar.png b/docs/source/images/navbar.png deleted file mode 100644 index df38e90d..00000000 Binary files a/docs/source/images/navbar.png and /dev/null differ diff --git a/docs/source/include.md b/docs/source/include.md deleted file mode 100644 index 80333155..00000000 --- a/docs/source/include.md +++ /dev/null @@ -1,3 +0,0 @@ -### - -This content comes from `include.md` diff --git a/docs/source/includes/_errors.md b/docs/source/includes/_errors.md deleted file mode 100644 index 7b35e92b..00000000 --- a/docs/source/includes/_errors.md +++ /dev/null @@ -1,22 +0,0 @@ -# Errors - - - -The Kittn API uses the following error codes: - - -Error Code | Meaning ----------- | ------- -400 | Bad Request -- Your request is invalid. -401 | Unauthorized -- Your API key is wrong. -403 | Forbidden -- The kitten requested is hidden for administrators only. -404 | Not Found -- The specified kitten could not be found. -405 | Method Not Allowed -- You tried to access a kitten with an invalid method. -406 | Not Acceptable -- You requested a format that isn't json. -410 | Gone -- The kitten requested has been removed from our servers. -418 | I'm a teapot. -429 | Too Many Requests -- You're requesting too many kittens! Slow down! -500 | Internal Server Error -- We had a problem with our server. Try again later. -503 | Service Unavailable -- We're temporarily offline for maintenance. Please try again later. diff --git a/docs/source/includes/_head.md b/docs/source/includes/_head.md deleted file mode 100644 index 67ca9cca..00000000 --- a/docs/source/includes/_head.md +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/docs/source/index.html.md b/docs/source/index.html.md deleted file mode 100644 index d69a0abb..00000000 --- a/docs/source/index.html.md +++ /dev/null @@ -1,6871 +0,0 @@ ---- -title: Postgres API v0.0.0 -language_tabs: - - shell: Shell - - http: HTTP - - javascript: JavaScript - - ruby: Ruby - - python: Python - - php: PHP - - java: Java - - go: Go -toc_footers: [] -includes: [] -search: true -highlight_theme: darkula -headingLevel: 2 - ---- - - - -

        Postgres API v0.0.0

        - -> Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu. - -Manage your PostgreSQL database using a RESTful API. - -This is still in early development, so most of the functionality is read-only. - -The goal of this API is to enable the full management of a Postgres database using a RESTful interface. This includes adding tables, columns, roles, and users at runtime, as well as running ad-hoc queries. - -Made by Supabase: https://supabase.io - -# Getting started - -## Usage - -> Basic usage - -```sh -curl -X GET http://localhost:1337/ \ --H 'Content-Type: application/json' \ --H 'X-Connection-Encrypted: ENCRYPTED_STRING' -``` -```js -const data = await fetch('http://localhost:1337', { -method: 'GET', -headers: { - 'Content-Type': 'application/json', - 'X-Connection-Encrypted': 'ENCRYPTED_STRING' -} -}) -``` - -For security reasons, this API is best self-hosted and set up with ENV_VARS with the default connection string. - -If you want to use this with multiple Postgres instances, you can pass the connection string as a header but it must be encrypted. - -## Self Hosting - -``` -https://github.com/supabase/pg-api -``` - -We support several different methods for self-hosting, detailed in the [repository](https://github.com/supabase/pg-api). - -## Authentication - -Authentication is not provided. Make sure you use this inside a secure network or behind a secure API proxy. - -Email: Support Web: Support -License: Apache 2.0 - -

        /config

        - -## Get all configs - - - -> Code samples - -```shell -# You can also use wget -curl -X GET /config \ - -H 'Accept: application/json' - -``` - -```http -GET /config HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/config', -{ - method: 'GET', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.get '/config', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.get('/config', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('GET','/config', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/config"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/config", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /config` - -> Example responses - -> 200 Response - -```json -[ - { - "name": "string", - "setting": "string", - "category": "string", - "group": "string", - "subgroup": "string", - "unit": "string", - "short_desc": "string", - "extra_desc": "string", - "context": "string", - "vartype": "string", - "source": "string", - "min_val": "string", - "max_val": "string", - "enumvals": [ - "string" - ], - "boot_val": "string", - "reset_val": "string", - "sourcefile": "string", - "sourceline": 0, - "pending_restart": true - } -] -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|Inline| - -

        Response Schema

        - -Status Code **200** - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|*anonymous*|[[Config](#schemaconfig)]|false|none|none| -|» name|string|false|none|none| -|» setting|string|false|none|none| -|» category|string|false|none|none| -|» group|string|false|none|none| -|» subgroup|string|false|none|none| -|» unit|string¦null|false|none|none| -|» short_desc|string|false|none|none| -|» extra_desc|string¦null|false|none|none| -|» context|string|false|none|none| -|» vartype|string|false|none|none| -|» source|string|false|none|none| -|» min_val|string¦null|false|none|none| -|» max_val|string¦null|false|none|none| -|» enumvals|[string]¦null|false|none|none| -|» boot_val|string|false|none|none| -|» reset_val|string|false|none|none| -|» sourcefile|string¦null|false|none|none| -|» sourceline|integer¦null|false|none|none| -|» pending_restart|boolean|false|none|none| - - - -

        /config/version

        - -## Get version - - - -> Code samples - -```shell -# You can also use wget -curl -X GET /config/version \ - -H 'Accept: application/json' - -``` - -```http -GET /config/version HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/config/version', -{ - method: 'GET', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.get '/config/version', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.get('/config/version', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('GET','/config/version', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/config/version"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/config/version", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /config/version` - -> Example responses - -> 200 Response - -```json -{ - "version": "string", - "version_number": 0, - "active_connections": 0, - "max_connections": 0 -} -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|[Version](#schemaversion)| - - - -

        /query

        - -## Make a query - - - -> Code samples - -```shell -# You can also use wget -curl -X POST /query \ - -H 'Accept: application/json' - -``` - -```http -POST /query HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/query', -{ - method: 'POST', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.post '/query', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.post('/query', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('POST','/query', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/query"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("POST"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("POST", "/query", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`POST /query` - -> Example responses - -> 200 Response - -```json -[ - {} -] -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|Inline| - -

        Response Schema

        - - - -

        /columns

        - -## Get all columns - - - -> Code samples - -```shell -# You can also use wget -curl -X GET /columns \ - -H 'Accept: application/json' - -``` - -```http -GET /columns HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/columns', -{ - method: 'GET', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.get '/columns', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.get('/columns', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('GET','/columns', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/columns"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/columns", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /columns` - -

        Parameters

        - -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|include_system_schemas|query|boolean|false|none| - -> Example responses - -> 200 Response - -```json -[ - { - "table_id": 0, - "schema": "string", - "table": "string", - "id": "string", - "ordinal_position": 0, - "name": "string", - "default_value": "string", - "data_type": "string", - "format": "string", - "description": "string", - "is_identity": true, - "identity_generation": "string", - "is_nullable": true, - "is_updatable": true, - "enums": [ - "string" - ] - } -] -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|Inline| - -

        Response Schema

        - -Status Code **200** - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|*anonymous*|[[Column](#schemacolumn)]|false|none|none| -|» table_id|integer|false|none|none| -|» schema|string|false|none|none| -|» table|string|false|none|none| -|» id|string|false|none|none| -|» ordinal_position|integer|false|none|none| -|» name|string|false|none|none| -|» default_value|string|false|none|none| -|» data_type|string|false|none|none| -|» format|string|false|none|none| -|» description|string|false|none|none| -|» is_identity|boolean|false|none|none| -|» identity_generation|string|false|none|none| -|» is_nullable|boolean|false|none|none| -|» is_updatable|boolean|false|none|none| -|» enums|[string]|false|none|none| - - - -## Add a column - - - -> Code samples - -```shell -# You can also use wget -curl -X POST /columns \ - -H 'Content-Type: application/json' \ - -H 'Accept: application/json' - -``` - -```http -POST /columns HTTP/1.1 - -Content-Type: application/json -Accept: application/json - -``` - -```javascript -const inputBody = '{ - "name": "string", - "table_id": 0, - "type": "string", - "default_value": "string", - "is_identity": true, - "is_nullable": true, - "is_primary_key": true, - "is_unique": true -}'; -const headers = { - 'Content-Type':'application/json', - 'Accept':'application/json' -}; - -fetch('/columns', -{ - method: 'POST', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json', - 'Accept' => 'application/json' -} - -result = RestClient.post '/columns', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json', - 'Accept': 'application/json' -} - -r = requests.post('/columns', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Accept' => 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('POST','/columns', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/columns"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("POST"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("POST", "/columns", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`POST /columns` - -> Body parameter - -```json -{ - "name": "string", - "table_id": 0, - "type": "string", - "default_value": "string", - "is_identity": true, - "is_nullable": true, - "is_primary_key": true, - "is_unique": true -} -``` - -

        Parameters

        - -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|body|body|object|true|none| -|» name|body|string|true|none| -|» table_id|body|integer|true|none| -|» type|body|string|true|none| -|» default_value|body|string|false|none| -|» is_identity|body|boolean|false|none| -|» is_nullable|body|boolean|false|none| -|» is_primary_key|body|boolean|false|none| -|» is_unique|body|boolean|false|none| - -> Example responses - -> 200 Response - -```json -{ - "table_id": 0, - "schema": "string", - "table": "string", - "id": "string", - "ordinal_position": 0, - "name": "string", - "default_value": "string", - "data_type": "string", - "format": "string", - "description": "string", - "is_identity": true, - "identity_generation": "string", - "is_nullable": true, - "is_updatable": true, - "enums": [ - "string" - ] -} -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|[Column](#schemacolumn)| - - - -## Update a column by ID - - - -> Code samples - -```shell -# You can also use wget -curl -X PATCH /columns/{id} \ - -H 'Content-Type: application/json' \ - -H 'Accept: application/json' - -``` - -```http -PATCH /columns/{id} HTTP/1.1 - -Content-Type: application/json -Accept: application/json - -``` - -```javascript -const inputBody = '{ - "name": "string", - "type": "string", - "drop_default": true, - "default_value": "string", - "is_nullable": true -}'; -const headers = { - 'Content-Type':'application/json', - 'Accept':'application/json' -}; - -fetch('/columns/{id}', -{ - method: 'PATCH', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json', - 'Accept' => 'application/json' -} - -result = RestClient.patch '/columns/{id}', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json', - 'Accept': 'application/json' -} - -r = requests.patch('/columns/{id}', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Accept' => 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('PATCH','/columns/{id}', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/columns/{id}"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("PATCH"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("PATCH", "/columns/{id}", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`PATCH /columns/{id}` - -> Body parameter - -```json -{ - "name": "string", - "type": "string", - "drop_default": true, - "default_value": "string", - "is_nullable": true -} -``` - -

        Parameters

        - -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|body|body|object|true|none| -|» name|body|string|false|none| -|» type|body|string|false|none| -|» drop_default|body|boolean|false|none| -|» default_value|body|string|false|none| -|» is_nullable|body|boolean|false|none| -|id|path|string|true|none| - -> Example responses - -> 200 Response - -```json -{ - "table_id": 0, - "schema": "string", - "table": "string", - "id": "string", - "ordinal_position": 0, - "name": "string", - "default_value": "string", - "data_type": "string", - "format": "string", - "description": "string", - "is_identity": true, - "identity_generation": "string", - "is_nullable": true, - "is_updatable": true, - "enums": [ - "string" - ] -} -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|[Column](#schemacolumn)| - - - -## Delete a column by ID - - - -> Code samples - -```shell -# You can also use wget -curl -X DELETE /columns/{id} \ - -H 'Accept: application/json' - -``` - -```http -DELETE /columns/{id} HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/columns/{id}', -{ - method: 'DELETE', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.delete '/columns/{id}', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.delete('/columns/{id}', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('DELETE','/columns/{id}', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/columns/{id}"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("DELETE"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("DELETE", "/columns/{id}", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`DELETE /columns/{id}` - -

        Parameters

        - -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|id|path|string|true|none| - -> Example responses - -> 200 Response - -```json -{ - "table_id": 0, - "schema": "string", - "table": "string", - "id": "string", - "ordinal_position": 0, - "name": "string", - "default_value": "string", - "data_type": "string", - "format": "string", - "description": "string", - "is_identity": true, - "identity_generation": "string", - "is_nullable": true, - "is_updatable": true, - "enums": [ - "string" - ] -} -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|[Column](#schemacolumn)| - - - -

        /extensions

        - -## Get all extensions - - - -> Code samples - -```shell -# You can also use wget -curl -X GET /extensions \ - -H 'Accept: application/json' - -``` - -```http -GET /extensions HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/extensions', -{ - method: 'GET', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.get '/extensions', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.get('/extensions', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('GET','/extensions', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/extensions"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/extensions", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /extensions` - -> Example responses - -> 200 Response - -```json -[ - { - "name": "string", - "comment": "string", - "default_version": "string", - "installed_version": "string" - } -] -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|Inline| - -

        Response Schema

        - -Status Code **200** - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|*anonymous*|[[Extension](#schemaextension)]|false|none|none| -|» name|string|false|none|none| -|» comment|string|false|none|none| -|» default_version|string|false|none|none| -|» installed_version|string|false|none|none| - - - -## Install an extension - - - -> Code samples - -```shell -# You can also use wget -curl -X POST /extensions \ - -H 'Content-Type: application/json' \ - -H 'Accept: application/json' - -``` - -```http -POST /extensions HTTP/1.1 - -Content-Type: application/json -Accept: application/json - -``` - -```javascript -const inputBody = '{ - "name": "string", - "schema": "string", - "version": "string", - "cascade": true -}'; -const headers = { - 'Content-Type':'application/json', - 'Accept':'application/json' -}; - -fetch('/extensions', -{ - method: 'POST', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json', - 'Accept' => 'application/json' -} - -result = RestClient.post '/extensions', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json', - 'Accept': 'application/json' -} - -r = requests.post('/extensions', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Accept' => 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('POST','/extensions', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/extensions"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("POST"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("POST", "/extensions", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`POST /extensions` - -> Body parameter - -```json -{ - "name": "string", - "schema": "string", - "version": "string", - "cascade": true -} -``` - -

        Parameters

        - -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|body|body|object|true|none| -|» name|body|string|true|none| -|» schema|body|string|false|none| -|» version|body|string|false|none| -|» cascade|body|boolean|false|none| - -> Example responses - -> 200 Response - -```json -{ - "name": "string", - "comment": "string", - "default_version": "string", - "installed_version": "string" -} -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|[Extension](#schemaextension)| - - - -## Update/modify an extension by ID - - - -> Code samples - -```shell -# You can also use wget -curl -X PATCH /extensions/{id} \ - -H 'Content-Type: application/json' \ - -H 'Accept: application/json' - -``` - -```http -PATCH /extensions/{id} HTTP/1.1 - -Content-Type: application/json -Accept: application/json - -``` - -```javascript -const inputBody = '{ - "update": true, - "version": "string", - "schema": "string" -}'; -const headers = { - 'Content-Type':'application/json', - 'Accept':'application/json' -}; - -fetch('/extensions/{id}', -{ - method: 'PATCH', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json', - 'Accept' => 'application/json' -} - -result = RestClient.patch '/extensions/{id}', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json', - 'Accept': 'application/json' -} - -r = requests.patch('/extensions/{id}', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Accept' => 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('PATCH','/extensions/{id}', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/extensions/{id}"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("PATCH"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("PATCH", "/extensions/{id}", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`PATCH /extensions/{id}` - -> Body parameter - -```json -{ - "update": true, - "version": "string", - "schema": "string" -} -``` - -

        Parameters

        - -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|body|body|object|true|none| -|» update|body|boolean|false|none| -|» version|body|string|false|none| -|» schema|body|string|false|none| -|id|path|integer|true|none| - -> Example responses - -> 200 Response - -```json -{ - "name": "string", - "comment": "string", - "default_version": "string", - "installed_version": "string" -} -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|[Extension](#schemaextension)| - - - -## Uninstall an extension by ID - - - -> Code samples - -```shell -# You can also use wget -curl -X DELETE /extensions/{id} \ - -H 'Accept: application/json' - -``` - -```http -DELETE /extensions/{id} HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/extensions/{id}', -{ - method: 'DELETE', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.delete '/extensions/{id}', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.delete('/extensions/{id}', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('DELETE','/extensions/{id}', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/extensions/{id}"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("DELETE"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("DELETE", "/extensions/{id}", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`DELETE /extensions/{id}` - -

        Parameters

        - -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|id|path|integer|true|none| - -> Example responses - -> 200 Response - -```json -{ - "name": "string", - "comment": "string", - "default_version": "string", - "installed_version": "string" -} -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|[Extension](#schemaextension)| - - - -

        /functions

        - -## Get all functions - - - -> Code samples - -```shell -# You can also use wget -curl -X GET /functions \ - -H 'Accept: application/json' - -``` - -```http -GET /functions HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/functions', -{ - method: 'GET', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.get '/functions', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.get('/functions', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('GET','/functions', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/functions"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/functions", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /functions` - -

        Parameters

        - -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|include_system_schemas|query|boolean|false|none| - -> Example responses - -> 200 Response - -```json -[ - { - "id": 0, - "schema": "string", - "name": "string", - "language": "string", - "definition": "string", - "argument_types": "string", - "return_type": "string" - } -] -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|Inline| - -

        Response Schema

        - -Status Code **200** - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|*anonymous*|[[Function](#schemafunction)]|false|none|none| -|» id|integer|false|none|none| -|» schema|string|false|none|none| -|» name|string|false|none|none| -|» language|string|false|none|none| -|» definition|string|false|none|none| -|» argument_types|string|false|none|none| -|» return_type|string|false|none|none| - - - -

        /policies

        - -## Get all policies - - - -> Code samples - -```shell -# You can also use wget -curl -X GET /policies \ - -H 'Accept: application/json' - -``` - -```http -GET /policies HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/policies', -{ - method: 'GET', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.get '/policies', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.get('/policies', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('GET','/policies', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/policies"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/policies", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /policies` - -

        Parameters

        - -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|include_system_schemas|query|boolean|false|none| - -> Example responses - -> 200 Response - -```json -[ - { - "id": 0, - "name": "string", - "schema": "string", - "table": "string", - "table_id": 0, - "action": "PERMISSIVE", - "roles": [ - "string" - ], - "command": "string", - "definition": "string", - "check": "string" - } -] -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|Inline| - -

        Response Schema

        - -Status Code **200** - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|*anonymous*|[[Policy](#schemapolicy)]|false|none|none| -|» id|integer|false|none|none| -|» name|string|false|none|none| -|» schema|string|false|none|none| -|» table|string|false|none|none| -|» table_id|integer|false|none|none| -|» action|string|false|none|none| -|» roles|[string]|false|none|none| -|» command|string|false|none|none| -|» definition|string|false|none|none| -|» check|string¦null|false|none|none| - -#### Enumerated Values - -|Property|Value| -|---|---| -|action|PERMISSIVE| -|action|RESTRICTIVE| - - - -## Create a policy - - - -> Code samples - -```shell -# You can also use wget -curl -X POST /policies \ - -H 'Content-Type: application/json' \ - -H 'Accept: application/json' - -``` - -```http -POST /policies HTTP/1.1 - -Content-Type: application/json -Accept: application/json - -``` - -```javascript -const inputBody = '{ - "name": "string", - "schema": "string", - "table": "string" -}'; -const headers = { - 'Content-Type':'application/json', - 'Accept':'application/json' -}; - -fetch('/policies', -{ - method: 'POST', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json', - 'Accept' => 'application/json' -} - -result = RestClient.post '/policies', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json', - 'Accept': 'application/json' -} - -r = requests.post('/policies', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Accept' => 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('POST','/policies', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/policies"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("POST"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("POST", "/policies", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`POST /policies` - -> Body parameter - -```json -{ - "name": "string", - "schema": "string", - "table": "string" -} -``` - -

        Parameters

        - -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|body|body|object|true|none| -|» name|body|string|true|none| -|» schema|body|string|false|none| -|» table|body|string|true|none| - -> Example responses - -> 200 Response - -```json -{ - "id": 0, - "name": "string", - "schema": "string", - "table": "string", - "table_id": 0, - "action": "PERMISSIVE", - "roles": [ - "string" - ], - "command": "string", - "definition": "string", - "check": "string" -} -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|[Policy](#schemapolicy)| - - - -## Update a policy by ID - - - -> Code samples - -```shell -# You can also use wget -curl -X PATCH /policies/{id} \ - -H 'Content-Type: application/json' \ - -H 'Accept: application/json' - -``` - -```http -PATCH /policies/{id} HTTP/1.1 - -Content-Type: application/json -Accept: application/json - -``` - -```javascript -const inputBody = '{ - "name": "string", - "schema": "string", - "table": "string" -}'; -const headers = { - 'Content-Type':'application/json', - 'Accept':'application/json' -}; - -fetch('/policies/{id}', -{ - method: 'PATCH', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json', - 'Accept' => 'application/json' -} - -result = RestClient.patch '/policies/{id}', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json', - 'Accept': 'application/json' -} - -r = requests.patch('/policies/{id}', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Accept' => 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('PATCH','/policies/{id}', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/policies/{id}"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("PATCH"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("PATCH", "/policies/{id}", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`PATCH /policies/{id}` - -> Body parameter - -```json -{ - "name": "string", - "schema": "string", - "table": "string" -} -``` - -

        Parameters

        - -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|body|body|object|true|none| -|» name|body|string|false|none| -|» schema|body|string|false|none| -|» table|body|string|false|none| -|id|path|integer|true|none| - -> Example responses - -> 200 Response - -```json -{ - "id": 0, - "name": "string", - "schema": "string", - "table": "string", - "table_id": 0, - "action": "PERMISSIVE", - "roles": [ - "string" - ], - "command": "string", - "definition": "string", - "check": "string" -} -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|[Policy](#schemapolicy)| - - - -## Delete a policy by ID - - - -> Code samples - -```shell -# You can also use wget -curl -X DELETE /policies/{id} \ - -H 'Accept: application/json' - -``` - -```http -DELETE /policies/{id} HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/policies/{id}', -{ - method: 'DELETE', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.delete '/policies/{id}', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.delete('/policies/{id}', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('DELETE','/policies/{id}', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/policies/{id}"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("DELETE"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("DELETE", "/policies/{id}", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`DELETE /policies/{id}` - -

        Parameters

        - -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|id|path|integer|true|none| - -> Example responses - -> 200 Response - -```json -{ - "id": 0, - "name": "string", - "schema": "string", - "table": "string", - "table_id": 0, - "action": "PERMISSIVE", - "roles": [ - "string" - ], - "command": "string", - "definition": "string", - "check": "string" -} -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|[Policy](#schemapolicy)| - - - -

        /roles

        - -## Get all roles - - - -> Code samples - -```shell -# You can also use wget -curl -X GET /roles \ - -H 'Accept: application/json' - -``` - -```http -GET /roles HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/roles', -{ - method: 'GET', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.get '/roles', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.get('/roles', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('GET','/roles', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/roles"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/roles", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /roles` - -

        Parameters

        - -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|include_system_schemas|query|boolean|false|none| - -> Example responses - -> 200 Response - -```json -[ - { - "id": 0, - "name": "string", - "is_superuser": true, - "can_create_db": true, - "can_create_role": true, - "inherit_role": true, - "can_login": true, - "is_replication_role": true, - "can_bypass_rls": true, - "active_connections": 0, - "connection_limit": 0, - "password": "string", - "valid_until": "string", - "config": "string", - "grants": [ - { - "table_id": 0, - "grantor": "string", - "grantee": "string", - "catalog": "string", - "schema": "string", - "table_name": "string", - "privilege_type": "string", - "is_grantable": true, - "with_hierarchy": true - } - ] - } -] -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|Inline| - -

        Response Schema

        - -Status Code **200** - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|*anonymous*|[[Role](#schemarole)]|false|none|none| -|» id|integer|false|none|none| -|» name|string|false|none|none| -|» is_superuser|boolean|false|none|none| -|» can_create_db|boolean|false|none|none| -|» can_create_role|boolean|false|none|none| -|» inherit_role|boolean|false|none|none| -|» can_login|boolean|false|none|none| -|» is_replication_role|boolean|false|none|none| -|» can_bypass_rls|boolean|false|none|none| -|» active_connections|integer|false|none|none| -|» connection_limit|integer|false|none|none| -|» password|string|false|none|none| -|» valid_until|string¦null|false|none|none| -|» config|string¦null|false|none|none| -|» grants|[[Grant](#schemagrant)]|false|none|none| -|»» table_id|integer|false|none|none| -|»» grantor|string|false|none|none| -|»» grantee|string|false|none|none| -|»» catalog|string|false|none|none| -|»» schema|string|false|none|none| -|»» table_name|string|false|none|none| -|»» privilege_type|string|false|none|none| -|»» is_grantable|boolean|false|none|none| -|»» with_hierarchy|boolean|false|none|none| - - - -## Create a role - - - -> Code samples - -```shell -# You can also use wget -curl -X POST /roles \ - -H 'Content-Type: application/json' \ - -H 'Accept: application/json' - -``` - -```http -POST /roles HTTP/1.1 - -Content-Type: application/json -Accept: application/json - -``` - -```javascript -const inputBody = '{ - "name": "string", - "is_superuser": true, - "can_create_db": true, - "can_create_role": true, - "inherit_role": true, - "can_login": true, - "is_replication_role": true, - "can_bypass_rls": true, - "connection_limit": 0, - "password": "string", - "valid_until": "string", - "member_of": [ - "string" - ], - "members": [ - "string" - ], - "admins": [ - "string" - ] -}'; -const headers = { - 'Content-Type':'application/json', - 'Accept':'application/json' -}; - -fetch('/roles', -{ - method: 'POST', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json', - 'Accept' => 'application/json' -} - -result = RestClient.post '/roles', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json', - 'Accept': 'application/json' -} - -r = requests.post('/roles', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Accept' => 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('POST','/roles', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/roles"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("POST"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("POST", "/roles", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`POST /roles` - -> Body parameter - -```json -{ - "name": "string", - "is_superuser": true, - "can_create_db": true, - "can_create_role": true, - "inherit_role": true, - "can_login": true, - "is_replication_role": true, - "can_bypass_rls": true, - "connection_limit": 0, - "password": "string", - "valid_until": "string", - "member_of": [ - "string" - ], - "members": [ - "string" - ], - "admins": [ - "string" - ] -} -``` - -

        Parameters

        - -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|body|body|object|true|none| -|» name|body|string|true|none| -|» is_superuser|body|boolean|false|none| -|» can_create_db|body|boolean|false|none| -|» can_create_role|body|boolean|false|none| -|» inherit_role|body|boolean|false|none| -|» can_login|body|boolean|false|none| -|» is_replication_role|body|boolean|false|none| -|» can_bypass_rls|body|boolean|false|none| -|» connection_limit|body|integer|false|none| -|» password|body|string|false|none| -|» valid_until|body|string|false|none| -|» member_of|body|[string]|false|none| -|» members|body|[string]|false|none| -|» admins|body|[string]|false|none| - -> Example responses - -> 200 Response - -```json -{ - "id": 0, - "name": "string", - "is_superuser": true, - "can_create_db": true, - "can_create_role": true, - "inherit_role": true, - "can_login": true, - "is_replication_role": true, - "can_bypass_rls": true, - "active_connections": 0, - "connection_limit": 0, - "password": "string", - "valid_until": "string", - "config": "string", - "grants": [ - { - "table_id": 0, - "grantor": "string", - "grantee": "string", - "catalog": "string", - "schema": "string", - "table_name": "string", - "privilege_type": "string", - "is_grantable": true, - "with_hierarchy": true - } - ] -} -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|[Role](#schemarole)| - - - -## Update a role by ID - - - -> Code samples - -```shell -# You can also use wget -curl -X PATCH /roles/{id} \ - -H 'Content-Type: application/json' \ - -H 'Accept: application/json' - -``` - -```http -PATCH /roles/{id} HTTP/1.1 - -Content-Type: application/json -Accept: application/json - -``` - -```javascript -const inputBody = '{ - "name": "string", - "is_superuser": true, - "can_create_db": true, - "can_create_role": true, - "inherit_role": true, - "can_login": true, - "is_replication_role": true, - "can_bypass_rls": true, - "connection_limit": 0, - "password": "string", - "valid_until": "string" -}'; -const headers = { - 'Content-Type':'application/json', - 'Accept':'application/json' -}; - -fetch('/roles/{id}', -{ - method: 'PATCH', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json', - 'Accept' => 'application/json' -} - -result = RestClient.patch '/roles/{id}', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json', - 'Accept': 'application/json' -} - -r = requests.patch('/roles/{id}', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Accept' => 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('PATCH','/roles/{id}', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/roles/{id}"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("PATCH"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("PATCH", "/roles/{id}", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`PATCH /roles/{id}` - -> Body parameter - -```json -{ - "name": "string", - "is_superuser": true, - "can_create_db": true, - "can_create_role": true, - "inherit_role": true, - "can_login": true, - "is_replication_role": true, - "can_bypass_rls": true, - "connection_limit": 0, - "password": "string", - "valid_until": "string" -} -``` - -

        Parameters

        - -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|body|body|object|true|none| -|» name|body|string|false|none| -|» is_superuser|body|boolean|false|none| -|» can_create_db|body|boolean|false|none| -|» can_create_role|body|boolean|false|none| -|» inherit_role|body|boolean|false|none| -|» can_login|body|boolean|false|none| -|» is_replication_role|body|boolean|false|none| -|» can_bypass_rls|body|boolean|false|none| -|» connection_limit|body|integer|false|none| -|» password|body|string|false|none| -|» valid_until|body|string|false|none| -|id|path|integer|true|none| - -> Example responses - -> 200 Response - -```json -{ - "id": 0, - "name": "string", - "is_superuser": true, - "can_create_db": true, - "can_create_role": true, - "inherit_role": true, - "can_login": true, - "is_replication_role": true, - "can_bypass_rls": true, - "active_connections": 0, - "connection_limit": 0, - "password": "string", - "valid_until": "string", - "config": "string", - "grants": [ - { - "table_id": 0, - "grantor": "string", - "grantee": "string", - "catalog": "string", - "schema": "string", - "table_name": "string", - "privilege_type": "string", - "is_grantable": true, - "with_hierarchy": true - } - ] -} -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|[Role](#schemarole)| - - - -## Delete a role by ID - - - -> Code samples - -```shell -# You can also use wget -curl -X DELETE /roles/{id} \ - -H 'Accept: application/json' - -``` - -```http -DELETE /roles/{id} HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/roles/{id}', -{ - method: 'DELETE', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.delete '/roles/{id}', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.delete('/roles/{id}', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('DELETE','/roles/{id}', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/roles/{id}"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("DELETE"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("DELETE", "/roles/{id}", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`DELETE /roles/{id}` - -

        Parameters

        - -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|id|path|integer|true|none| - -> Example responses - -> 200 Response - -```json -{ - "id": 0, - "name": "string", - "is_superuser": true, - "can_create_db": true, - "can_create_role": true, - "inherit_role": true, - "can_login": true, - "is_replication_role": true, - "can_bypass_rls": true, - "active_connections": 0, - "connection_limit": 0, - "password": "string", - "valid_until": "string", - "config": "string", - "grants": [ - { - "table_id": 0, - "grantor": "string", - "grantee": "string", - "catalog": "string", - "schema": "string", - "table_name": "string", - "privilege_type": "string", - "is_grantable": true, - "with_hierarchy": true - } - ] -} -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|[Role](#schemarole)| - - - -

        /schemas

        - -## Get all schemas - - - -> Code samples - -```shell -# You can also use wget -curl -X GET /schemas \ - -H 'Accept: application/json' - -``` - -```http -GET /schemas HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/schemas', -{ - method: 'GET', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.get '/schemas', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.get('/schemas', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('GET','/schemas', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/schemas"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/schemas", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /schemas` - -

        Parameters

        - -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|include_system_schemas|query|boolean|false|none| - -> Example responses - -> 200 Response - -```json -[ - { - "id": 0, - "catalog_name": "string", - "name": "string", - "owner": "string", - "default_character_set_catalog": "string", - "default_character_set_schema": "string", - "default_character_set_name": "string", - "sql_path": "string" - } -] -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|Inline| - -

        Response Schema

        - -Status Code **200** - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|*anonymous*|[[Schema](#schemaschema)]|false|none|none| -|» id|integer|false|none|none| -|» catalog_name|string|false|none|none| -|» name|string|false|none|none| -|» owner|string|false|none|none| -|» default_character_set_catalog|string¦null|false|none|none| -|» default_character_set_schema|string¦null|false|none|none| -|» default_character_set_name|string¦null|false|none|none| -|» sql_path|string¦null|false|none|none| - - - -## Create a schema - - - -> Code samples - -```shell -# You can also use wget -curl -X POST /schemas \ - -H 'Content-Type: application/json' \ - -H 'Accept: application/json' - -``` - -```http -POST /schemas HTTP/1.1 - -Content-Type: application/json -Accept: application/json - -``` - -```javascript -const inputBody = '{ - "name": "string", - "owner": "string" -}'; -const headers = { - 'Content-Type':'application/json', - 'Accept':'application/json' -}; - -fetch('/schemas', -{ - method: 'POST', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json', - 'Accept' => 'application/json' -} - -result = RestClient.post '/schemas', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json', - 'Accept': 'application/json' -} - -r = requests.post('/schemas', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Accept' => 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('POST','/schemas', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/schemas"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("POST"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("POST", "/schemas", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`POST /schemas` - -> Body parameter - -```json -{ - "name": "string", - "owner": "string" -} -``` - -

        Parameters

        - -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|body|body|object|true|none| -|» name|body|string|true|none| -|» owner|body|string|true|none| - -> Example responses - -> 200 Response - -```json -{ - "id": 0, - "catalog_name": "string", - "name": "string", - "owner": "string", - "default_character_set_catalog": "string", - "default_character_set_schema": "string", - "default_character_set_name": "string", - "sql_path": "string" -} -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|[Schema](#schemaschema)| - - - -## Update a schema by ID - - - -> Code samples - -```shell -# You can also use wget -curl -X PATCH /schemas/{id} \ - -H 'Content-Type: application/json' \ - -H 'Accept: application/json' - -``` - -```http -PATCH /schemas/{id} HTTP/1.1 - -Content-Type: application/json -Accept: application/json - -``` - -```javascript -const inputBody = '{ - "name": "string", - "owner": "string" -}'; -const headers = { - 'Content-Type':'application/json', - 'Accept':'application/json' -}; - -fetch('/schemas/{id}', -{ - method: 'PATCH', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json', - 'Accept' => 'application/json' -} - -result = RestClient.patch '/schemas/{id}', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json', - 'Accept': 'application/json' -} - -r = requests.patch('/schemas/{id}', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Accept' => 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('PATCH','/schemas/{id}', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/schemas/{id}"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("PATCH"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("PATCH", "/schemas/{id}", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`PATCH /schemas/{id}` - -> Body parameter - -```json -{ - "name": "string", - "owner": "string" -} -``` - -

        Parameters

        - -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|body|body|object|true|none| -|» name|body|string|false|none| -|» owner|body|string|false|none| -|id|path|integer|true|none| - -> Example responses - -> 200 Response - -```json -{ - "id": 0, - "catalog_name": "string", - "name": "string", - "owner": "string", - "default_character_set_catalog": "string", - "default_character_set_schema": "string", - "default_character_set_name": "string", - "sql_path": "string" -} -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|[Schema](#schemaschema)| - - - -## Delete a schema by ID - - - -> Code samples - -```shell -# You can also use wget -curl -X DELETE /schemas/{id} \ - -H 'Accept: application/json' - -``` - -```http -DELETE /schemas/{id} HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/schemas/{id}', -{ - method: 'DELETE', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.delete '/schemas/{id}', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.delete('/schemas/{id}', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('DELETE','/schemas/{id}', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/schemas/{id}"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("DELETE"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("DELETE", "/schemas/{id}", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`DELETE /schemas/{id}` - -

        Parameters

        - -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|id|path|integer|true|none| - -> Example responses - -> 200 Response - -```json -{ - "id": 0, - "catalog_name": "string", - "name": "string", - "owner": "string", - "default_character_set_catalog": "string", - "default_character_set_schema": "string", - "default_character_set_name": "string", - "sql_path": "string" -} -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|[Schema](#schemaschema)| - - - -

        /tables

        - -## Get all tables - - - -> Code samples - -```shell -# You can also use wget -curl -X GET /tables \ - -H 'Accept: application/json' - -``` - -```http -GET /tables HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/tables', -{ - method: 'GET', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.get '/tables', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.get('/tables', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('GET','/tables', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/tables"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/tables", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /tables` - -

        Parameters

        - -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|include_system_schemas|query|boolean|false|none| - -> Example responses - -> 200 Response - -```json -[ - { - "id": 0, - "catalog": "string", - "schema": "string", - "name": "string", - "is_insertable_into": true, - "rls_enabled": true, - "rls_forced": true, - "is_typed": true, - "bytes": 0, - "size": "string", - "seq_scan_count": 0, - "seq_row_read_count": 0, - "idx_scan_count": 0, - "idx_row_read_count": 0, - "row_ins_count": 0, - "row_upd_count": 0, - "row_del_count": 0, - "row_hot_upd_count": 0, - "live_row_count": 0, - "dead_row_count": 0, - "rows_mod_since_analyze": 0, - "last_vacuum": "string", - "last_autovacuum": "string", - "last_analyze": "string", - "last_autoanalyze": "string", - "vacuum_count": 0, - "autovacuum_count": 0, - "analyze_count": 0, - "autoanalyze_count": 0, - "columns": [ - { - "table_id": 0, - "schema": "string", - "table": "string", - "id": "string", - "ordinal_position": 0, - "name": "string", - "default_value": "string", - "data_type": "string", - "format": "string", - "description": "string", - "is_identity": true, - "identity_generation": "string", - "is_nullable": true, - "is_updatable": true, - "enums": [ - "string" - ] - } - ], - "grants": [ - { - "table_id": 0, - "grantor": "string", - "grantee": "string", - "catalog": "string", - "schema": "string", - "table_name": "string", - "privilege_type": "string", - "is_grantable": true, - "with_hierarchy": true - } - ], - "policies": [ - { - "id": 0, - "name": "string", - "schema": "string", - "table": "string", - "table_id": 0, - "action": "PERMISSIVE", - "roles": [ - "string" - ], - "command": "string", - "definition": "string", - "check": "string" - } - ], - "primary_keys": [ - { - "schema": "string", - "table_name": "string", - "name": "string", - "table_id": 0 - } - ], - "relationships": [ - { - "source_schema": "string", - "source_table_name": "string", - "source_column_name": "string", - "target_table_schema": "string", - "target_table_name": "string", - "target_column_name": "string", - "constraint_name": "string" - } - ] - } -] -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|Inline| - -

        Response Schema

        - -Status Code **200** - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|*anonymous*|[[Table](#schematable)]|false|none|none| -|» id|integer|false|none|none| -|» catalog|string|false|none|none| -|» schema|string|false|none|none| -|» name|string|false|none|none| -|» is_insertable_into|boolean|false|none|none| -|» rls_enabled|boolean|false|none|none| -|» rls_forced|boolean|false|none|none| -|» is_typed|boolean|false|none|none| -|» bytes|integer|false|none|none| -|» size|string|false|none|none| -|» seq_scan_count|integer|false|none|none| -|» seq_row_read_count|integer|false|none|none| -|» idx_scan_count|integer|false|none|none| -|» idx_row_read_count|integer|false|none|none| -|» row_ins_count|integer|false|none|none| -|» row_upd_count|integer|false|none|none| -|» row_del_count|integer|false|none|none| -|» row_hot_upd_count|integer|false|none|none| -|» live_row_count|integer|false|none|none| -|» dead_row_count|integer|false|none|none| -|» rows_mod_since_analyze|integer|false|none|none| -|» last_vacuum|string¦null|false|none|none| -|» last_autovacuum|string¦null|false|none|none| -|» last_analyze|string¦null|false|none|none| -|» last_autoanalyze|string¦null|false|none|none| -|» vacuum_count|integer|false|none|none| -|» autovacuum_count|integer|false|none|none| -|» analyze_count|integer|false|none|none| -|» autoanalyze_count|integer|false|none|none| -|» columns|[[Column](#schemacolumn)]|false|none|none| -|»» table_id|integer|false|none|none| -|»» schema|string|false|none|none| -|»» table|string|false|none|none| -|»» id|string|false|none|none| -|»» ordinal_position|integer|false|none|none| -|»» name|string|false|none|none| -|»» default_value|string|false|none|none| -|»» data_type|string|false|none|none| -|»» format|string|false|none|none| -|»» description|string|false|none|none| -|»» is_identity|boolean|false|none|none| -|»» identity_generation|string|false|none|none| -|»» is_nullable|boolean|false|none|none| -|»» is_updatable|boolean|false|none|none| -|»» enums|[string]|false|none|none| -|» grants|[[Grant](#schemagrant)]|false|none|none| -|»» table_id|integer|false|none|none| -|»» grantor|string|false|none|none| -|»» grantee|string|false|none|none| -|»» catalog|string|false|none|none| -|»» schema|string|false|none|none| -|»» table_name|string|false|none|none| -|»» privilege_type|string|false|none|none| -|»» is_grantable|boolean|false|none|none| -|»» with_hierarchy|boolean|false|none|none| -|» policies|[[Policy](#schemapolicy)]|false|none|none| -|»» id|integer|false|none|none| -|»» name|string|false|none|none| -|»» schema|string|false|none|none| -|»» table|string|false|none|none| -|»» table_id|integer|false|none|none| -|»» action|string|false|none|none| -|»» roles|[string]|false|none|none| -|»» command|string|false|none|none| -|»» definition|string|false|none|none| -|»» check|string¦null|false|none|none| -|» primary_keys|[object]|false|none|none| -|»» schema|string|false|none|none| -|»» table_name|string|false|none|none| -|»» name|string|false|none|none| -|»» table_id|integer|false|none|none| -|» relationships|[object]|false|none|none| -|»» source_schema|string|false|none|none| -|»» source_table_name|string|false|none|none| -|»» source_column_name|string|false|none|none| -|»» target_table_schema|string|false|none|none| -|»» target_table_name|string|false|none|none| -|»» target_column_name|string|false|none|none| -|»» constraint_name|string|false|none|none| - -#### Enumerated Values - -|Property|Value| -|---|---| -|action|PERMISSIVE| -|action|RESTRICTIVE| - - - -## Create a table - - - -> Code samples - -```shell -# You can also use wget -curl -X POST /tables \ - -H 'Content-Type: application/json' \ - -H 'Accept: application/json' - -``` - -```http -POST /tables HTTP/1.1 - -Content-Type: application/json -Accept: application/json - -``` - -```javascript -const inputBody = '{ - "name": "string", - "schema": "string" -}'; -const headers = { - 'Content-Type':'application/json', - 'Accept':'application/json' -}; - -fetch('/tables', -{ - method: 'POST', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json', - 'Accept' => 'application/json' -} - -result = RestClient.post '/tables', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json', - 'Accept': 'application/json' -} - -r = requests.post('/tables', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Accept' => 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('POST','/tables', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/tables"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("POST"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("POST", "/tables", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`POST /tables` - -> Body parameter - -```json -{ - "name": "string", - "schema": "string" -} -``` - -

        Parameters

        - -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|body|body|object|true|none| -|» name|body|string|true|none| -|» schema|body|string|false|none| - -> Example responses - -> 200 Response - -```json -{ - "id": 0, - "catalog": "string", - "schema": "string", - "name": "string", - "is_insertable_into": true, - "rls_enabled": true, - "rls_forced": true, - "is_typed": true, - "bytes": 0, - "size": "string", - "seq_scan_count": 0, - "seq_row_read_count": 0, - "idx_scan_count": 0, - "idx_row_read_count": 0, - "row_ins_count": 0, - "row_upd_count": 0, - "row_del_count": 0, - "row_hot_upd_count": 0, - "live_row_count": 0, - "dead_row_count": 0, - "rows_mod_since_analyze": 0, - "last_vacuum": "string", - "last_autovacuum": "string", - "last_analyze": "string", - "last_autoanalyze": "string", - "vacuum_count": 0, - "autovacuum_count": 0, - "analyze_count": 0, - "autoanalyze_count": 0, - "columns": [ - { - "table_id": 0, - "schema": "string", - "table": "string", - "id": "string", - "ordinal_position": 0, - "name": "string", - "default_value": "string", - "data_type": "string", - "format": "string", - "description": "string", - "is_identity": true, - "identity_generation": "string", - "is_nullable": true, - "is_updatable": true, - "enums": [ - "string" - ] - } - ], - "grants": [ - { - "table_id": 0, - "grantor": "string", - "grantee": "string", - "catalog": "string", - "schema": "string", - "table_name": "string", - "privilege_type": "string", - "is_grantable": true, - "with_hierarchy": true - } - ], - "policies": [ - { - "id": 0, - "name": "string", - "schema": "string", - "table": "string", - "table_id": 0, - "action": "PERMISSIVE", - "roles": [ - "string" - ], - "command": "string", - "definition": "string", - "check": "string" - } - ], - "primary_keys": [ - { - "schema": "string", - "table_name": "string", - "name": "string", - "table_id": 0 - } - ], - "relationships": [ - { - "source_schema": "string", - "source_table_name": "string", - "source_column_name": "string", - "target_table_schema": "string", - "target_table_name": "string", - "target_column_name": "string", - "constraint_name": "string" - } - ] -} -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|[Table](#schematable)| - - - -## Update a table by ID - - - -> Code samples - -```shell -# You can also use wget -curl -X PATCH /tables/{id} \ - -H 'Content-Type: application/json' \ - -H 'Accept: application/json' - -``` - -```http -PATCH /tables/{id} HTTP/1.1 - -Content-Type: application/json -Accept: application/json - -``` - -```javascript -const inputBody = '{ - "schema": "string", - "name": "string", - "rls_enabled": true, - "rls_forced": true -}'; -const headers = { - 'Content-Type':'application/json', - 'Accept':'application/json' -}; - -fetch('/tables/{id}', -{ - method: 'PATCH', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json', - 'Accept' => 'application/json' -} - -result = RestClient.patch '/tables/{id}', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json', - 'Accept': 'application/json' -} - -r = requests.patch('/tables/{id}', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Accept' => 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('PATCH','/tables/{id}', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/tables/{id}"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("PATCH"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("PATCH", "/tables/{id}", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`PATCH /tables/{id}` - -> Body parameter - -```json -{ - "schema": "string", - "name": "string", - "rls_enabled": true, - "rls_forced": true -} -``` - -

        Parameters

        - -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|body|body|object|true|none| -|» schema|body|string|false|none| -|» name|body|string|false|none| -|» rls_enabled|body|boolean|false|none| -|» rls_forced|body|boolean|false|none| -|id|path|integer|true|none| - -> Example responses - -> 200 Response - -```json -{ - "id": 0, - "catalog": "string", - "schema": "string", - "name": "string", - "is_insertable_into": true, - "rls_enabled": true, - "rls_forced": true, - "is_typed": true, - "bytes": 0, - "size": "string", - "seq_scan_count": 0, - "seq_row_read_count": 0, - "idx_scan_count": 0, - "idx_row_read_count": 0, - "row_ins_count": 0, - "row_upd_count": 0, - "row_del_count": 0, - "row_hot_upd_count": 0, - "live_row_count": 0, - "dead_row_count": 0, - "rows_mod_since_analyze": 0, - "last_vacuum": "string", - "last_autovacuum": "string", - "last_analyze": "string", - "last_autoanalyze": "string", - "vacuum_count": 0, - "autovacuum_count": 0, - "analyze_count": 0, - "autoanalyze_count": 0, - "columns": [ - { - "table_id": 0, - "schema": "string", - "table": "string", - "id": "string", - "ordinal_position": 0, - "name": "string", - "default_value": "string", - "data_type": "string", - "format": "string", - "description": "string", - "is_identity": true, - "identity_generation": "string", - "is_nullable": true, - "is_updatable": true, - "enums": [ - "string" - ] - } - ], - "grants": [ - { - "table_id": 0, - "grantor": "string", - "grantee": "string", - "catalog": "string", - "schema": "string", - "table_name": "string", - "privilege_type": "string", - "is_grantable": true, - "with_hierarchy": true - } - ], - "policies": [ - { - "id": 0, - "name": "string", - "schema": "string", - "table": "string", - "table_id": 0, - "action": "PERMISSIVE", - "roles": [ - "string" - ], - "command": "string", - "definition": "string", - "check": "string" - } - ], - "primary_keys": [ - { - "schema": "string", - "table_name": "string", - "name": "string", - "table_id": 0 - } - ], - "relationships": [ - { - "source_schema": "string", - "source_table_name": "string", - "source_column_name": "string", - "target_table_schema": "string", - "target_table_name": "string", - "target_column_name": "string", - "constraint_name": "string" - } - ] -} -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|[Table](#schematable)| - - - -## Delete a table by ID - - - -> Code samples - -```shell -# You can also use wget -curl -X DELETE /tables/{id} \ - -H 'Accept: application/json' - -``` - -```http -DELETE /tables/{id} HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/tables/{id}', -{ - method: 'DELETE', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.delete '/tables/{id}', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.delete('/tables/{id}', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('DELETE','/tables/{id}', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/tables/{id}"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("DELETE"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("DELETE", "/tables/{id}", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`DELETE /tables/{id}` - -

        Parameters

        - -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|id|path|integer|true|none| - -> Example responses - -> 200 Response - -```json -{ - "id": 0, - "catalog": "string", - "schema": "string", - "name": "string", - "is_insertable_into": true, - "rls_enabled": true, - "rls_forced": true, - "is_typed": true, - "bytes": 0, - "size": "string", - "seq_scan_count": 0, - "seq_row_read_count": 0, - "idx_scan_count": 0, - "idx_row_read_count": 0, - "row_ins_count": 0, - "row_upd_count": 0, - "row_del_count": 0, - "row_hot_upd_count": 0, - "live_row_count": 0, - "dead_row_count": 0, - "rows_mod_since_analyze": 0, - "last_vacuum": "string", - "last_autovacuum": "string", - "last_analyze": "string", - "last_autoanalyze": "string", - "vacuum_count": 0, - "autovacuum_count": 0, - "analyze_count": 0, - "autoanalyze_count": 0, - "columns": [ - { - "table_id": 0, - "schema": "string", - "table": "string", - "id": "string", - "ordinal_position": 0, - "name": "string", - "default_value": "string", - "data_type": "string", - "format": "string", - "description": "string", - "is_identity": true, - "identity_generation": "string", - "is_nullable": true, - "is_updatable": true, - "enums": [ - "string" - ] - } - ], - "grants": [ - { - "table_id": 0, - "grantor": "string", - "grantee": "string", - "catalog": "string", - "schema": "string", - "table_name": "string", - "privilege_type": "string", - "is_grantable": true, - "with_hierarchy": true - } - ], - "policies": [ - { - "id": 0, - "name": "string", - "schema": "string", - "table": "string", - "table_id": 0, - "action": "PERMISSIVE", - "roles": [ - "string" - ], - "command": "string", - "definition": "string", - "check": "string" - } - ], - "primary_keys": [ - { - "schema": "string", - "table_name": "string", - "name": "string", - "table_id": 0 - } - ], - "relationships": [ - { - "source_schema": "string", - "source_table_name": "string", - "source_column_name": "string", - "target_table_schema": "string", - "target_table_name": "string", - "target_column_name": "string", - "constraint_name": "string" - } - ] -} -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|[Table](#schematable)| - - - -

        /types

        - -## Get all types - - - -> Code samples - -```shell -# You can also use wget -curl -X GET /types \ - -H 'Accept: application/json' - -``` - -```http -GET /types HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/types', -{ - method: 'GET', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.get '/types', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.get('/types', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('GET','/types', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/types"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/types", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /types` - -

        Parameters

        - -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|include_system_schemas|query|boolean|false|none| - -> Example responses - -> 200 Response - -```json -[ - { - "id": 0, - "name": "string", - "schema": "string", - "format": "string", - "description": "string", - "enums": [ - "string" - ] - } -] -``` - -

        Responses

        - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful operation|Inline| - -

        Response Schema

        - -Status Code **200** - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|*anonymous*|[[Type](#schematype)]|false|none|none| -|» id|integer|false|none|none| -|» name|string|false|none|none| -|» schema|string|false|none|none| -|» format|string|false|none|none| -|» description|string¦null|false|none|none| -|» enums|[string]|false|none|none| - - - -# Schemas - -

        Column

        - - - - - - -```json -{ - "table_id": 0, - "schema": "string", - "table": "string", - "id": "string", - "ordinal_position": 0, - "name": "string", - "default_value": "string", - "data_type": "string", - "format": "string", - "description": "string", - "is_identity": true, - "identity_generation": "string", - "is_nullable": true, - "is_updatable": true, - "enums": [ - "string" - ] -} - -``` - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|table_id|integer|false|none|none| -|schema|string|false|none|none| -|table|string|false|none|none| -|id|string|false|none|none| -|ordinal_position|integer|false|none|none| -|name|string|false|none|none| -|default_value|string|false|none|none| -|data_type|string|false|none|none| -|format|string|false|none|none| -|description|string|false|none|none| -|is_identity|boolean|false|none|none| -|identity_generation|string|false|none|none| -|is_nullable|boolean|false|none|none| -|is_updatable|boolean|false|none|none| -|enums|[string]|false|none|none| - -

        Config

        - - - - - - -```json -{ - "name": "string", - "setting": "string", - "category": "string", - "group": "string", - "subgroup": "string", - "unit": "string", - "short_desc": "string", - "extra_desc": "string", - "context": "string", - "vartype": "string", - "source": "string", - "min_val": "string", - "max_val": "string", - "enumvals": [ - "string" - ], - "boot_val": "string", - "reset_val": "string", - "sourcefile": "string", - "sourceline": 0, - "pending_restart": true -} - -``` - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|name|string|false|none|none| -|setting|string|false|none|none| -|category|string|false|none|none| -|group|string|false|none|none| -|subgroup|string|false|none|none| -|unit|string¦null|false|none|none| -|short_desc|string|false|none|none| -|extra_desc|string¦null|false|none|none| -|context|string|false|none|none| -|vartype|string|false|none|none| -|source|string|false|none|none| -|min_val|string¦null|false|none|none| -|max_val|string¦null|false|none|none| -|enumvals|[string]¦null|false|none|none| -|boot_val|string|false|none|none| -|reset_val|string|false|none|none| -|sourcefile|string¦null|false|none|none| -|sourceline|integer¦null|false|none|none| -|pending_restart|boolean|false|none|none| - -

        Extension

        - - - - - - -```json -{ - "name": "string", - "comment": "string", - "default_version": "string", - "installed_version": "string" -} - -``` - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|name|string|false|none|none| -|comment|string|false|none|none| -|default_version|string|false|none|none| -|installed_version|string|false|none|none| - -

        Function

        - - - - - - -```json -{ - "id": 0, - "schema": "string", - "name": "string", - "language": "string", - "definition": "string", - "argument_types": "string", - "return_type": "string" -} - -``` - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|id|integer|false|none|none| -|schema|string|false|none|none| -|name|string|false|none|none| -|language|string|false|none|none| -|definition|string|false|none|none| -|argument_types|string|false|none|none| -|return_type|string|false|none|none| - -

        Grant

        - - - - - - -```json -{ - "table_id": 0, - "grantor": "string", - "grantee": "string", - "catalog": "string", - "schema": "string", - "table_name": "string", - "privilege_type": "string", - "is_grantable": true, - "with_hierarchy": true -} - -``` - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|table_id|integer|false|none|none| -|grantor|string|false|none|none| -|grantee|string|false|none|none| -|catalog|string|false|none|none| -|schema|string|false|none|none| -|table_name|string|false|none|none| -|privilege_type|string|false|none|none| -|is_grantable|boolean|false|none|none| -|with_hierarchy|boolean|false|none|none| - -

        Policy

        - - - - - - -```json -{ - "id": 0, - "name": "string", - "schema": "string", - "table": "string", - "table_id": 0, - "action": "PERMISSIVE", - "roles": [ - "string" - ], - "command": "string", - "definition": "string", - "check": "string" -} - -``` - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|id|integer|false|none|none| -|name|string|false|none|none| -|schema|string|false|none|none| -|table|string|false|none|none| -|table_id|integer|false|none|none| -|action|string|false|none|none| -|roles|[string]|false|none|none| -|command|string|false|none|none| -|definition|string|false|none|none| -|check|string¦null|false|none|none| - -#### Enumerated Values - -|Property|Value| -|---|---| -|action|PERMISSIVE| -|action|RESTRICTIVE| - -

        Role

        - - - - - - -```json -{ - "id": 0, - "name": "string", - "is_superuser": true, - "can_create_db": true, - "can_create_role": true, - "inherit_role": true, - "can_login": true, - "is_replication_role": true, - "can_bypass_rls": true, - "active_connections": 0, - "connection_limit": 0, - "password": "string", - "valid_until": "string", - "config": "string", - "grants": [ - { - "table_id": 0, - "grantor": "string", - "grantee": "string", - "catalog": "string", - "schema": "string", - "table_name": "string", - "privilege_type": "string", - "is_grantable": true, - "with_hierarchy": true - } - ] -} - -``` - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|id|integer|false|none|none| -|name|string|false|none|none| -|is_superuser|boolean|false|none|none| -|can_create_db|boolean|false|none|none| -|can_create_role|boolean|false|none|none| -|inherit_role|boolean|false|none|none| -|can_login|boolean|false|none|none| -|is_replication_role|boolean|false|none|none| -|can_bypass_rls|boolean|false|none|none| -|active_connections|integer|false|none|none| -|connection_limit|integer|false|none|none| -|password|string|false|none|none| -|valid_until|string¦null|false|none|none| -|config|string¦null|false|none|none| -|grants|[[Grant](#schemagrant)]|false|none|none| - -

        Schema

        - - - - - - -```json -{ - "id": 0, - "catalog_name": "string", - "name": "string", - "owner": "string", - "default_character_set_catalog": "string", - "default_character_set_schema": "string", - "default_character_set_name": "string", - "sql_path": "string" -} - -``` - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|id|integer|false|none|none| -|catalog_name|string|false|none|none| -|name|string|false|none|none| -|owner|string|false|none|none| -|default_character_set_catalog|string¦null|false|none|none| -|default_character_set_schema|string¦null|false|none|none| -|default_character_set_name|string¦null|false|none|none| -|sql_path|string¦null|false|none|none| - -

        Table

        - - - - - - -```json -{ - "id": 0, - "catalog": "string", - "schema": "string", - "name": "string", - "is_insertable_into": true, - "rls_enabled": true, - "rls_forced": true, - "is_typed": true, - "bytes": 0, - "size": "string", - "seq_scan_count": 0, - "seq_row_read_count": 0, - "idx_scan_count": 0, - "idx_row_read_count": 0, - "row_ins_count": 0, - "row_upd_count": 0, - "row_del_count": 0, - "row_hot_upd_count": 0, - "live_row_count": 0, - "dead_row_count": 0, - "rows_mod_since_analyze": 0, - "last_vacuum": "string", - "last_autovacuum": "string", - "last_analyze": "string", - "last_autoanalyze": "string", - "vacuum_count": 0, - "autovacuum_count": 0, - "analyze_count": 0, - "autoanalyze_count": 0, - "columns": [ - { - "table_id": 0, - "schema": "string", - "table": "string", - "id": "string", - "ordinal_position": 0, - "name": "string", - "default_value": "string", - "data_type": "string", - "format": "string", - "description": "string", - "is_identity": true, - "identity_generation": "string", - "is_nullable": true, - "is_updatable": true, - "enums": [ - "string" - ] - } - ], - "grants": [ - { - "table_id": 0, - "grantor": "string", - "grantee": "string", - "catalog": "string", - "schema": "string", - "table_name": "string", - "privilege_type": "string", - "is_grantable": true, - "with_hierarchy": true - } - ], - "policies": [ - { - "id": 0, - "name": "string", - "schema": "string", - "table": "string", - "table_id": 0, - "action": "PERMISSIVE", - "roles": [ - "string" - ], - "command": "string", - "definition": "string", - "check": "string" - } - ], - "primary_keys": [ - { - "schema": "string", - "table_name": "string", - "name": "string", - "table_id": 0 - } - ], - "relationships": [ - { - "source_schema": "string", - "source_table_name": "string", - "source_column_name": "string", - "target_table_schema": "string", - "target_table_name": "string", - "target_column_name": "string", - "constraint_name": "string" - } - ] -} - -``` - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|id|integer|false|none|none| -|catalog|string|false|none|none| -|schema|string|false|none|none| -|name|string|false|none|none| -|is_insertable_into|boolean|false|none|none| -|rls_enabled|boolean|false|none|none| -|rls_forced|boolean|false|none|none| -|is_typed|boolean|false|none|none| -|bytes|integer|false|none|none| -|size|string|false|none|none| -|seq_scan_count|integer|false|none|none| -|seq_row_read_count|integer|false|none|none| -|idx_scan_count|integer|false|none|none| -|idx_row_read_count|integer|false|none|none| -|row_ins_count|integer|false|none|none| -|row_upd_count|integer|false|none|none| -|row_del_count|integer|false|none|none| -|row_hot_upd_count|integer|false|none|none| -|live_row_count|integer|false|none|none| -|dead_row_count|integer|false|none|none| -|rows_mod_since_analyze|integer|false|none|none| -|last_vacuum|string¦null|false|none|none| -|last_autovacuum|string¦null|false|none|none| -|last_analyze|string¦null|false|none|none| -|last_autoanalyze|string¦null|false|none|none| -|vacuum_count|integer|false|none|none| -|autovacuum_count|integer|false|none|none| -|analyze_count|integer|false|none|none| -|autoanalyze_count|integer|false|none|none| -|columns|[[Column](#schemacolumn)]|false|none|none| -|grants|[[Grant](#schemagrant)]|false|none|none| -|policies|[[Policy](#schemapolicy)]|false|none|none| -|primary_keys|[object]|false|none|none| -|» schema|string|false|none|none| -|» table_name|string|false|none|none| -|» name|string|false|none|none| -|» table_id|integer|false|none|none| -|relationships|[object]|false|none|none| -|» source_schema|string|false|none|none| -|» source_table_name|string|false|none|none| -|» source_column_name|string|false|none|none| -|» target_table_schema|string|false|none|none| -|» target_table_name|string|false|none|none| -|» target_column_name|string|false|none|none| -|» constraint_name|string|false|none|none| - -

        Type

        - - - - - - -```json -{ - "id": 0, - "name": "string", - "schema": "string", - "format": "string", - "description": "string", - "enums": [ - "string" - ] -} - -``` - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|id|integer|false|none|none| -|name|string|false|none|none| -|schema|string|false|none|none| -|format|string|false|none|none| -|description|string¦null|false|none|none| -|enums|[string]|false|none|none| - -

        Version

        - - - - - - -```json -{ - "version": "string", - "version_number": 0, - "active_connections": 0, - "max_connections": 0 -} - -``` - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|version|string|false|none|none| -|version_number|integer|false|none|none| -|active_connections|integer|false|none|none| -|max_connections|integer|false|none|none| - diff --git a/docs/source/javascripts/.eslintrc.json b/docs/source/javascripts/.eslintrc.json deleted file mode 100644 index 00182c84..00000000 --- a/docs/source/javascripts/.eslintrc.json +++ /dev/null @@ -1,266 +0,0 @@ -{ - "env": { - "es6": true, - "node": true - }, - "extends": "eslint:recommended", - "rules": { - "accessor-pairs": "error", - "array-bracket-spacing": [ - "off", - "never" - ], - "array-callback-return": "error", - "arrow-body-style": "off", - "arrow-parens": [ - "off", - "as-needed" - ], - "arrow-spacing": [ - "error", - { - "after": true, - "before": true - } - ], - "block-scoped-var": "off", - "block-spacing": "off", - "brace-style": [ - "off", - "stroustrup" - ], - "callback-return": "off", - "camelcase": "off", - "class-methods-use-this": "error", - "comma-dangle": "error", - "comma-spacing": "off", - "comma-style": [ - "error", - "last" - ], - "complexity": "off", - "computed-property-spacing": [ - "error", - "never" - ], - "consistent-return": "off", - "consistent-this": "error", - "curly": "off", - "default-case": "error", - "dot-location": [ - "off", - "property" - ], - "dot-notation": [ - "error", - { - "allowKeywords": true - } - ], - "eol-last": "error", - "eqeqeq": "off", - "func-call-spacing": "error", - "func-name-matching": "off", - "func-names": "off", - "func-style": [ - "off", - "declaration" - ], - "generator-star-spacing": "off", - "global-require": "off", - "guard-for-in": "off", - "handle-callback-err": "off", - "id-blacklist": "error", - "id-length": "off", - "id-match": "error", - "indent": "off", - "init-declarations": "off", - "jsx-quotes": "error", - "key-spacing": "off", - "keyword-spacing": "off", - "line-comment-position": "off", - "linebreak-style": [ - "error", - "unix" - ], - "lines-around-comment": "off", - "lines-around-directive": "off", - "max-depth": "off", - "max-len": "off", - "max-lines": "off", - "max-nested-callbacks": "error", - "max-params": "off", - "max-statements": "off", - "max-statements-per-line": "off", - "multiline-ternary": [ - "off", - "never" - ], - "new-parens": "error", - "newline-after-var": "off", - "newline-before-return": "off", - "newline-per-chained-call": "off", - "no-alert": "error", - "no-array-constructor": "error", - "no-bitwise": "off", - "no-caller": "error", - "no-catch-shadow": "off", - "no-confusing-arrow": "error", - "no-console": "off", - "no-continue": "off", - "no-div-regex": "error", - "no-duplicate-imports": "error", - "no-else-return": "off", - "no-empty": [ - "warn", - { - "allowEmptyCatch": true - } - ], - "no-empty-function": "off", - "no-eq-null": "error", - "no-eval": "error", - "no-extend-native": "off", - "no-extra-bind": "error", - "no-extra-label": "error", - "no-extra-parens": "off", - "no-floating-decimal": "error", - "no-global-assign": "error", - "no-implicit-globals": "error", - "no-implied-eval": "error", - "no-inline-comments": "off", - "no-inner-declarations": [ - "error", - "functions" - ], - "no-invalid-this": "off", - "no-iterator": "error", - "no-label-var": "error", - "no-labels": "error", - "no-lone-blocks": "error", - "no-lonely-if": "off", - "no-loop-func": "off", - "no-magic-numbers": "off", - "no-mixed-operators": "error", - "no-mixed-requires": "error", - "no-multi-spaces": "off", - "no-multi-str": "error", - "no-multiple-empty-lines": "error", - "no-negated-condition": "error", - "no-nested-ternary": "off", - "no-new": "error", - "no-new-func": "error", - "no-new-object": "error", - "no-new-require": "error", - "no-new-wrappers": "error", - "no-octal-escape": "error", - "no-param-reassign": "off", - "no-path-concat": "error", - "no-plusplus": "off", - "no-process-env": "off", - "no-process-exit": "off", - "no-proto": "error", - "no-prototype-builtins": "error", - "no-restricted-globals": "error", - "no-restricted-imports": "error", - "no-restricted-modules": "error", - "no-restricted-properties": "error", - "no-restricted-syntax": "error", - "no-return-assign": "off", - "no-script-url": "error", - "no-self-compare": "error", - "no-sequences": "error", - "no-shadow": "off", - "no-shadow-restricted-names": "error", - "no-spaced-func": "error", - "no-sync": "off", - "no-tabs": "off", - "no-template-curly-in-string": "error", - "no-ternary": "off", - "no-throw-literal": "error", - "no-trailing-spaces": "error", - "no-undef-init": "error", - "no-undefined": "warn", - "no-underscore-dangle": "off", - "no-unmodified-loop-condition": "error", - "no-unneeded-ternary": [ - "error", - { - "defaultAssignment": true - } - ], - "no-unsafe-negation": "error", - "no-unused-expressions": "error", - "no-unused-vars": "off", - "no-use-before-define": "off", - "no-useless-call": "error", - "no-useless-computed-key": "error", - "no-useless-concat": "off", - "no-useless-constructor": "error", - "no-useless-escape": "off", - "no-useless-rename": "error", - "no-var": "off", - "no-void": "error", - "no-warning-comments": "off", - "no-whitespace-before-property": "error", - "no-with": "error", - "object-curly-newline": "off", - "object-curly-spacing": "off", - "object-property-newline": [ - "off", - { - "allowMultiplePropertiesPerLine": true - } - ], - "object-shorthand": "off", - "one-var": "off", - "one-var-declaration-per-line": "error", - "operator-assignment": "off", - "operator-linebreak": "off", - "padded-blocks": "off", - "prefer-arrow-callback": "off", - "prefer-const": "off", - "prefer-numeric-literals": "error", - "prefer-reflect": "off", - "prefer-rest-params": "error", - "prefer-spread": "error", - "prefer-template": "off", - "quote-props": "off", - "quotes": "off", - "radix": "error", - "require-jsdoc": "off", - "require-yield": "off", - "rest-spread-spacing": "error", - "semi": "off", - "semi-spacing": "off", - "no-extra-semi": "off", - "sort-imports": "error", - "sort-keys": "off", - "sort-vars": "off", - "space-before-blocks": "off", - "space-before-function-paren": "off", - "space-in-parens": [ - "error", - "never" - ], - "space-infix-ops": "off", - "space-unary-ops": "error", - "spaced-comment": "off", - "strict": "off", - "symbol-description": "error", - "template-curly-spacing": "error", - "unicode-bom": [ - "error", - "never" - ], - "valid-jsdoc": "off", - "vars-on-top": "off", - "wrap-iife": "error", - "wrap-regex": "off", - "yield-star-spacing": "error", - "yoda": [ - "error", - "never" - ] - } -} diff --git a/docs/source/javascripts/all.bundle.inc b/docs/source/javascripts/all.bundle.inc deleted file mode 100644 index 51114732..00000000 --- a/docs/source/javascripts/all.bundle.inc +++ /dev/null @@ -1 +0,0 @@ - diff --git a/docs/source/javascripts/all.inc b/docs/source/javascripts/all.inc deleted file mode 100644 index 58353c29..00000000 --- a/docs/source/javascripts/all.inc +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - diff --git a/docs/source/javascripts/all.js b/docs/source/javascripts/all.js deleted file mode 100644 index 5f5d4067..00000000 --- a/docs/source/javascripts/all.js +++ /dev/null @@ -1,2 +0,0 @@ -//= require ./all_nosearch -//= require ./app/_search diff --git a/docs/source/javascripts/all_nosearch.inc b/docs/source/javascripts/all_nosearch.inc deleted file mode 100644 index a3f21460..00000000 --- a/docs/source/javascripts/all_nosearch.inc +++ /dev/null @@ -1,18 +0,0 @@ - - - - - diff --git a/docs/source/javascripts/all_nosearch.js b/docs/source/javascripts/all_nosearch.js deleted file mode 100644 index e108c0b7..00000000 --- a/docs/source/javascripts/all_nosearch.js +++ /dev/null @@ -1,16 +0,0 @@ -//= require ./lib/_energize -//= require ./app/_toc -//= require ./app/_lang - -$(function() { - loadToc($('#toc'), '.toc-link', '.toc-list-h2, .toc-list-h3, .toc-list-h4, .toc-list-h5, .toc-list-h6', 10); - setupLanguages($('body').data('languages')); - $('.content').imagesLoaded( function() { - window.recacheHeights(); - window.refreshToc(); - }); -}); - -window.onpopstate = function() { - activateLanguage(getLanguageFromQueryString()); -}; diff --git a/docs/source/javascripts/app/.eslintrc.json b/docs/source/javascripts/app/.eslintrc.json deleted file mode 100644 index 277bbea9..00000000 --- a/docs/source/javascripts/app/.eslintrc.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "env": { - "browser": true, - "jquery": true - }, - "globals": { - "lunr": true - } -} diff --git a/docs/source/javascripts/app/_lang.js b/docs/source/javascripts/app/_lang.js deleted file mode 100644 index ec791a94..00000000 --- a/docs/source/javascripts/app/_lang.js +++ /dev/null @@ -1,164 +0,0 @@ -//= require ../lib/_jquery - -/* -Copyright 2008-2013 Concur Technologies, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); you may -not use this file except in compliance with the License. You may obtain -a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -License for the specific language governing permissions and limitations -under the License. -*/ -;(function () { - 'use strict'; - - var languages = []; - - window.setupLanguages = setupLanguages; - window.activateLanguage = activateLanguage; - window.getLanguageFromQueryString = getLanguageFromQueryString; - - function activateLanguage(language) { - if (!language) return; - if (language === "") return; - - $(".lang-selector a").removeClass('active'); - $(".lang-selector a[data-language-name='" + language + "']").addClass('active'); - for (var i=0; i < languages.length; i++) { - $(".highlight.tab-" + languages[i]).hide(); - $(".lang-specific." + languages[i]).hide(); - } - $(".highlight.tab-" + language).show(); - $(".lang-specific." + language).show(); - - window.recacheHeights(); - - // scroll to the new location of the position - if ($(window.location.hash).get(0)) { - $(window.location.hash).get(0).scrollIntoView(true); - } - } - - // parseURL and stringifyURL are from https://github.com/sindresorhus/query-string - // MIT licensed - // https://github.com/sindresorhus/query-string/blob/7bee64c16f2da1a326579e96977b9227bf6da9e6/license - function parseURL(str) { - if (typeof str !== 'string') { - return {}; - } - - str = str.trim().replace(/^(\?|#|&)/, ''); - - if (!str) { - return {}; - } - - return str.split('&').reduce(function (ret, param) { - var parts = param.replace(/\+/g, ' ').split('='); - var key = parts[0]; - var val = parts[1]; - - key = decodeURIComponent(key); - // missing `=` should be `null`: - // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters - val = (typeof val === "undefined") ? null : decodeURIComponent(val); - - if (!ret.hasOwnProperty(key)) { - ret[key] = val; - } else if (Array.isArray(ret[key])) { - ret[key].push(val); - } else { - ret[key] = [ret[key], val]; - } - - return ret; - }, {}); - }; - - function stringifyURL(obj) { - return obj ? Object.keys(obj).sort().map(function (key) { - var val = obj[key]; - - if (Array.isArray(val)) { - return val.sort().map(function (val2) { - return encodeURIComponent(key) + '=' + encodeURIComponent(val2); - }).join('&'); - } - - return encodeURIComponent(key) + '=' + encodeURIComponent(val); - }).join('&') : ''; - }; - - // gets the language set in the query string - function getLanguageFromQueryString() { - if (location.search.length >= 1) { - var language = parseURL(location.search).language; - if (language) { - return language; - } else if (jQuery.inArray(location.search.substr(1), languages) != -1) { - return location.search.substr(1); - } - } - - return false; - } - - // returns a new query string with the new language in it - function generateNewQueryString(language) { - var url = parseURL(location.search); - if (url.language) { - url.language = language; - return stringifyURL(url); - } - return language; - } - - // if a button is clicked, add the state to the history - function pushURL(language) { - if (!history) { return; } - var hash = window.location.hash; - if (hash) { - hash = hash.replace(/^#+/, ''); - } - history.pushState({}, '', '?' + generateNewQueryString(language) + '#' + hash); - - // save language as next default - localStorage.setItem("language", language); - } - - function setupLanguages(l) { - var defaultLanguage = localStorage.getItem("language"); - - languages = l; - - var presetLanguage = getLanguageFromQueryString(); - if (presetLanguage) { - // the language is in the URL, so use that language! - activateLanguage(presetLanguage); - - localStorage.setItem("language", presetLanguage); - } else if ((defaultLanguage !== null) && (jQuery.inArray(defaultLanguage, languages) != -1)) { - // the language was the last selected one saved in localstorage, so use that language! - activateLanguage(defaultLanguage); - } else { - // no language selected, so use the default - activateLanguage(languages[0]); - } - } - - // if we click on a language tab, activate that language - $(function() { - $(".lang-selector a").on("click", function() { - var language = $(this).data("language-name"); - pushURL(language); - activateLanguage(language); - return false; - }); - }); -})(); diff --git a/docs/source/javascripts/app/_search.js b/docs/source/javascripts/app/_search.js deleted file mode 100644 index 448bc2af..00000000 --- a/docs/source/javascripts/app/_search.js +++ /dev/null @@ -1,98 +0,0 @@ -//= require ../lib/_lunr -//= require ../lib/_jquery -//= require ../lib/_jquery.highlight -;(function () { - 'use strict'; - - var content, searchResults; - var highlightOpts = { element: 'span', className: 'search-highlight' }; - var searchDelay = 0; - var timeoutHandle = 0; - - var index = new lunr.Index(); - - index.ref('id'); - index.field('title', { boost: 10 }); - index.field('body'); - index.pipeline.add(lunr.trimmer, lunr.stopWordFilter); - - $(populate); - $(bind); - - function populate() { - $('h1, h2').each(function() { - var title = $(this); - var body = title.nextUntil('h1, h2'); - index.add({ - id: title.prop('id'), - title: title.text(), - body: body.text() - }); - }); - - determineSearchDelay(); - } - function determineSearchDelay() { - if(index.tokenStore.length>5000) { - searchDelay = 300; - } - } - - function bind() { - content = $('.content'); - searchResults = $('.search-results'); - - $('#input-search').on('keyup',function(e) { - var wait = function() { - return function(executingFunction, waitTime){ - clearTimeout(timeoutHandle); - timeoutHandle = setTimeout(executingFunction, waitTime); - }; - }(); - wait(function(){ - search(e); - }, searchDelay); - }); - } - - function search(event) { - - var searchInput = $('#input-search')[0]; - - unhighlight(); - searchResults.addClass('visible'); - - // ESC clears the field - if (event.keyCode === 27) searchInput.value = ''; - - if (searchInput.value) { - var results = index.search(searchInput.value).filter(function(r) { - return r.score > 0.0001; - }); - - if (results.length) { - searchResults.empty(); - $.each(results, function (index, result) { - var elem = document.getElementById(result.ref); - searchResults.append("
      • " + $(elem).text() + "
      • "); - }); - highlight.call(searchInput); - } else { - searchResults.html('
      • '); - $('.search-results li').text('No Results Found for "' + searchInput.value + '"'); - } - } else { - unhighlight(); - searchResults.removeClass('visible'); - } - } - - function highlight() { - if (this.value) content.highlight(this.value, highlightOpts); - } - - function unhighlight() { - content.unhighlight(highlightOpts); - } -})(); - diff --git a/docs/source/javascripts/app/_toc.js b/docs/source/javascripts/app/_toc.js deleted file mode 100644 index a8a21214..00000000 --- a/docs/source/javascripts/app/_toc.js +++ /dev/null @@ -1,122 +0,0 @@ -//= require ../lib/_jquery -//= require ../lib/_imagesloaded.min -;(function () { - 'use strict'; - - var htmlPattern = /<[^>]*>/g; - var loaded = false; - - var debounce = function(func, waitTime) { - var timeout = false; - return function() { - if (timeout === false) { - setTimeout(function() { - func(); - timeout = false; - }, waitTime); - timeout = true; - } - }; - }; - - var closeToc = function() { - $(".toc-wrapper").removeClass('open'); - $("#nav-button").removeClass('open'); - }; - - function loadToc($toc, tocLinkSelector, tocListSelector, scrollOffset) { - var headerHeights = {}; - var pageHeight = 0; - var windowHeight = 0; - var originalTitle = document.title; - - var recacheHeights = function() { - headerHeights = {}; - pageHeight = $(document).height(); - windowHeight = $(window).height(); - - $toc.find(tocLinkSelector).each(function() { - var targetId = $(this).attr('href'); - if (targetId[0] === "#") { - headerHeights[targetId] = $(targetId).offset().top; - } - }); - }; - - var refreshToc = function() { - var currentTop = $(document).scrollTop() + scrollOffset; - - if (currentTop + windowHeight >= pageHeight) { - // at bottom of page, so just select last header by making currentTop very large - // this fixes the problem where the last header won't ever show as active if its content - // is shorter than the window height - currentTop = pageHeight + 1000; - } - - var best = null; - for (var name in headerHeights) { - if ((headerHeights[name] < currentTop && headerHeights[name] > headerHeights[best]) || best === null) { - best = name; - } - } - - // Catch the initial load case - if (currentTop == scrollOffset && !loaded) { - best = window.location.hash; - loaded = true; - } - - var $best = $toc.find("[href='" + best + "']").first(); - if (!$best.hasClass("active")) { - // .active is applied to the ToC link we're currently on, and its parent