onesignal-vue 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.eslintrc.js ADDED
@@ -0,0 +1,40 @@
1
+ module.exports = {
2
+ env: {
3
+ browser: true,
4
+ es6: true,
5
+ node: true,
6
+ },
7
+ settings: {
8
+ "import/resolver": {
9
+ node: {
10
+ paths: ["src"],
11
+ extensions: [
12
+ ".js",
13
+ ".ts",
14
+ ".tsx",
15
+ ],
16
+ },
17
+ },
18
+ },
19
+ globals: {
20
+ Atomics: 'readonly',
21
+ SharedArrayBuffer: 'readonly',
22
+ },
23
+ parser: '@typescript-eslint/parser',
24
+ parserOptions: {
25
+ ecmaVersion: 2018,
26
+ sourceType: 'module',
27
+ },
28
+ plugins: [
29
+ '@typescript-eslint',
30
+ ],
31
+ rules: {
32
+ "prefer-destructuring": 0,
33
+ "no-param-reassign": 0,
34
+ "import/extensions": 0,
35
+ "dot-notation": 0,
36
+ "no-continue": 0,
37
+ "no-unused-vars": "off",
38
+ "@typescript-eslint/no-unused-vars": ["error"]
39
+ },
40
+ };
package/README.md CHANGED
@@ -19,6 +19,16 @@ You can find more information on OneSignal [here](https://onesignal.com/).
19
19
  - [API](#onesignal-api)
20
20
  - [Advanced Usage](#advanced-usage)
21
21
 
22
+ ---
23
+ ## Vue Compatibility
24
+ Make sure you install a plugin version compatible with your Vue environment.
25
+
26
+ | Vue | OneSignal Plugin |
27
+ |-----|------------------|
28
+ | 2 | onesignal-vue |
29
+ | 3 | [onesignal-vue3](https://github.com/OneSignal/onesignal-vue3) |
30
+
31
+
22
32
  ---
23
33
  ## Install
24
34
 
@@ -119,43 +129,43 @@ This package includes Typescript support.
119
129
 
120
130
  ```ts
121
131
  interface IOneSignal {
122
- init(options?: any): Promise<void>
123
- on(event: string, listener: Function): void
124
- off(event: string, listener: Function): void
125
- once(event: string, listener: Function): void
126
- isPushNotificationsEnabled(callback?: Action<boolean>): Promise<boolean>
127
- showHttpPrompt(options?: AutoPromptOptions): Promise<void>
128
- registerForPushNotifications(options?: RegisterOptions): Promise<void>
129
- setDefaultNotificationUrl(url: string): Promise<void>
130
- setDefaultTitle(title: string): Promise<void>
131
- getTags(callback?: Action<any>): Promise<void>
132
- sendTag(key: string, value: any, callback?: Action<Object>): Promise<Object | null>
133
- sendTags(tags: TagsObject<any>, callback?: Action<Object>): Promise<Object | null>
134
- deleteTag(tag: string): Promise<Array<string>>
135
- deleteTags(tags: Array<string>, callback?: Action<Array<string>>): Promise<Array<string>>
136
- addListenerForNotificationOpened(callback?: Action<Notification>): Promise<void>
137
- setSubscription(newSubscription: boolean): Promise<void>
138
- showHttpPermissionRequest(options?: AutoPromptOptions): Promise<any>
139
- showNativePrompt(): Promise<void>
140
- showSlidedownPrompt(options?: AutoPromptOptions): Promise<void>
141
- showCategorySlidedown(options?: AutoPromptOptions): Promise<void>
142
- showSmsSlidedown(options?: AutoPromptOptions): Promise<void>
143
- showEmailSlidedown(options?: AutoPromptOptions): Promise<void>
144
- showSmsAndEmailSlidedown(options?: AutoPromptOptions): Promise<void>
145
- getNotificationPermission(onComplete?: Function): Promise<NotificationPermission>
146
- getUserId(callback?: Action<string | undefined | null>): Promise<string | undefined | null>
147
- getSubscription(callback?: Action<boolean>): Promise<boolean>
148
- setEmail(email: string, options?: SetEmailOptions): Promise<string|null>
149
- setSMSNumber(smsNumber: string, options?: SetSMSOptions): Promise<string | null>
150
- logoutEmail(): Promise<void>
151
- logoutSMS(): Promise<void>
152
- setExternalUserId(externalUserId: string | undefined | null, authHash?: string): Promise<void>
153
- removeExternalUserId(): Promise<void>
154
- getExternalUserId(): Promise<string | undefined | null>
155
- provideUserConsent(consent: boolean): Promise<void>
156
- getEmailId(callback?: Action<string | undefined>): Promise<string | null | undefined>
157
- getSMSId(callback?: Action<string | undefined>): Promise<string | null | undefined>
158
- sendOutcome(outcomeName: string, outcomeWeight?: number | undefined): Promise<void>
132
+ init(options: IInitObject): Promise<void>;
133
+ on(event: string, listener: () => void): void;
134
+ off(event: string, listener: () => void): void;
135
+ once(event: string, listener: () => void): void;
136
+ isPushNotificationsEnabled(callback?: Action<boolean>): Promise<boolean>;
137
+ showHttpPrompt(options?: AutoPromptOptions): Promise<void>;
138
+ registerForPushNotifications(options?: RegisterOptions): Promise<void>;
139
+ setDefaultNotificationUrl(url: string): Promise<void>;
140
+ setDefaultTitle(title: string): Promise<void>;
141
+ getTags(callback?: Action<any>): Promise<void>;
142
+ sendTag(key: string, value: any, callback?: Action<Object>): Promise<Object | null>;
143
+ sendTags(tags: TagsObject<any>, callback?: Action<Object>): Promise<Object | null>;
144
+ deleteTag(tag: string): Promise<Array<string>>;
145
+ deleteTags(tags: Array<string>, callback?: Action<Array<string>>): Promise<Array<string>>;
146
+ addListenerForNotificationOpened(callback?: Action<Notification>): Promise<void>;
147
+ setSubscription(newSubscription: boolean): Promise<void>;
148
+ showHttpPermissionRequest(options?: AutoPromptOptions): Promise<any>;
149
+ showNativePrompt(): Promise<void>;
150
+ showSlidedownPrompt(options?: AutoPromptOptions): Promise<void>;
151
+ showCategorySlidedown(options?: AutoPromptOptions): Promise<void>;
152
+ showSmsSlidedown(options?: AutoPromptOptions): Promise<void>;
153
+ showEmailSlidedown(options?: AutoPromptOptions): Promise<void>;
154
+ showSmsAndEmailSlidedown(options?: AutoPromptOptions): Promise<void>;
155
+ getNotificationPermission(onComplete?: Function): Promise<NotificationPermission>;
156
+ getUserId(callback?: Action<string | undefined | null>): Promise<string | undefined | null>;
157
+ getSubscription(callback?: Action<boolean>): Promise<boolean>;
158
+ setEmail(email: string, options?: SetEmailOptions): Promise<string | null>;
159
+ setSMSNumber(smsNumber: string, options?: SetSMSOptions): Promise<string | null>;
160
+ logoutEmail(): Promise<void>;
161
+ logoutSMS(): Promise<void>;
162
+ setExternalUserId(externalUserId: string | undefined | null, authHash?: string): Promise<void>;
163
+ removeExternalUserId(): Promise<void>;
164
+ getExternalUserId(): Promise<string | undefined | null>;
165
+ provideUserConsent(consent: boolean): Promise<void>;
166
+ getEmailId(callback?: Action<string | undefined>): Promise<string | null | undefined>;
167
+ getSMSId(callback?: Action<string | undefined>): Promise<string | null | undefined>;
168
+ sendOutcome(outcomeName: string, outcomeWeight?: number | undefined): Promise<void>;
159
169
  }
160
170
  ```
161
171
 
@@ -211,6 +221,3 @@ This project is [Modified MIT](https://github.com/OneSignal/onesignal-vue/blob/m
211
221
 
212
222
 
213
223
  Enjoy!
214
-
215
-
216
- Enjoy!
package/dist/index.d.ts CHANGED
@@ -1,118 +1,118 @@
1
- declare const VueApp: any;
2
- declare module 'vue/types/vue' {
3
- interface Vue {
4
- $OneSignal: IOneSignal;
5
- }
6
- }
7
- declare global {
8
- interface Window {
9
- OneSignal: any;
10
- }
11
- }
12
- declare type Action<T> = (item: T) => void;
13
- interface AutoPromptOptions {
14
- force?: boolean;
15
- forceSlidedownOverNative?: boolean;
16
- slidedownPromptOptions?: IOneSignalAutoPromptOptions;
17
- }
18
- interface RegisterOptions {
19
- modalPrompt?: boolean;
20
- httpPermissionRequest?: boolean;
21
- slidedown?: boolean;
22
- autoAccept?: boolean;
23
- }
24
- interface SetSMSOptions {
25
- identifierAuthHash?: string;
26
- }
27
- interface SetEmailOptions {
28
- identifierAuthHash?: string;
29
- emailAuthHash?: string;
30
- }
31
- interface TagsObject<T> {
32
- [key: string]: T;
33
- }
34
- interface IOneSignalAutoPromptOptions {
35
- force?: boolean;
36
- forceSlidedownOverNative?: boolean;
37
- isInUpdateMode?: boolean;
38
- categoryOptions?: IOneSignalCategories;
39
- }
40
- interface IOneSignalCategories {
41
- positiveUpdateButton: string;
42
- negativeUpdateButton: string;
43
- savingButtonText: string;
44
- errorButtonText: string;
45
- updateMessage: string;
46
- tags: IOneSignalTagCategory[];
47
- }
48
- interface IOneSignalTagCategory {
49
- tag: string;
50
- label: string;
51
- checked?: boolean;
52
- }
53
- interface IInitObject {
54
- appId: string;
55
- subdomainName?: string;
56
- requiresUserPrivacyConsent?: boolean;
57
- promptOptions?: object;
58
- welcomeNotification?: object;
59
- notifyButton?: object;
60
- persistNotification?: boolean;
61
- webhooks?: object;
62
- autoResubscribe?: boolean;
63
- autoRegister?: boolean;
64
- notificationClickHandlerMatch?: string;
65
- notificationClickHandlerAction?: string;
66
- serviceWorkerParam?: {
67
- scope: string;
68
- };
69
- serviceWorkerPath?: string;
70
- serviceWorkerUpdaterPath?: string;
71
- path?: string;
72
- allowLocalhostAsSecureOrigin?: boolean;
73
- [key: string]: any;
74
- }
75
- interface IOneSignal {
76
- init(options: IInitObject): Promise<void>;
77
- on(event: string, listener: () => void): void;
78
- off(event: string, listener: () => void): void;
79
- once(event: string, listener: () => void): void;
80
- isPushNotificationsEnabled(callback?: Action<boolean>): Promise<boolean>;
81
- showHttpPrompt(options?: AutoPromptOptions): Promise<void>;
82
- registerForPushNotifications(options?: RegisterOptions): Promise<void>;
83
- setDefaultNotificationUrl(url: string): Promise<void>;
84
- setDefaultTitle(title: string): Promise<void>;
85
- getTags(callback?: Action<any>): Promise<void>;
86
- sendTag(key: string, value: any, callback?: Action<Object>): Promise<Object | null>;
87
- sendTags(tags: TagsObject<any>, callback?: Action<Object>): Promise<Object | null>;
88
- deleteTag(tag: string): Promise<Array<string>>;
89
- deleteTags(tags: Array<string>, callback?: Action<Array<string>>): Promise<Array<string>>;
90
- addListenerForNotificationOpened(callback?: Action<Notification>): Promise<void>;
91
- setSubscription(newSubscription: boolean): Promise<void>;
92
- showHttpPermissionRequest(options?: AutoPromptOptions): Promise<any>;
93
- showNativePrompt(): Promise<void>;
94
- showSlidedownPrompt(options?: AutoPromptOptions): Promise<void>;
95
- showCategorySlidedown(options?: AutoPromptOptions): Promise<void>;
96
- showSmsSlidedown(options?: AutoPromptOptions): Promise<void>;
97
- showEmailSlidedown(options?: AutoPromptOptions): Promise<void>;
98
- showSmsAndEmailSlidedown(options?: AutoPromptOptions): Promise<void>;
99
- getNotificationPermission(onComplete?: Function): Promise<NotificationPermission>;
100
- getUserId(callback?: Action<string | undefined | null>): Promise<string | undefined | null>;
101
- getSubscription(callback?: Action<boolean>): Promise<boolean>;
102
- setEmail(email: string, options?: SetEmailOptions): Promise<string | null>;
103
- setSMSNumber(smsNumber: string, options?: SetSMSOptions): Promise<string | null>;
104
- logoutEmail(): Promise<void>;
105
- logoutSMS(): Promise<void>;
106
- setExternalUserId(externalUserId: string | undefined | null, authHash?: string): Promise<void>;
107
- removeExternalUserId(): Promise<void>;
108
- getExternalUserId(): Promise<string | undefined | null>;
109
- provideUserConsent(consent: boolean): Promise<void>;
110
- getEmailId(callback?: Action<string | undefined>): Promise<string | null | undefined>;
111
- getSMSId(callback?: Action<string | undefined>): Promise<string | null | undefined>;
112
- sendOutcome(outcomeName: string, outcomeWeight?: number | undefined): Promise<void>;
113
- [index: string]: Function;
114
- }
115
- declare const OneSignalVuePlugin: {
116
- install(app: typeof VueApp): void;
117
- };
118
- export default OneSignalVuePlugin;
1
+ declare const VueApp: any;
2
+ declare module 'vue/types/vue' {
3
+ interface Vue {
4
+ $OneSignal: IOneSignal;
5
+ }
6
+ }
7
+ declare global {
8
+ interface Window {
9
+ OneSignal: any;
10
+ }
11
+ }
12
+ declare type Action<T> = (item: T) => void;
13
+ interface AutoPromptOptions {
14
+ force?: boolean;
15
+ forceSlidedownOverNative?: boolean;
16
+ slidedownPromptOptions?: IOneSignalAutoPromptOptions;
17
+ }
18
+ interface RegisterOptions {
19
+ modalPrompt?: boolean;
20
+ httpPermissionRequest?: boolean;
21
+ slidedown?: boolean;
22
+ autoAccept?: boolean;
23
+ }
24
+ interface SetSMSOptions {
25
+ identifierAuthHash?: string;
26
+ }
27
+ interface SetEmailOptions {
28
+ identifierAuthHash?: string;
29
+ emailAuthHash?: string;
30
+ }
31
+ interface TagsObject<T> {
32
+ [key: string]: T;
33
+ }
34
+ interface IOneSignalAutoPromptOptions {
35
+ force?: boolean;
36
+ forceSlidedownOverNative?: boolean;
37
+ isInUpdateMode?: boolean;
38
+ categoryOptions?: IOneSignalCategories;
39
+ }
40
+ interface IOneSignalCategories {
41
+ positiveUpdateButton: string;
42
+ negativeUpdateButton: string;
43
+ savingButtonText: string;
44
+ errorButtonText: string;
45
+ updateMessage: string;
46
+ tags: IOneSignalTagCategory[];
47
+ }
48
+ interface IOneSignalTagCategory {
49
+ tag: string;
50
+ label: string;
51
+ checked?: boolean;
52
+ }
53
+ interface IInitObject {
54
+ appId: string;
55
+ subdomainName?: string;
56
+ requiresUserPrivacyConsent?: boolean;
57
+ promptOptions?: object;
58
+ welcomeNotification?: object;
59
+ notifyButton?: object;
60
+ persistNotification?: boolean;
61
+ webhooks?: object;
62
+ autoResubscribe?: boolean;
63
+ autoRegister?: boolean;
64
+ notificationClickHandlerMatch?: string;
65
+ notificationClickHandlerAction?: string;
66
+ serviceWorkerParam?: {
67
+ scope: string;
68
+ };
69
+ serviceWorkerPath?: string;
70
+ serviceWorkerUpdaterPath?: string;
71
+ path?: string;
72
+ allowLocalhostAsSecureOrigin?: boolean;
73
+ [key: string]: any;
74
+ }
75
+ interface IOneSignal {
76
+ init(options: IInitObject): Promise<void>;
77
+ on(event: string, listener: () => void): void;
78
+ off(event: string, listener: () => void): void;
79
+ once(event: string, listener: () => void): void;
80
+ isPushNotificationsEnabled(callback?: Action<boolean>): Promise<boolean>;
81
+ showHttpPrompt(options?: AutoPromptOptions): Promise<void>;
82
+ registerForPushNotifications(options?: RegisterOptions): Promise<void>;
83
+ setDefaultNotificationUrl(url: string): Promise<void>;
84
+ setDefaultTitle(title: string): Promise<void>;
85
+ getTags(callback?: Action<any>): Promise<void>;
86
+ sendTag(key: string, value: any, callback?: Action<Object>): Promise<Object | null>;
87
+ sendTags(tags: TagsObject<any>, callback?: Action<Object>): Promise<Object | null>;
88
+ deleteTag(tag: string): Promise<Array<string>>;
89
+ deleteTags(tags: Array<string>, callback?: Action<Array<string>>): Promise<Array<string>>;
90
+ addListenerForNotificationOpened(callback?: Action<Notification>): Promise<void>;
91
+ setSubscription(newSubscription: boolean): Promise<void>;
92
+ showHttpPermissionRequest(options?: AutoPromptOptions): Promise<any>;
93
+ showNativePrompt(): Promise<void>;
94
+ showSlidedownPrompt(options?: AutoPromptOptions): Promise<void>;
95
+ showCategorySlidedown(options?: AutoPromptOptions): Promise<void>;
96
+ showSmsSlidedown(options?: AutoPromptOptions): Promise<void>;
97
+ showEmailSlidedown(options?: AutoPromptOptions): Promise<void>;
98
+ showSmsAndEmailSlidedown(options?: AutoPromptOptions): Promise<void>;
99
+ getNotificationPermission(onComplete?: Action<NotificationPermission>): Promise<NotificationPermission>;
100
+ getUserId(callback?: Action<string | undefined | null>): Promise<string | undefined | null>;
101
+ getSubscription(callback?: Action<boolean>): Promise<boolean>;
102
+ setEmail(email: string, options?: SetEmailOptions): Promise<string | null>;
103
+ setSMSNumber(smsNumber: string, options?: SetSMSOptions): Promise<string | null>;
104
+ logoutEmail(): Promise<void>;
105
+ logoutSMS(): Promise<void>;
106
+ setExternalUserId(externalUserId: string | undefined | null, authHash?: string): Promise<void>;
107
+ removeExternalUserId(): Promise<void>;
108
+ getExternalUserId(): Promise<string | undefined | null>;
109
+ provideUserConsent(consent: boolean): Promise<void>;
110
+ getEmailId(callback?: Action<string | undefined>): Promise<string | null | undefined>;
111
+ getSMSId(callback?: Action<string | undefined>): Promise<string | null | undefined>;
112
+ sendOutcome(outcomeName: string, outcomeWeight?: number | undefined): Promise<void>;
113
+ [index: string]: Function;
114
+ }
115
+ declare const OneSignalVuePlugin: {
116
+ install(app: typeof VueApp): void;
117
+ };
118
+ export default OneSignalVuePlugin;