UNPKG

bgipfs

Version:
28 lines (27 loc) 846 B
const COMMON_OWNED_KEYS = { 'Gateway.NoFetch': true, 'Routing.Type': 'dht', }; export const getBgipfsIpfsConfigPolicy = (config, repoVersion) => { const usesProvideConfig = repoVersion === undefined ? hasObject(config, 'Provide') || !hasObject(config, 'Reprovider') : repoVersion >= 18; if (usesProvideConfig) { return { ownedKeys: { 'Provide.Strategy': 'pinned+entities', ...COMMON_OWNED_KEYS, }, removedKeys: ['Reprovider'], }; } return { ownedKeys: { 'Reprovider.Strategy': 'roots', ...COMMON_OWNED_KEYS, }, removedKeys: [], }; }; const hasObject = (config, key) => { const value = config[key]; return Boolean(value && typeof value === 'object' && !Array.isArray(value)); };