mirror of
https://github.com/knex/knex.git
synced 2025-11-14 00:54:40 +00:00
40 lines
741 B
JavaScript
40 lines
741 B
JavaScript
|
|
import { watch, ref, nextTick, inject } from 'vue';
|
||
|
|
|
||
|
|
export function createDialect(app) {
|
||
|
|
const dialect = ref('mysql');
|
||
|
|
|
||
|
|
if (!import.meta.url) {
|
||
|
|
watch(dialect, (value) => {
|
||
|
|
localStorage.setItem('sql-dialect', value);
|
||
|
|
});
|
||
|
|
nextTick(() => {
|
||
|
|
const value = localStorage.getItem('sql-dialect');
|
||
|
|
if (value) {
|
||
|
|
dialect.value = value;
|
||
|
|
}
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
// provide for later inject
|
||
|
|
app.provide('dialect', dialect);
|
||
|
|
|
||
|
|
// expose $dialect to templates
|
||
|
|
Object.defineProperty(app.config.globalProperties, '$dialect', {
|
||
|
|
get() {
|
||
|
|
return dialect.value;
|
||
|
|
},
|
||
|
|
});
|
||
|
|
|
||
|
|
return {
|
||
|
|
dialect,
|
||
|
|
};
|
||
|
|
}
|
||
|
|
|
||
|
|
export function useDialect() {
|
||
|
|
const dialect = inject('dialect');
|
||
|
|
|
||
|
|
return {
|
||
|
|
dialect,
|
||
|
|
};
|
||
|
|
}
|