Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

experimental: fix devtools-if #450

Merged
merged 2 commits into from
Apr 10, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 2 additions & 2 deletions packages/core-base/src/devtools.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ export function initI18nDevTools(
): void {
// TODO: queue if devtools is undefined
devtools &&
devtools.emit(IntlifyDevToolsHooks.I18N_INIT, {
devtools.emit(IntlifyDevToolsHooks.I18nInit, {
timestamp: Date.now(),
i18n,
version,
Expand All @@ -31,7 +31,7 @@ export function initI18nDevTools(
}

export const translateDevTools = /* #__PURE__*/ createDevToolsHook(
IntlifyDevToolsHooks.FUNCTION_TRANSLATE
IntlifyDevToolsHooks.FunctionTranslate
)

function createDevToolsHook(hook: IntlifyDevToolsHooks) {
Expand Down
6 changes: 3 additions & 3 deletions packages/core-base/test/devtools.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ afterEach(() => {

test('initI18nDevTools', () => {
const fn = jest.fn()
devtools!.on(IntlifyDevToolsHooks.I18N_INIT, fn)
devtools!.on(IntlifyDevToolsHooks.I18nInit, fn)

const meta = { framework: 'Vue' }
const ctx = createCoreContext({
Expand All @@ -46,7 +46,7 @@ test('initI18nDevTools', () => {
describe('translateDevTools', () => {
test('basic', () => {
const fn = jest.fn()
devtools!.on(IntlifyDevToolsHooks.FUNCTION_TRANSLATE, fn)
devtools!.on(IntlifyDevToolsHooks.FunctionTranslate, fn)

const meta = { __INTLIFY_META__: 'xxx', framework: 'Vue' }
const HELLO = 'Hello {name}!'
Expand All @@ -73,7 +73,7 @@ describe('translateDevTools', () => {

test('fallback', () => {
const fn = jest.fn()
devtools!.on(IntlifyDevToolsHooks.FUNCTION_TRANSLATE, fn)
devtools!.on(IntlifyDevToolsHooks.FunctionTranslate, fn)

const HELLO = 'やあ {name}!'
const ctx = createCoreContext({
Expand Down
18 changes: 10 additions & 8 deletions packages/devtools-if/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,24 @@ export interface IntlifyRecord {
types: Record<string, string | Symbol> // TODO
}

export const enum IntlifyDevToolsHooks {
I18N_INIT = 'i18n:init',
FUNCTION_TRANSLATE = 'function:translate'
}
export const IntlifyDevToolsHooks = {
I18nInit: 'i18n:init',
FunctionTranslate: 'function:translate'
} as const

export type AdditionalPayloads = {
meta?: Record<string, unknown>
}

export type IntlifyDevToolsHooks = typeof IntlifyDevToolsHooks[keyof typeof IntlifyDevToolsHooks]

export type IntlifyDevToolsHookPayloads = {
[IntlifyDevToolsHooks.I18N_INIT]: {
[IntlifyDevToolsHooks.I18nInit]: {
timestamp: number
i18n: unknown // TODO:
version: string
} & AdditionalPayloads
[IntlifyDevToolsHooks.FUNCTION_TRANSLATE]: {
[IntlifyDevToolsHooks.FunctionTranslate]: {
timestamp: number
message: string | number
key: string
Expand All @@ -32,8 +34,8 @@ export type IntlifyDevToolsHookPayloads = {
}

export type IntlifyDevToolsEmitterHooks = {
[IntlifyDevToolsHooks.I18N_INIT]: IntlifyDevToolsHookPayloads[IntlifyDevToolsHooks.I18N_INIT]
[IntlifyDevToolsHooks.FUNCTION_TRANSLATE]: IntlifyDevToolsHookPayloads[IntlifyDevToolsHooks.FUNCTION_TRANSLATE]
[IntlifyDevToolsHooks.I18nInit]: IntlifyDevToolsHookPayloads[typeof IntlifyDevToolsHooks.I18nInit]
[IntlifyDevToolsHooks.FunctionTranslate]: IntlifyDevToolsHookPayloads[typeof IntlifyDevToolsHooks.FunctionTranslate]
}

export type IntlifyDevToolsEmitter = Emittable<IntlifyDevToolsEmitterHooks>
4 changes: 2 additions & 2 deletions packages/vue-i18n/test/i18n.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -867,8 +867,8 @@ test('Intlify devtools hooking', () => {

const fnI18nInit = jest.fn()
const fnTranslate = jest.fn()
emitter.on(IntlifyDevToolsHooks.I18N_INIT, fnI18nInit)
emitter.on(IntlifyDevToolsHooks.FUNCTION_TRANSLATE, fnTranslate)
emitter.on(IntlifyDevToolsHooks.I18nInit, fnI18nInit)
emitter.on(IntlifyDevToolsHooks.FunctionTranslate, fnTranslate)

const i18n = createI18n({
locale: 'en',
Expand Down