Skip to content

Commit

Permalink
require lazily (#70)
Browse files Browse the repository at this point in the history
  • Loading branch information
zardoy authored Dec 31, 2023
1 parent 2638bec commit 257f7fd
Showing 1 changed file with 22 additions and 13 deletions.
35 changes: 22 additions & 13 deletions src/chunk.js
Original file line number Diff line number Diff line change
@@ -1,20 +1,29 @@
const PrismarineChunk = require('prismarine-chunk')

module.exports = (registryOrVersion) => {
const registry = typeof registryOrVersion === 'string' ? require('prismarine-registry')(registryOrVersion) : registryOrVersion
const Chunk = require('prismarine-chunk')(registry)
const Chunk = PrismarineChunk(registry)

const chunkImplementations = {
1.8: require('./1.8/chunk'),
1.9: require('./1.8/chunk'),
'1.10': require('./1.8/chunk'),
1.11: require('./1.8/chunk'),
1.12: require('./1.8/chunk'),
1.13: require('./1.13/chunk'),
1.14: require('./1.14/chunk')('1.14', 1976),
1.15: require('./1.14/chunk')('1.15', 2230),
1.16: require('./1.14/chunk')('1.16', 2567, true),
1.17: require('./1.14/chunk')('1.17', 2730, true),
1.18: require('./1.18/chunk')
1.8: () => require('./1.8/chunk'),
1.9: () => require('./1.8/chunk'),
'1.10': () => require('./1.8/chunk'),
1.11: () => require('./1.8/chunk'),
1.12: () => require('./1.8/chunk'),
1.13: () => require('./1.13/chunk'),
1.14: () => require('./1.14/chunk')('1.14', 1976),
1.15: () => require('./1.14/chunk')('1.15', 2230),
1.16: () => require('./1.14/chunk')('1.16', 2567, true),
1.17: () => require('./1.14/chunk')('1.17', 2730, true),
1.18: () => require('./1.18/chunk')
}

const loadVersion = registry.version.majorVersion
const implementationLoader = chunkImplementations[loadVersion]?.()

if (!implementationLoader) {
throw new Error(`Unsupported version: ${loadVersion}`)
}

return chunkImplementations[registry.version.majorVersion](Chunk, registry)
return implementationLoader(Chunk, registry)
}

0 comments on commit 257f7fd

Please sign in to comment.