2
0
mirror of https://github.com/tenrok/vue-meta.git synced 2026-06-08 11:42:24 +03:00

chore: remove old types

This commit is contained in:
pimlie
2021-02-01 00:13:40 +01:00
parent 45704e0a31
commit 11efed53d8
5 changed files with 0 additions and 394 deletions
-28
View File
@@ -1,28 +0,0 @@
import './vue'
import { VueMeta } from './vue-meta'
export default VueMeta
export {
VueMetaOptions,
VueMetaPlugin,
VueMetaApp,
MetaInfo,
MetaInfoSSR,
AttributeProperty,
LinkPropertyBase,
LinkPropertyHref,
LinkPropertyHrefCallback,
MetaPropertyCharset,
MetaPropertyEquiv,
MetaPropertyName,
MetaPropertyMicrodata,
MetaPropertyProperty,
NoScriptProperty,
ScriptPropertyBase,
ScriptPropertyText,
ScriptPropertySrc,
ScriptPropertySrcCallback,
ScriptPropertyJson,
StyleProperty
} from './vue-meta'
-95
View File
@@ -1,95 +0,0 @@
import Vue, { ComponentOptions } from 'vue'
import VueMeta, {
VueMetaPlugin,
VueMetaOptions,
VueMetaApp,
MetaInfo,
MetaInfoSSR,
MetaPropertyCharset
} from '../index'
Vue.use(VueMeta, {
keyName: 'head'
} as VueMetaOptions)
const FooMetaInfo: MetaInfo = {
title: 'title',
titleTemplate: '%s - Home',
bodyAttrs: { class: 'a' }
}
const BarMetaInfo: MetaInfo = {
title: 'title',
titleTemplate: c => `${c} - Home`,
bodyAttrs: { class: ['a', 'b'] },
__dangerouslyDisableSanitizers: ['script'],
__dangerouslyDisableSanitizersByTagID: {
ldjson: ['innerHTML']
},
link: [
{ vmid: '', rel: '', href: '', callback: () => {} }
],
script: [
{ src: '', crossorigin: '', async: true },
{ vmid: '', src: '', callback: () => {} }
],
meta: [
{ charset: 'utf-8' },
{
property: 'og:title',
content: 'Test title',
template: chunk => `${chunk} - My page`, //or as string template: '%s - My page',
vmid: 'og:title'
}
],
changed(newdata: MetaInfo, newTags: HTMLElement[], oldTags: HTMLElement[]) {
},
afterNavigation(data: MetaInfo) {
}
}
const Foo: ComponentOptions<Vue> = {
metaInfo: FooMetaInfo
}
const Bar: ComponentOptions<Vue> = {
metaInfo() {
return BarMetaInfo
}
}
const app: Vue = new Vue(Foo)
const $meta: VueMetaPlugin = app.$meta()
// getOptions
const options: VueMetaOptions = $meta.getOptions()
// client side refresh
const { metaInfo: metaData1 }: { metaInfo: MetaInfo } = $meta.refresh()
// server side injection
const metaDataSSR: MetaInfoSSR = $meta.inject()
if (metaDataSSR.script) {
metaDataSSR.script.text()
metaDataSSR.script.text({ body: true })
}
// add app
const customApp: VueMetaApp = $meta.addApp('custom-app')
const metaCharset: MetaPropertyCharset = { charset: 'utf-8' }
const customAppInfo: MetaInfo = {
meta: [metaCharset]
}
customApp.set(customAppInfo)
// pausing & resuming
let resume
resume = $meta.pause()
const ret: void = resume()
resume = $meta.pause(true)
const { metaInfo: metaData2 }: { metaInfo: MetaInfo } = resume()
const { metaInfo: metaData3 }: { metaInfo: MetaInfo } = $meta.resume(true)
const metaInfo: MetaInfoSSR = VueMeta.generate({ meta: [{ charset: 'utf-8' }] }, { ssrAppId: 1 })
-18
View File
@@ -1,18 +0,0 @@
{
"compilerOptions": {
"target": "es5",
"module": "es2015",
"moduleResolution": "node",
"strict": true,
"noEmit": true,
"lib": [
"es5",
"dom",
"es2015.promise"
]
},
"include": [
"*.ts",
"../*.d.ts"
]
}
-235
View File
@@ -1,235 +0,0 @@
import './vue'
import Vue, { ComponentOptions, PluginFunction } from 'vue'
type Component = ComponentOptions<Vue> | typeof Vue
type CallbackFn = () => void
type elements = HTMLElement[]
export interface VueMetaOptionsRuntime {
refreshOnceOnNavigation?: boolean
debounceWait?: number
waitOnDestroyed?: boolean
}
export interface VueMetaOptions extends VueMetaOptionsRuntime {
keyName: string, // the component option name that vue-meta looks for meta info on.
attribute: string, // the attribute name vue-meta adds to the tags it observes
ssrAppId: string, // the app id used for ssr app
ssrAttribute: string, // the attribute name that lets vue-meta know that meta info has already been server-rendered
tagIDKeyName: string // the property name that vue-meta uses to determine whether to overwrite or append a tag
}
export declare class VueMeta {
static version: string
static install(vue: typeof Vue, options?: VueMetaOptions): PluginFunction<never>
static hasMetaInfo(vm: Component): boolean
static generate(metaInfo: MetaInfo, options?: Object): MetaInfoSSR
}
interface RefreshedTags {
addedTags: elements
removedTags: elements
}
interface Refreshed {
vm: Component,
metaInfo: MetaInfo,
tags: RefreshedTags
}
interface VueMetaApp {
set(metaInfo: MetaInfo): void | RefreshedTags
remove(): void
}
export interface VueMetaPlugin {
getOptions(): VueMetaOptions
setOptions(runtimeOptions: VueMetaOptionsRuntime): VueMetaOptions
addApp(appName: string): VueMetaApp
refresh(): Refreshed
inject(): MetaInfoSSR
pause(refresh: true): () => Refreshed
pause(refresh?: boolean): () => void
resume(refresh: true): Refreshed
resume(refresh?: boolean): void
}
export interface AttributeProperty {
[key: string]: string | string[]
}
export interface MetaDataProperty {
vmid?: string,
once?: boolean,
skip?: boolean,
body?: boolean,
pbody?: boolean,
[key: string]: any
}
export interface MetaPropertyCharset extends MetaDataProperty {
charset: string,
}
export interface MetaPropertyEquiv extends MetaDataProperty {
httpEquiv: string,
content: string,
template?: (chunk: string) => string
}
export interface MetaPropertyName extends MetaDataProperty {
name: string,
content: string,
template?: (chunk: string) => string
}
export interface MetaPropertyMicrodata extends MetaDataProperty {
itemprop: string,
content: string,
template?: (chunk: string) => string
}
// non-w3c interface
export interface MetaPropertyProperty extends MetaDataProperty {
property: string,
content: string,
template?: (chunk: string) => string
}
export interface LinkPropertyBase extends MetaDataProperty {
rel: string,
crossOrigin?: string | null,
media?: string,
nonce?: string,
referrerPolicy?: string,
rev?: string,
type?: string
}
export interface LinkPropertyHref extends LinkPropertyBase {
href?: string,
hreflang?: string,
callback?: void
}
export interface LinkPropertyHrefCallback extends LinkPropertyBase {
vmid: string,
callback: CallbackFn,
href?: string,
hreflang?: string
}
export interface StyleProperty extends MetaDataProperty {
cssText: string,
callback?: CallbackFn
media?: string,
nonce?: string,
type?: string,
}
export interface ScriptPropertyBase extends MetaDataProperty {
type?: string,
charset?: string,
async?: boolean,
defer?: boolean,
crossOrigin?: string,
nonce?: string
}
export interface ScriptPropertyText extends ScriptPropertyBase {
innerHTML: string
}
export interface ScriptPropertySrc extends ScriptPropertyBase {
src: string,
callback?: void
}
export interface ScriptPropertySrcCallback extends ScriptPropertyBase {
vmid: string,
callback: CallbackFn
}
type JsonVal = string | number | boolean | JsonObj | JsonObj[] | null
interface JsonObj {
[key: string]: JsonVal | JsonVal[]
}
export interface ScriptPropertyJson extends ScriptPropertyBase {
json: JsonObj
}
export interface NoScriptProperty extends MetaDataProperty {
innerHTML: string,
}
export interface MetaInfo {
title?: string
titleTemplate?: string | ((titleChunk: string) => string)
htmlAttrs?: AttributeProperty
headAttrs?: AttributeProperty
bodyAttrs?: AttributeProperty
base?: {
target: string,
href: string
}
meta?: (MetaPropertyCharset | MetaPropertyEquiv | MetaPropertyName | MetaPropertyMicrodata | MetaPropertyProperty)[]
link?: (LinkPropertyBase | LinkPropertyHref | LinkPropertyHrefCallback)[]
style?: StyleProperty[]
script?: (ScriptPropertyText | ScriptPropertySrc | ScriptPropertySrcCallback | ScriptPropertyJson)[]
noscript?: NoScriptProperty[]
__dangerouslyDisableSanitizers?: string[]
__dangerouslyDisableSanitizersByTagID?: {
[key: string]: string[]
}
changed?: <T extends MetaInfo>(newInfo: T, addedTags: elements, removedTags: elements) => void
afterNavigation?: <T extends MetaInfo>(newInfo: T) => void
}
export type MetaInfoComputed = () => MetaInfo
interface ToText {
text(): string
}
interface ToTextBooleanArg {
text(addSrrAttribute?: boolean): string
}
interface AddLineBreakOption {
ln: boolean
}
interface ToBodyTextOption {
body: boolean
}
interface ToPbodyTextOption {
pbody: boolean
}
interface ToBodyText {
text(options?: (ToBodyTextOption | ToPbodyTextOption | AddLineBreakOption)): string
}
export interface MetaInfoSSR {
head(ln?: boolean): string
bodyPrepend(ln?: boolean): string
bodyAppend(ln?: boolean): string
title?: ToText
htmlAttrs?: ToTextBooleanArg
headAttrs?: ToText
bodyAttrs?: ToText
base?: ToBodyText
meta?: ToBodyText
link?: ToBodyText
style?: ToBodyText
script?: ToBodyText
noscript?: ToBodyText
}
-18
View File
@@ -1,18 +0,0 @@
/**
* Augment the typings of Vue.js
*/
import Vue, { ComponentOptions } from 'vue'
import { MetaInfo, MetaInfoComputed, VueMetaPlugin } from './vue-meta'
declare module 'vue/types/vue' {
interface Vue {
$meta(): VueMetaPlugin
}
}
declare module 'vue/types/options' {
interface ComponentOptions<V extends Vue> {
metaInfo?: MetaInfo | MetaInfoComputed
}
}