aboutsummaryrefslogtreecommitdiffstats
path: root/packages/sra-spec/src/json-schemas.ts
diff options
context:
space:
mode:
authorFabio Berger <me@fabioberger.com>2018-08-27 22:28:57 +0800
committerFabio Berger <me@fabioberger.com>2018-08-27 22:28:57 +0800
commitb8241c0f808518a3f727424cacb952cc9ce80c4c (patch)
tree309abba264ea3578cefdc8d7a4f53ef482ff26c9 /packages/sra-spec/src/json-schemas.ts
parentfe7a8be98c32c6aed8548574e67e36962db732fb (diff)
parentf4a4fefe422a5b2140d5bb394a7f06f842352c69 (diff)
downloaddexon-sol-tools-b8241c0f808518a3f727424cacb952cc9ce80c4c.tar
dexon-sol-tools-b8241c0f808518a3f727424cacb952cc9ce80c4c.tar.gz
dexon-sol-tools-b8241c0f808518a3f727424cacb952cc9ce80c4c.tar.bz2
dexon-sol-tools-b8241c0f808518a3f727424cacb952cc9ce80c4c.tar.lz
dexon-sol-tools-b8241c0f808518a3f727424cacb952cc9ce80c4c.tar.xz
dexon-sol-tools-b8241c0f808518a3f727424cacb952cc9ce80c4c.tar.zst
dexon-sol-tools-b8241c0f808518a3f727424cacb952cc9ce80c4c.zip
Merge branch 'development' into dev-dropdown
* development: (120 commits) Exit with non-error code at end of publishRelease Publish Updated CHANGELOGS Fix prettier Update changelog files for RC packages Skip doc generation for local publishes since we test this in a separate CI test Fix typo Use absolute path Run yarn a second time if the first fails Try relative to root dir Fix command Move md files to lib folder during build Change exit code to failure Fix sra-spec `main` and `types` in package.json Actual relative path Try relative path Issue #1025 BlockParam unroll Fix command Move md files to lib folder during build Fix sra-spec `main` and `types` in package.json ...
Diffstat (limited to 'packages/sra-spec/src/json-schemas.ts')
-rw-r--r--packages/sra-spec/src/json-schemas.ts63
1 files changed, 63 insertions, 0 deletions
diff --git a/packages/sra-spec/src/json-schemas.ts b/packages/sra-spec/src/json-schemas.ts
new file mode 100644
index 000000000..173a04bfb
--- /dev/null
+++ b/packages/sra-spec/src/json-schemas.ts
@@ -0,0 +1,63 @@
+import { schemas as jsonSchemas } from '@0xproject/json-schemas';
+
+// Only include schemas we actually need
+const {
+ numberSchema,
+ addressSchema,
+ hexSchema,
+ orderHashSchema,
+ orderSchema,
+ signedOrderSchema,
+ signedOrdersSchema,
+ ordersSchema,
+ paginatedCollectionSchema,
+ relayerApiErrorResponseSchema,
+ relayerApiFeeRecipientsResponseSchema,
+ relayerApiOrderSchema,
+ relayerApiOrdersSchema,
+ relayerApiOrderConfigPayloadSchema,
+ relayerApiOrderConfigResponseSchema,
+ relayerApiOrderbookResponseSchema,
+ relayerApiAssetDataPairsResponseSchema,
+ relayerApiAssetDataTradeInfoSchema,
+ relayerApiOrdersChannelSubscribeSchema,
+ relayerApiOrdersChannelSubscribePayload,
+ relayerApiOrdersChannelUpdateSchema,
+ relayerApiOrdersResponseSchema,
+ relayerApiAssetDataPairsSchema,
+} = jsonSchemas;
+
+const usedSchemas = {
+ numberSchema,
+ addressSchema,
+ hexSchema,
+ orderHashSchema,
+ orderSchema,
+ signedOrderSchema,
+ signedOrdersSchema,
+ ordersSchema,
+ paginatedCollectionSchema,
+ relayerApiErrorResponseSchema,
+ relayerApiFeeRecipientsResponseSchema,
+ relayerApiOrderSchema,
+ relayerApiOrdersSchema,
+ relayerApiOrderConfigPayloadSchema,
+ relayerApiOrderConfigResponseSchema,
+ relayerApiOrderbookResponseSchema,
+ relayerApiAssetDataPairsResponseSchema,
+ relayerApiAssetDataTradeInfoSchema,
+ relayerApiOrdersChannelSubscribeSchema,
+ relayerApiOrdersChannelSubscribePayload,
+ relayerApiOrdersChannelUpdateSchema,
+ relayerApiOrdersResponseSchema,
+ relayerApiAssetDataPairsSchema,
+};
+
+// We need to replace the `$ref`s to be OpenAPI compliant.
+const openApiSchemas = JSON.parse(
+ JSON.stringify(usedSchemas).replace(/(\/\w+)/g, match => `#/components/schemas${match}`),
+);
+// The json schema used by OpenAPI does not accept ids
+Object.keys(openApiSchemas).forEach(key => delete openApiSchemas[key].id);
+
+export const schemas = openApiSchemas;