Skip to content

Commit 1ee0983

Browse files
authored
fix: circular dependencies (#70)
1 parent a5a8fdf commit 1ee0983

2 files changed

Lines changed: 20 additions & 19 deletions

File tree

index.js

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,8 @@
11
'use strict'
22

3-
const fastJsonStringify = require('fast-json-stringify')
4-
5-
function SerializerSelector () {
6-
return function buildSerializerFactory (externalSchemas, serializerOpts) {
7-
const fjsOpts = Object.assign({}, serializerOpts, { schema: externalSchemas })
8-
return responseSchemaCompiler.bind(null, fjsOpts)
9-
}
10-
}
11-
12-
function responseSchemaCompiler (fjsOpts, { schema /* method, url, httpStatus */ }) {
13-
if (fjsOpts.schema && schema.$id && fjsOpts.schema[schema.$id]) {
14-
fjsOpts.schema = { ...fjsOpts.schema }
15-
delete fjsOpts.schema[schema.$id]
16-
}
17-
return fastJsonStringify(schema, fjsOpts)
18-
}
3+
const { SerializerSelector, StandaloneSerializer } = require('./standalone')
194

205
module.exports = SerializerSelector
216
module.exports.default = SerializerSelector
227
module.exports.SerializerSelector = SerializerSelector
23-
module.exports.StandaloneSerializer = require('./standalone')
8+
module.exports.StandaloneSerializer = StandaloneSerializer

standalone.js

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,21 @@
11
'use strict'
22

3-
const SerializerSelector = require('./index')
3+
const fastJsonStringify = require('fast-json-stringify')
4+
5+
function SerializerSelector () {
6+
return function buildSerializerFactory (externalSchemas, serializerOpts) {
7+
const fjsOpts = Object.assign({}, serializerOpts, { schema: externalSchemas })
8+
return responseSchemaCompiler.bind(null, fjsOpts)
9+
}
10+
}
11+
12+
function responseSchemaCompiler (fjsOpts, { schema /* method, url, httpStatus */ }) {
13+
if (fjsOpts.schema && schema.$id && fjsOpts.schema[schema.$id]) {
14+
fjsOpts.schema = { ...fjsOpts.schema }
15+
delete fjsOpts.schema[schema.$id]
16+
}
17+
return fastJsonStringify(schema, fjsOpts)
18+
}
419

520
function StandaloneSerializer (options = { readMode: true }) {
621
if (options.readMode === true && typeof options.restoreFunction !== 'function') {
@@ -38,5 +53,6 @@ function StandaloneSerializer (options = { readMode: true }) {
3853
}
3954
}
4055

41-
module.exports = StandaloneSerializer
56+
module.exports.SerializerSelector = SerializerSelector
57+
module.exports.StandaloneSerializer = StandaloneSerializer
4258
module.exports.default = StandaloneSerializer

0 commit comments

Comments
 (0)