'use strict' /** Delegate combined mixins aligned with dedicated *-json-mixin.js (Phase 728). */ const DELEGATE_DEDICATED_ALIGNMENT = [ { combined: 'slash-json-mixin.js', dedicated: 'slash-registry-json-mixin.js', method: '_shouldGossipSlashRegistryJson', keysField: '_slashRegistryExportJsonGossipKeys', initMethod: '_initSlashRegistryJsonMixinState' }, { combined: 'slash-json-mixin.js', dedicated: 'slash-invoke-audit-json-mixin.js', method: '_shouldGossipSlashInvokeAuditExportJson', keysField: '_slashInvokeAuditRegistryJsonGossipKeys', initMethod: '_initSlashInvokeAuditJsonMixinState', gossipHashPrefix: 'invoke:' }, { combined: 'oauth-json-mixin.js', dedicated: 'oauth-grant-json-mixin.js', method: '_shouldGossipOAuthGrantJson', keysField: '_oauthGrantRegistryJsonGossipKeys', initMethod: '_initOAuthGrantJsonMixinState' }, { combined: 'oauth-json-mixin.js', dedicated: 'oauth-install-token-json-mixin.js', method: '_shouldGossipOAuthInstallTokenExportJson', keysField: '_oauthInstallTokenRegistryJsonGossipKeys', initMethod: '_initOAuthInstallTokenJsonMixinState', gossipHashPrefix: 'install:' }, { combined: 'invite-json-mixin.js', dedicated: 'invite-link-json-mixin.js', method: '_shouldGossipInviteLinkJson', keysField: '_inviteLinkRegistryJsonGossipKeys', initMethod: '_initInviteLinkJsonMixinState' }, { combined: 'invite-json-mixin.js', dedicated: 'vanity-url-json-mixin.js', method: '_shouldGossipVanityUrlExportJson', keysField: '_vanityUrlRegistryJsonGossipKeys', initMethod: '_initVanityUrlJsonMixinState', gossipHashPrefix: 'vanity:' }, { combined: 'permission-json-mixin.js', dedicated: 'role-override-json-mixin.js', method: '_shouldGossipRoleOverrideJson', keysField: '_roleOverrideRegistryJsonGossipKeys', initMethod: '_initRoleOverrideJsonMixinState' }, { combined: 'permission-json-mixin.js', dedicated: 'effective-permission-json-mixin.js', method: '_shouldGossipEffectivePermissionExportJson', keysField: '_effectivePermissionRegistryJsonGossipKeys', initMethod: '_initEffectivePermissionJsonMixinState', gossipHashPrefix: 'effective:' }, { combined: 'worker-json-mixin.js', dedicated: 'worker-release-json-mixin.js', method: '_shouldGossipWorkerReleaseJson', keysField: '_workerReleaseRegistryJsonGossipKeys', initMethod: '_initWorkerReleaseJsonMixinState' }, { combined: 'worker-json-mixin.js', dedicated: 'integration-manifest-json-mixin.js', method: '_shouldGossipIntegrationManifestExportJson', keysField: '_integrationManifestRegistryJsonGossipKeys', initMethod: '_initIntegrationManifestJsonMixinState', gossipHashPrefix: 'manifest:' } ] /** Dual-heal combined rows where one gossip method has a dedicated mixin (Phase 729). */ const DUAL_HEAL_DEDICATED_ALIGNMENT = [ { combined: 'notification-json-mixin.js', dedicated: 'channel-follow-json-mixin.js', method: '_shouldGossipChannelFollowExportJson', keysField: '_channelFollowRegistryJsonGossipKeys', initMethod: '_initChannelFollowJsonMixinState', gossipHashPrefix: 'effective:' }, { combined: 'presence-json-mixin.js', dedicated: 'read-state-json-mixin.js', method: '_shouldGossipReadStateExportJson', keysField: '_readStateRegistryJsonGossipKeys', initMethod: '_initReadStateJsonMixinState', gossipHashPrefix: 'effective:' }, { combined: 'status-json-mixin.js', dedicated: 'guild-widget-json-mixin.js', method: '_shouldGossipGuildWidgetExportJson', keysField: '_guildWidgetRegistryJsonGossipKeys', initMethod: '_initGuildWidgetJsonMixinState', gossipHashPrefix: 'effective:' } ] const ALL_GOSSIP_ALIGNMENT_ROWS = DELEGATE_DEDICATED_ALIGNMENT.concat( DUAL_HEAL_DEDICATED_ALIGNMENT ) module.exports = { DELEGATE_DEDICATED_ALIGNMENT, DUAL_HEAL_DEDICATED_ALIGNMENT, ALL_GOSSIP_ALIGNMENT_ROWS }