diff --git a/test-apps/daily-notification-test/src/env.d.ts b/test-apps/daily-notification-test/src/env.d.ts new file mode 100644 index 0000000..b4ca750 --- /dev/null +++ b/test-apps/daily-notification-test/src/env.d.ts @@ -0,0 +1,57 @@ +/// + +declare module '*.vue' { + import type { DefineComponent } from 'vue' + const component: DefineComponent<{}, {}, any> + export default component +} + +// Vue-facing-decorator type declarations +declare module 'vue-facing-decorator' { + import { ComponentOptions } from 'vue' + + export interface ComponentOptionsWithProps extends ComponentOptions { + props?: any + } + + export function Component(options?: any): any + export function toNative(component: T): T + + export class Vue { + $emit(event: string, ...args: any[]): void + $props: any + $data: any + $refs: any + $slots: any + $scopedSlots: any + $attrs: any + $listeners: any + $parent: Vue | null + $root: Vue + $children: Vue[] + $el: Element | undefined + $options: ComponentOptions + $isServer: boolean + $ssrContext: any + $vnode: any + $createElement: any + $mount: any + $forceUpdate: () => void + $destroy: () => void + $nextTick: (callback?: () => void) => Promise + $set: (target: any, key: string | number, value: any) => void + $delete: (target: any, key: string | number) => void + $watch: (expOrFn: string | Function, callback: Function, options?: any) => Function + $on: (event: string | string[], callback: Function) => Vue + $once: (event: string | string[], callback: Function) => Vue + $off: (event?: string | string[], callback?: Function) => Vue + } + + export function Prop(options?: any): PropertyDecorator + export function Emit(event?: string): MethodDecorator + export function Watch(path: string, options?: any): MethodDecorator + export function Inject(key?: string | symbol): PropertyDecorator + export function Provide(key?: string | symbol): PropertyDecorator + export function Model(event?: string, options?: any): PropertyDecorator + export function Ref(refKey?: string): PropertyDecorator +} diff --git a/test-apps/daily-notification-test/src/globals.d.ts b/test-apps/daily-notification-test/src/globals.d.ts new file mode 100644 index 0000000..2a8fef5 --- /dev/null +++ b/test-apps/daily-notification-test/src/globals.d.ts @@ -0,0 +1,7 @@ +export {} + +declare global { + interface Window { + Capacitor?: any + } +} diff --git a/test-apps/daily-notification-test/src/types/global.d.ts b/test-apps/daily-notification-test/src/types/global.d.ts new file mode 100644 index 0000000..6ba7e16 --- /dev/null +++ b/test-apps/daily-notification-test/src/types/global.d.ts @@ -0,0 +1,43 @@ +/** + * Global Type Declarations + * + * Type definitions for global objects and plugins + * + * @author Matthew Raymer + * @version 1.0.0 + */ + +declare global { + interface Window { + DailyNotification?: { + checkStatus(): Promise<{ + canScheduleNow: boolean + postNotificationsGranted: boolean + channelEnabled: boolean + channelImportance: number + channelId: string + exactAlarmsGranted: boolean + exactAlarmsSupported: boolean + androidVersion: number + nextScheduledAt: number + }> + scheduleNotification(options: { + title: string + body: string + scheduledTime: number + }): Promise + cancelNotification(id: string): Promise + requestPermissions(): Promise + } + Capacitor?: { + Plugins?: { + DailyNotification?: any + Clipboard?: { + write(options: { string: string }): Promise + } + } + } + } +} + +export {} diff --git a/test-apps/daily-notification-test/tsconfig.app.json b/test-apps/daily-notification-test/tsconfig.app.json index cbd2fbc..b9218a5 100644 --- a/test-apps/daily-notification-test/tsconfig.app.json +++ b/test-apps/daily-notification-test/tsconfig.app.json @@ -4,9 +4,21 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "ES2020", + "module": "ESNext", + "moduleResolution": "Bundler", "experimentalDecorators": true, "emitDecoratorMetadata": true, "useDefineForClassFields": false, + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "skipLibCheck": true, + "strict": false, + "noImplicitAny": false, + "noImplicitReturns": false, + "noImplicitThis": false, + "noUnusedLocals": false, + "noUnusedParameters": false, "paths": { "@/*": ["./src/*"] }