@aalzehla/capacitor-contacts 0.0.5 → 8.0.1

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.
Files changed (45) hide show
  1. package/AalzehlaCapacitorContacts.podspec +2 -2
  2. package/README.md +69 -45
  3. package/android/build.gradle +15 -12
  4. package/android/src/main/java/getcapacitor/community/contacts/BiMap.java +45 -0
  5. package/android/src/main/java/getcapacitor/community/contacts/ContactPayload.java +286 -0
  6. package/android/src/main/java/getcapacitor/community/contacts/Contacts.java +384 -0
  7. package/android/src/main/java/getcapacitor/community/contacts/ContactsPlugin.java +255 -0
  8. package/android/src/main/java/getcapacitor/community/contacts/CreateContactInput.java +233 -0
  9. package/android/src/main/java/getcapacitor/community/contacts/GetContactsProjectionInput.java +214 -0
  10. package/dist/esm/definitions.d.ts +285 -19
  11. package/dist/esm/definitions.js +47 -1
  12. package/dist/esm/definitions.js.map +1 -1
  13. package/dist/esm/index.d.ts +3 -3
  14. package/dist/esm/index.js +3 -3
  15. package/dist/esm/index.js.map +1 -1
  16. package/dist/esm/web.d.ts +9 -7
  17. package/dist/esm/web.js +21 -7
  18. package/dist/esm/web.js.map +1 -1
  19. package/dist/plugin.cjs.js +73 -14
  20. package/dist/plugin.cjs.js.map +1 -1
  21. package/dist/plugin.js +74 -15
  22. package/dist/plugin.js.map +1 -1
  23. package/ios/Plugin/BiMap.swift +42 -0
  24. package/ios/Plugin/ContactPayload.swift +227 -0
  25. package/ios/Plugin/Contacts.swift +227 -0
  26. package/ios/Plugin/ContactsPlugin.h +10 -0
  27. package/ios/Plugin/ContactsPlugin.m +14 -0
  28. package/ios/Plugin/ContactsPlugin.swift +221 -0
  29. package/ios/Plugin/CreateContactInput.swift +187 -0
  30. package/ios/Plugin/GetContactsProjectionInput.swift +119 -0
  31. package/ios/Plugin/Info.plist +24 -0
  32. package/package.json +32 -29
  33. package/Package.swift +0 -28
  34. package/android/src/main/java/com/aalzehla/capacitor/contacts/CapacitorContactsPlugin.java +0 -177
  35. package/android/src/main/java/com/aalzehla/capacitor/contacts/ContactDataExtractorVisitor.java +0 -122
  36. package/android/src/main/java/com/aalzehla/capacitor/contacts/ContactExtractorVisitor.java +0 -31
  37. package/android/src/main/java/com/aalzehla/capacitor/contacts/PluginContactFields.java +0 -17
  38. package/android/src/main/java/com/aalzehla/capacitor/contacts/contentQuery/ContentQuery.java +0 -83
  39. package/android/src/main/java/com/aalzehla/capacitor/contacts/contentQuery/ContentQueryService.java +0 -60
  40. package/android/src/main/java/com/aalzehla/capacitor/contacts/utils/Utils.java +0 -19
  41. package/android/src/main/java/com/aalzehla/capacitor/contacts/utils/Visitable.java +0 -5
  42. package/android/src/main/java/com/aalzehla/capacitor/contacts/utils/Visitor.java +0 -5
  43. package/dist/docs.json +0 -145
  44. package/ios/Sources/CapacitorContactsPlugin/CapacitorContactsPlugin.swift +0 -168
  45. package/ios/Tests/CapacitorContactsPluginTests/CapacitorContactsPluginTests.swift +0 -15
@@ -1,20 +1,286 @@
1
- export interface CapacitorContactsPlugin {
2
- open?(): Promise<Contact[]>;
3
- close?(): Promise<void>;
4
- }
5
- export interface Contact {
6
- identifier?: string;
7
- androidContactLookupKey?: string;
8
- contactId?: string;
9
- givenName?: string;
10
- familyName?: string;
11
- nickname?: string;
12
- fullName?: string;
13
- jobTitle?: string;
14
- departmentName?: string;
15
- organizationName?: string;
16
- note?: string;
17
- phoneNumbers?: any[];
18
- emailAddresses?: any[];
19
- postalAddresses?: any[];
1
+ import type { PermissionState } from '@capacitor/core';
2
+ export interface PermissionStatus {
3
+ contacts: PermissionState | 'limited';
4
+ }
5
+ export interface ContactsPlugin {
6
+ checkPermissions(): Promise<PermissionStatus>;
7
+ requestPermissions(): Promise<PermissionStatus>;
8
+ getContact(options: GetContactOptions): Promise<GetContactResult>;
9
+ getContacts(options: GetContactsOptions): Promise<GetContactsResult>;
10
+ createContact(options: CreateContactOptions): Promise<CreateContactResult>;
11
+ deleteContact(options: DeleteContactOptions): Promise<void>;
12
+ pickContact(options: PickContactOptions): Promise<PickContactResult>;
13
+ }
14
+ export declare enum PhoneType {
15
+ Home = "home",
16
+ Work = "work",
17
+ Other = "other",
18
+ Custom = "custom",
19
+ Mobile = "mobile",
20
+ FaxWork = "fax_work",
21
+ FaxHome = "fax_home",
22
+ Pager = "pager",
23
+ Callback = "callback",
24
+ Car = "car",
25
+ CompanyMain = "company_main",
26
+ Isdn = "isdn",
27
+ Main = "main",
28
+ OtherFax = "other_fax",
29
+ Radio = "radio",
30
+ Telex = "telex",
31
+ TtyTdd = "tty_tdd",
32
+ WorkMobile = "work_mobile",
33
+ WorkPager = "work_pager",
34
+ Assistant = "assistant",
35
+ Mms = "mms"
36
+ }
37
+ export declare enum EmailType {
38
+ Home = "home",
39
+ Work = "work",
40
+ Other = "other",
41
+ Custom = "custom",
42
+ Mobile = "mobile"
43
+ }
44
+ export declare enum PostalAddressType {
45
+ Home = "home",
46
+ Work = "work",
47
+ Other = "other",
48
+ Custom = "custom"
49
+ }
50
+ export interface Projection {
51
+ /**
52
+ * @default false
53
+ */
54
+ name?: boolean;
55
+ /**
56
+ * @default false
57
+ */
58
+ organization?: boolean;
59
+ /**
60
+ * @default false
61
+ */
62
+ birthday?: boolean;
63
+ /**
64
+ * @default false
65
+ */
66
+ note?: boolean;
67
+ /**
68
+ * @default false
69
+ */
70
+ phones?: boolean;
71
+ /**
72
+ * @default false
73
+ */
74
+ emails?: boolean;
75
+ /**
76
+ * @default false
77
+ */
78
+ urls?: boolean;
79
+ /**
80
+ * @default false
81
+ */
82
+ postalAddresses?: boolean;
83
+ /**
84
+ * Be careful! This can potentially slow down your query by a large factor.
85
+ *
86
+ * @default false
87
+ */
88
+ image?: boolean;
89
+ }
90
+ export interface GetContactOptions {
91
+ contactId: string;
92
+ projection: Projection;
93
+ }
94
+ export interface GetContactResult {
95
+ contact: ContactPayload;
96
+ }
97
+ export interface GetContactsOptions {
98
+ projection: Projection;
99
+ }
100
+ export interface GetContactsResult {
101
+ contacts: ContactPayload[];
102
+ }
103
+ export interface NamePayload {
104
+ display: string | null;
105
+ given: string | null;
106
+ middle: string | null;
107
+ family: string | null;
108
+ prefix: string | null;
109
+ suffix: string | null;
110
+ }
111
+ export interface OrganizationPayload {
112
+ company: string | null;
113
+ jobTitle: string | null;
114
+ department: string | null;
115
+ }
116
+ export interface BirthdayPayload {
117
+ day?: number | null;
118
+ month?: number | null;
119
+ year?: number | null;
120
+ }
121
+ export interface PhonePayload {
122
+ type: PhoneType;
123
+ label?: string | null;
124
+ isPrimary?: boolean | null;
125
+ number: string | null;
126
+ }
127
+ export interface EmailPayload {
128
+ type: EmailType;
129
+ label?: string | null;
130
+ isPrimary?: boolean | null;
131
+ address: string | null;
132
+ }
133
+ export interface PostalAddressPayload {
134
+ type: PostalAddressType;
135
+ label?: string | null;
136
+ isPrimary?: boolean | null;
137
+ street?: string | null;
138
+ neighborhood?: string | null;
139
+ city?: string | null;
140
+ region?: string | null;
141
+ postcode?: string | null;
142
+ country?: string | null;
143
+ }
144
+ export interface ImagePayload {
145
+ base64String?: string | null;
146
+ }
147
+ export interface ContactPayload {
148
+ contactId: string;
149
+ /**
150
+ * Object holding the name data
151
+ */
152
+ name?: NamePayload;
153
+ /**
154
+ * Object holding the organization data
155
+ */
156
+ organization?: OrganizationPayload;
157
+ /**
158
+ * Birthday
159
+ */
160
+ birthday?: BirthdayPayload | null;
161
+ /**
162
+ * Note
163
+ */
164
+ note?: string | null;
165
+ /**
166
+ * Phones
167
+ */
168
+ phones?: PhonePayload[];
169
+ /**
170
+ * Emails
171
+ */
172
+ emails?: EmailPayload[];
173
+ /**
174
+ * URLs
175
+ */
176
+ urls?: (string | null)[];
177
+ /**
178
+ * Postal Addresses
179
+ */
180
+ postalAddresses?: PostalAddressPayload[];
181
+ /**
182
+ * Image
183
+ */
184
+ image?: ImagePayload;
185
+ }
186
+ export interface CreateContactOptions {
187
+ contact: ContactInput;
188
+ }
189
+ export interface NameInput {
190
+ given?: string | null;
191
+ middle?: string | null;
192
+ family?: string | null;
193
+ prefix?: string | null;
194
+ suffix?: string | null;
195
+ }
196
+ export interface OrganizationInput {
197
+ company?: string | null;
198
+ jobTitle?: string | null;
199
+ department?: string | null;
200
+ }
201
+ export interface BirthdayInput {
202
+ day: number;
203
+ month: number;
204
+ year?: number;
205
+ }
206
+ export interface PhoneInput {
207
+ type: PhoneType;
208
+ label?: string | null;
209
+ isPrimary?: boolean;
210
+ number: string | null;
211
+ }
212
+ export interface EmailInput {
213
+ type: EmailType;
214
+ label?: string | null;
215
+ isPrimary?: boolean;
216
+ address: string | null;
217
+ }
218
+ export interface ImageInput {
219
+ /**
220
+ * Base64 encoded image.
221
+ *
222
+ * @example "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAApgAAAKYB3X3/OAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAANCSURBVEiJtZZPbBtFFMZ/M7ubXdtdb1xSFyeilBapySVU8h8OoFaooFSqiihIVIpQBKci6KEg9Q6H9kovIHoCIVQJJCKE1ENFjnAgcaSGC6rEnxBwA04Tx43t2FnvDAfjkNibxgHxnWb2e/u992bee7tCa00YFsffekFY+nUzFtjW0LrvjRXrCDIAaPLlW0nHL0SsZtVoaF98mLrx3pdhOqLtYPHChahZcYYO7KvPFxvRl5XPp1sN3adWiD1ZAqD6XYK1b/dvE5IWryTt2udLFedwc1+9kLp+vbbpoDh+6TklxBeAi9TL0taeWpdmZzQDry0AcO+jQ12RyohqqoYoo8RDwJrU+qXkjWtfi8Xxt58BdQuwQs9qC/afLwCw8tnQbqYAPsgxE1S6F3EAIXux2oQFKm0ihMsOF71dHYx+f3NND68ghCu1YIoePPQN1pGRABkJ6Bus96CutRZMydTl+TvuiRW1m3n0eDl0vRPcEysqdXn+jsQPsrHMquGeXEaY4Yk4wxWcY5V/9scqOMOVUFthatyTy8QyqwZ+kDURKoMWxNKr2EeqVKcTNOajqKoBgOE28U4tdQl5p5bwCw7BWquaZSzAPlwjlithJtp3pTImSqQRrb2Z8PHGigD4RZuNX6JYj6wj7O4TFLbCO/Mn/m8R+h6rYSUb3ekokRY6f/YukArN979jcW+V/S8g0eT/N3VN3kTqWbQ428m9/8k0P/1aIhF36PccEl6EhOcAUCrXKZXXWS3XKd2vc/TRBG9O5ELC17MmWubD2nKhUKZa26Ba2+D3P+4/MNCFwg59oWVeYhkzgN/JDR8deKBoD7Y+ljEjGZ0sosXVTvbc6RHirr2reNy1OXd6pJsQ+gqjk8VWFYmHrwBzW/n+uMPFiRwHB2I7ih8ciHFxIkd/3Omk5tCDV1t+2nNu5sxxpDFNx+huNhVT3/zMDz8usXC3ddaHBj1GHj/As08fwTS7Kt1HBTmyN29vdwAw+/wbwLVOJ3uAD1wi/dUH7Qei66PfyuRj4Ik9is+hglfbkbfR3cnZm7chlUWLdwmprtCohX4HUtlOcQjLYCu+fzGJH2QRKvP3UNz8bWk1qMxjGTOMThZ3kvgLI5AzFfo379UAAAAASUVORK5CYII="
223
+ */
224
+ base64String?: string | null;
225
+ }
226
+ export interface PostalAddressInput {
227
+ type: PostalAddressType;
228
+ label?: string | null;
229
+ isPrimary?: boolean;
230
+ street?: string | null;
231
+ neighborhood?: string | null;
232
+ city?: string | null;
233
+ region?: string | null;
234
+ postcode?: string | null;
235
+ country?: string | null;
236
+ }
237
+ export interface ContactInput {
238
+ /**
239
+ * Object holding the name data
240
+ */
241
+ name?: NameInput;
242
+ /**
243
+ * Object holding the organization data
244
+ */
245
+ organization?: OrganizationInput;
246
+ /**
247
+ * Birthday
248
+ */
249
+ birthday?: BirthdayInput | null;
250
+ /**
251
+ * Note
252
+ */
253
+ note?: string | null;
254
+ /**
255
+ * Phones
256
+ */
257
+ phones?: PhoneInput[];
258
+ /**
259
+ * Emails
260
+ */
261
+ emails?: EmailInput[];
262
+ /**
263
+ * URLs
264
+ */
265
+ urls?: string[];
266
+ /**
267
+ * Postal Addresses
268
+ */
269
+ postalAddresses?: PostalAddressInput[];
270
+ /**
271
+ * Image
272
+ */
273
+ image?: ImageInput | null;
274
+ }
275
+ export interface CreateContactResult {
276
+ contactId: string;
277
+ }
278
+ export interface DeleteContactOptions {
279
+ contactId: string;
280
+ }
281
+ export interface PickContactOptions {
282
+ projection: Projection;
283
+ }
284
+ export interface PickContactResult {
285
+ contact: ContactPayload;
20
286
  }
@@ -1,2 +1,48 @@
1
- export {};
1
+ export var PhoneType;
2
+ (function (PhoneType) {
3
+ // Home / Work
4
+ PhoneType["Home"] = "home";
5
+ PhoneType["Work"] = "work";
6
+ // Other / Custom
7
+ PhoneType["Other"] = "other";
8
+ PhoneType["Custom"] = "custom";
9
+ // Phone specific
10
+ PhoneType["Mobile"] = "mobile";
11
+ PhoneType["FaxWork"] = "fax_work";
12
+ PhoneType["FaxHome"] = "fax_home";
13
+ PhoneType["Pager"] = "pager";
14
+ PhoneType["Callback"] = "callback";
15
+ PhoneType["Car"] = "car";
16
+ PhoneType["CompanyMain"] = "company_main";
17
+ PhoneType["Isdn"] = "isdn";
18
+ PhoneType["Main"] = "main";
19
+ PhoneType["OtherFax"] = "other_fax";
20
+ PhoneType["Radio"] = "radio";
21
+ PhoneType["Telex"] = "telex";
22
+ PhoneType["TtyTdd"] = "tty_tdd";
23
+ PhoneType["WorkMobile"] = "work_mobile";
24
+ PhoneType["WorkPager"] = "work_pager";
25
+ PhoneType["Assistant"] = "assistant";
26
+ PhoneType["Mms"] = "mms";
27
+ })(PhoneType || (PhoneType = {}));
28
+ export var EmailType;
29
+ (function (EmailType) {
30
+ // Home / Work
31
+ EmailType["Home"] = "home";
32
+ EmailType["Work"] = "work";
33
+ // Other / Custom
34
+ EmailType["Other"] = "other";
35
+ EmailType["Custom"] = "custom";
36
+ // Email specific
37
+ EmailType["Mobile"] = "mobile";
38
+ })(EmailType || (EmailType = {}));
39
+ export var PostalAddressType;
40
+ (function (PostalAddressType) {
41
+ // Home / Work
42
+ PostalAddressType["Home"] = "home";
43
+ PostalAddressType["Work"] = "work";
44
+ // Other / Custom
45
+ PostalAddressType["Other"] = "other";
46
+ PostalAddressType["Custom"] = "custom";
47
+ })(PostalAddressType || (PostalAddressType = {}));
2
48
  //# sourceMappingURL=definitions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"","sourcesContent":["export interface CapacitorContactsPlugin {\n open?(): Promise<Contact[]>;\n close?(): Promise<void>;\n}\n\nexport interface Contact {\n identifier?: string;\n androidContactLookupKey?: string;\n contactId?: string;\n givenName?: string;\n familyName?: string;\n nickname?: string;\n fullName?: string;\n jobTitle?: string;\n departmentName?: string;\n organizationName?: string;\n note?: string;\n phoneNumbers?: any[];\n emailAddresses?: any[]\n postalAddresses?: any[]\n}\n"]}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAN,IAAY,SAyBX;AAzBD,WAAY,SAAS;IACnB,cAAc;IACd,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,iBAAiB;IACjB,4BAAe,CAAA;IACf,8BAAiB,CAAA;IACjB,iBAAiB;IACjB,8BAAiB,CAAA;IACjB,iCAAoB,CAAA;IACpB,iCAAoB,CAAA;IACpB,4BAAe,CAAA;IACf,kCAAqB,CAAA;IACrB,wBAAW,CAAA;IACX,yCAA4B,CAAA;IAC5B,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,mCAAsB,CAAA;IACtB,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,+BAAkB,CAAA;IAClB,uCAA0B,CAAA;IAC1B,qCAAwB,CAAA;IACxB,oCAAuB,CAAA;IACvB,wBAAW,CAAA;AACb,CAAC,EAzBW,SAAS,KAAT,SAAS,QAyBpB;AAED,MAAM,CAAN,IAAY,SASX;AATD,WAAY,SAAS;IACnB,cAAc;IACd,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,iBAAiB;IACjB,4BAAe,CAAA;IACf,8BAAiB,CAAA;IACjB,iBAAiB;IACjB,8BAAiB,CAAA;AACnB,CAAC,EATW,SAAS,KAAT,SAAS,QASpB;AAED,MAAM,CAAN,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IAC3B,cAAc;IACd,kCAAa,CAAA;IACb,kCAAa,CAAA;IACb,iBAAiB;IACjB,oCAAe,CAAA;IACf,sCAAiB,CAAA;AACnB,CAAC,EAPW,iBAAiB,KAAjB,iBAAiB,QAO5B","sourcesContent":["import type { PermissionState } from '@capacitor/core';\n\nexport interface PermissionStatus {\n contacts: PermissionState | 'limited';\n}\n\nexport interface ContactsPlugin {\n checkPermissions(): Promise<PermissionStatus>;\n requestPermissions(): Promise<PermissionStatus>;\n getContact(options: GetContactOptions): Promise<GetContactResult>;\n getContacts(options: GetContactsOptions): Promise<GetContactsResult>;\n createContact(options: CreateContactOptions): Promise<CreateContactResult>;\n deleteContact(options: DeleteContactOptions): Promise<void>;\n pickContact(options: PickContactOptions): Promise<PickContactResult>;\n}\n\nexport enum PhoneType {\n // Home / Work\n Home = 'home',\n Work = 'work',\n // Other / Custom\n Other = 'other',\n Custom = 'custom',\n // Phone specific\n Mobile = 'mobile',\n FaxWork = 'fax_work',\n FaxHome = 'fax_home',\n Pager = 'pager',\n Callback = 'callback',\n Car = 'car',\n CompanyMain = 'company_main',\n Isdn = 'isdn',\n Main = 'main',\n OtherFax = 'other_fax',\n Radio = 'radio',\n Telex = 'telex',\n TtyTdd = 'tty_tdd',\n WorkMobile = 'work_mobile',\n WorkPager = 'work_pager',\n Assistant = 'assistant',\n Mms = 'mms',\n}\n\nexport enum EmailType {\n // Home / Work\n Home = 'home',\n Work = 'work',\n // Other / Custom\n Other = 'other',\n Custom = 'custom',\n // Email specific\n Mobile = 'mobile',\n}\n\nexport enum PostalAddressType {\n // Home / Work\n Home = 'home',\n Work = 'work',\n // Other / Custom\n Other = 'other',\n Custom = 'custom',\n}\n\nexport interface Projection {\n /**\n * @default false\n */\n name?: boolean;\n\n /**\n * @default false\n */\n organization?: boolean;\n\n /**\n * @default false\n */\n birthday?: boolean;\n\n /**\n * @default false\n */\n note?: boolean;\n\n /**\n * @default false\n */\n phones?: boolean;\n\n /**\n * @default false\n */\n emails?: boolean;\n\n /**\n * @default false\n */\n urls?: boolean;\n\n /**\n * @default false\n */\n postalAddresses?: boolean;\n\n /**\n * Be careful! This can potentially slow down your query by a large factor.\n *\n * @default false\n */\n image?: boolean;\n}\n\nexport interface GetContactOptions {\n contactId: string;\n projection: Projection;\n}\n\nexport interface GetContactResult {\n contact: ContactPayload;\n}\n\nexport interface GetContactsOptions {\n projection: Projection;\n}\n\nexport interface GetContactsResult {\n contacts: ContactPayload[];\n}\n\nexport interface NamePayload {\n display: string | null;\n given: string | null;\n middle: string | null;\n family: string | null;\n prefix: string | null;\n suffix: string | null;\n}\n\nexport interface OrganizationPayload {\n company: string | null;\n jobTitle: string | null;\n department: string | null;\n}\n\nexport interface BirthdayPayload {\n day?: number | null;\n month?: number | null;\n year?: number | null;\n}\n\nexport interface PhonePayload {\n type: PhoneType;\n label?: string | null;\n isPrimary?: boolean | null;\n\n number: string | null;\n}\n\nexport interface EmailPayload {\n type: EmailType;\n label?: string | null;\n isPrimary?: boolean | null;\n\n address: string | null;\n}\n\nexport interface PostalAddressPayload {\n type: PostalAddressType;\n label?: string | null;\n isPrimary?: boolean | null;\n\n street?: string | null;\n neighborhood?: string | null;\n city?: string | null;\n region?: string | null;\n postcode?: string | null;\n country?: string | null;\n}\n\nexport interface ImagePayload {\n base64String?: string | null;\n}\n\nexport interface ContactPayload {\n contactId: string;\n\n /**\n * Object holding the name data\n */\n name?: NamePayload;\n\n /**\n * Object holding the organization data\n */\n organization?: OrganizationPayload;\n\n /**\n * Birthday\n */\n birthday?: BirthdayPayload | null;\n\n /**\n * Note\n */\n note?: string | null;\n\n /**\n * Phones\n */\n phones?: PhonePayload[];\n\n /**\n * Emails\n */\n emails?: EmailPayload[];\n\n /**\n * URLs\n */\n urls?: (string | null)[];\n\n /**\n * Postal Addresses\n */\n postalAddresses?: PostalAddressPayload[];\n\n /**\n * Image\n */\n image?: ImagePayload;\n}\n\nexport interface CreateContactOptions {\n contact: ContactInput;\n}\n\nexport interface NameInput {\n given?: string | null;\n middle?: string | null;\n family?: string | null;\n prefix?: string | null;\n suffix?: string | null;\n}\n\nexport interface OrganizationInput {\n company?: string | null;\n jobTitle?: string | null;\n department?: string | null;\n}\n\nexport interface BirthdayInput {\n day: number;\n month: number;\n year?: number;\n}\n\nexport interface PhoneInput {\n type: PhoneType;\n label?: string | null;\n isPrimary?: boolean;\n\n number: string | null;\n}\n\nexport interface EmailInput {\n type: EmailType;\n label?: string | null;\n isPrimary?: boolean;\n\n address: string | null;\n}\n\nexport interface ImageInput {\n /**\n * Base64 encoded image.\n *\n * @example \"iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAApgAAAKYB3X3/OAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAANCSURBVEiJtZZPbBtFFMZ/M7ubXdtdb1xSFyeilBapySVU8h8OoFaooFSqiihIVIpQBKci6KEg9Q6H9kovIHoCIVQJJCKE1ENFjnAgcaSGC6rEnxBwA04Tx43t2FnvDAfjkNibxgHxnWb2e/u992bee7tCa00YFsffekFY+nUzFtjW0LrvjRXrCDIAaPLlW0nHL0SsZtVoaF98mLrx3pdhOqLtYPHChahZcYYO7KvPFxvRl5XPp1sN3adWiD1ZAqD6XYK1b/dvE5IWryTt2udLFedwc1+9kLp+vbbpoDh+6TklxBeAi9TL0taeWpdmZzQDry0AcO+jQ12RyohqqoYoo8RDwJrU+qXkjWtfi8Xxt58BdQuwQs9qC/afLwCw8tnQbqYAPsgxE1S6F3EAIXux2oQFKm0ihMsOF71dHYx+f3NND68ghCu1YIoePPQN1pGRABkJ6Bus96CutRZMydTl+TvuiRW1m3n0eDl0vRPcEysqdXn+jsQPsrHMquGeXEaY4Yk4wxWcY5V/9scqOMOVUFthatyTy8QyqwZ+kDURKoMWxNKr2EeqVKcTNOajqKoBgOE28U4tdQl5p5bwCw7BWquaZSzAPlwjlithJtp3pTImSqQRrb2Z8PHGigD4RZuNX6JYj6wj7O4TFLbCO/Mn/m8R+h6rYSUb3ekokRY6f/YukArN979jcW+V/S8g0eT/N3VN3kTqWbQ428m9/8k0P/1aIhF36PccEl6EhOcAUCrXKZXXWS3XKd2vc/TRBG9O5ELC17MmWubD2nKhUKZa26Ba2+D3P+4/MNCFwg59oWVeYhkzgN/JDR8deKBoD7Y+ljEjGZ0sosXVTvbc6RHirr2reNy1OXd6pJsQ+gqjk8VWFYmHrwBzW/n+uMPFiRwHB2I7ih8ciHFxIkd/3Omk5tCDV1t+2nNu5sxxpDFNx+huNhVT3/zMDz8usXC3ddaHBj1GHj/As08fwTS7Kt1HBTmyN29vdwAw+/wbwLVOJ3uAD1wi/dUH7Qei66PfyuRj4Ik9is+hglfbkbfR3cnZm7chlUWLdwmprtCohX4HUtlOcQjLYCu+fzGJH2QRKvP3UNz8bWk1qMxjGTOMThZ3kvgLI5AzFfo379UAAAAASUVORK5CYII=\"\n */\n base64String?: string | null;\n}\n\nexport interface PostalAddressInput {\n type: PostalAddressType;\n label?: string | null;\n isPrimary?: boolean;\n\n street?: string | null;\n neighborhood?: string | null;\n city?: string | null;\n region?: string | null;\n postcode?: string | null;\n country?: string | null;\n}\n\nexport interface ContactInput {\n /**\n * Object holding the name data\n */\n name?: NameInput;\n\n /**\n * Object holding the organization data\n */\n organization?: OrganizationInput;\n\n /**\n * Birthday\n */\n birthday?: BirthdayInput | null;\n\n /**\n * Note\n */\n note?: string | null;\n\n /**\n * Phones\n */\n phones?: PhoneInput[];\n\n /**\n * Emails\n */\n emails?: EmailInput[];\n\n /**\n * URLs\n */\n urls?: string[];\n\n /**\n * Postal Addresses\n */\n postalAddresses?: PostalAddressInput[];\n\n /**\n * Image\n */\n image?: ImageInput | null;\n}\n\nexport interface CreateContactResult {\n contactId: string;\n}\n\nexport interface DeleteContactOptions {\n contactId: string;\n}\n\nexport interface PickContactOptions {\n projection: Projection;\n}\n\nexport interface PickContactResult {\n contact: ContactPayload;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { CapacitorContactsPlugin } from './definitions';
2
- declare const CapacitorContacts: CapacitorContactsPlugin;
1
+ import type { ContactsPlugin } from './definitions';
2
+ declare const Contacts: ContactsPlugin;
3
3
  export * from './definitions';
4
- export { CapacitorContacts };
4
+ export { Contacts };
package/dist/esm/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { registerPlugin } from '@capacitor/core';
2
- const CapacitorContacts = registerPlugin('CapacitorContacts', {
3
- web: () => import('./web').then(m => new m.CapacitorContactsWeb()),
2
+ const Contacts = registerPlugin('Contacts', {
3
+ web: () => import('./web').then((m) => new m.ContactsWeb()),
4
4
  });
5
5
  export * from './definitions';
6
- export { CapacitorContacts };
6
+ export { Contacts };
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIjD,MAAM,iBAAiB,GAAG,cAAc,CACtC,mBAAmB,EACnB;IACE,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,CAAC;CACnE,CACF,CAAC;AAEF,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,CAAC","sourcesContent":["import { registerPlugin } from '@capacitor/core';\n\nimport type { CapacitorContactsPlugin } from './definitions';\n\nconst CapacitorContacts = registerPlugin<CapacitorContactsPlugin>(\n 'CapacitorContacts',\n {\n web: () => import('./web').then(m => new m.CapacitorContactsWeb()),\n },\n);\n\nexport * from './definitions';\nexport { CapacitorContacts };\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIjD,MAAM,QAAQ,GAAG,cAAc,CAAiB,UAAU,EAAE;IAC1D,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;CAC5D,CAAC,CAAC;AAEH,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,CAAC","sourcesContent":["import { registerPlugin } from '@capacitor/core';\n\nimport type { ContactsPlugin } from './definitions';\n\nconst Contacts = registerPlugin<ContactsPlugin>('Contacts', {\n web: () => import('./web').then((m) => new m.ContactsWeb()),\n});\n\nexport * from './definitions';\nexport { Contacts };\n"]}
package/dist/esm/web.d.ts CHANGED
@@ -1,9 +1,11 @@
1
1
  import { WebPlugin } from '@capacitor/core';
2
- import type { CapacitorContactsPlugin } from './definitions';
3
- export declare class CapacitorContactsWeb extends WebPlugin implements CapacitorContactsPlugin {
4
- constructor();
5
- close(): Promise<void>;
2
+ import type * as Definitions from './definitions';
3
+ export declare class ContactsWeb extends WebPlugin implements Definitions.ContactsPlugin {
4
+ checkPermissions(): Promise<Definitions.PermissionStatus>;
5
+ requestPermissions(): Promise<Definitions.PermissionStatus>;
6
+ getContact(): Promise<Definitions.GetContactResult>;
7
+ getContacts(): Promise<Definitions.GetContactsResult>;
8
+ createContact(): Promise<Definitions.CreateContactResult>;
9
+ deleteContact(): Promise<void>;
10
+ pickContact(): Promise<Definitions.PickContactResult>;
6
11
  }
7
- declare const ContactPicker: CapacitorContactsWeb;
8
- declare const CapacitorContacts: CapacitorContactsWeb;
9
- export { ContactPicker, CapacitorContacts };
package/dist/esm/web.js CHANGED
@@ -1,11 +1,25 @@
1
1
  import { WebPlugin } from '@capacitor/core';
2
- export class CapacitorContactsWeb extends WebPlugin {
3
- constructor() {
4
- super();
2
+ export class ContactsWeb extends WebPlugin {
3
+ async checkPermissions() {
4
+ throw this.unimplemented('Not implemented on web.');
5
+ }
6
+ async requestPermissions() {
7
+ throw this.unimplemented('Not implemented on web.');
8
+ }
9
+ async getContact() {
10
+ throw this.unimplemented('Not implemented on web.');
11
+ }
12
+ async getContacts() {
13
+ throw this.unimplemented('Not implemented on web.');
14
+ }
15
+ async createContact() {
16
+ throw this.unimplemented('Not implemented on web.');
17
+ }
18
+ async deleteContact() {
19
+ throw this.unimplemented('Not implemented on web.');
20
+ }
21
+ async pickContact() {
22
+ throw this.unimplemented('Not implemented on web.');
5
23
  }
6
- async close() { }
7
24
  }
8
- const ContactPicker = new CapacitorContactsWeb();
9
- const CapacitorContacts = ContactPicker;
10
- export { ContactPicker, CapacitorContacts };
11
25
  //# sourceMappingURL=web.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,MAAM,OAAO,oBACX,SAAQ,SAAS;IAGjB;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IACD,KAAK,CAAC,KAAK,KAAI,CAAC;CACjB;AAED,MAAM,aAAa,GAAG,IAAI,oBAAoB,EAAE,CAAC;AACjD,MAAM,iBAAiB,GAAG,aAAa,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC","sourcesContent":["import { WebPlugin } from '@capacitor/core';\n\nimport type { CapacitorContactsPlugin } from './definitions';\n\nexport class CapacitorContactsWeb\n extends WebPlugin\n implements CapacitorContactsPlugin\n{\n constructor() {\n super();\n }\n async close() {}\n}\n\nconst ContactPicker = new CapacitorContactsWeb();\nconst CapacitorContacts = ContactPicker\nexport { ContactPicker, CapacitorContacts };\n"]}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,MAAM,OAAO,WAAY,SAAQ,SAAS;IACxC,KAAK,CAAC,gBAAgB;QACpB,MAAM,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;IACtD,CAAC;CACF","sourcesContent":["import { WebPlugin } from '@capacitor/core';\n\nimport type * as Definitions from './definitions';\n\nexport class ContactsWeb extends WebPlugin implements Definitions.ContactsPlugin {\n async checkPermissions(): Promise<Definitions.PermissionStatus> {\n throw this.unimplemented('Not implemented on web.');\n }\n\n async requestPermissions(): Promise<Definitions.PermissionStatus> {\n throw this.unimplemented('Not implemented on web.');\n }\n\n async getContact(): Promise<Definitions.GetContactResult> {\n throw this.unimplemented('Not implemented on web.');\n }\n\n async getContacts(): Promise<Definitions.GetContactsResult> {\n throw this.unimplemented('Not implemented on web.');\n }\n\n async createContact(): Promise<Definitions.CreateContactResult> {\n throw this.unimplemented('Not implemented on web.');\n }\n\n async deleteContact(): Promise<void> {\n throw this.unimplemented('Not implemented on web.');\n }\n\n async pickContact(): Promise<Definitions.PickContactResult> {\n throw this.unimplemented('Not implemented on web.');\n }\n}\n"]}
@@ -1,28 +1,87 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var core = require('@capacitor/core');
6
4
 
7
- const CapacitorContacts$1 = core.registerPlugin('CapacitorContacts', {
8
- web: () => Promise.resolve().then(function () { return web; }).then(m => new m.CapacitorContactsWeb()),
5
+ exports.PhoneType = void 0;
6
+ (function (PhoneType) {
7
+ // Home / Work
8
+ PhoneType["Home"] = "home";
9
+ PhoneType["Work"] = "work";
10
+ // Other / Custom
11
+ PhoneType["Other"] = "other";
12
+ PhoneType["Custom"] = "custom";
13
+ // Phone specific
14
+ PhoneType["Mobile"] = "mobile";
15
+ PhoneType["FaxWork"] = "fax_work";
16
+ PhoneType["FaxHome"] = "fax_home";
17
+ PhoneType["Pager"] = "pager";
18
+ PhoneType["Callback"] = "callback";
19
+ PhoneType["Car"] = "car";
20
+ PhoneType["CompanyMain"] = "company_main";
21
+ PhoneType["Isdn"] = "isdn";
22
+ PhoneType["Main"] = "main";
23
+ PhoneType["OtherFax"] = "other_fax";
24
+ PhoneType["Radio"] = "radio";
25
+ PhoneType["Telex"] = "telex";
26
+ PhoneType["TtyTdd"] = "tty_tdd";
27
+ PhoneType["WorkMobile"] = "work_mobile";
28
+ PhoneType["WorkPager"] = "work_pager";
29
+ PhoneType["Assistant"] = "assistant";
30
+ PhoneType["Mms"] = "mms";
31
+ })(exports.PhoneType || (exports.PhoneType = {}));
32
+ exports.EmailType = void 0;
33
+ (function (EmailType) {
34
+ // Home / Work
35
+ EmailType["Home"] = "home";
36
+ EmailType["Work"] = "work";
37
+ // Other / Custom
38
+ EmailType["Other"] = "other";
39
+ EmailType["Custom"] = "custom";
40
+ // Email specific
41
+ EmailType["Mobile"] = "mobile";
42
+ })(exports.EmailType || (exports.EmailType = {}));
43
+ exports.PostalAddressType = void 0;
44
+ (function (PostalAddressType) {
45
+ // Home / Work
46
+ PostalAddressType["Home"] = "home";
47
+ PostalAddressType["Work"] = "work";
48
+ // Other / Custom
49
+ PostalAddressType["Other"] = "other";
50
+ PostalAddressType["Custom"] = "custom";
51
+ })(exports.PostalAddressType || (exports.PostalAddressType = {}));
52
+
53
+ const Contacts = core.registerPlugin('Contacts', {
54
+ web: () => Promise.resolve().then(function () { return web; }).then((m) => new m.ContactsWeb()),
9
55
  });
10
56
 
11
- class CapacitorContactsWeb extends core.WebPlugin {
12
- constructor() {
13
- super();
57
+ class ContactsWeb extends core.WebPlugin {
58
+ async checkPermissions() {
59
+ throw this.unimplemented('Not implemented on web.');
60
+ }
61
+ async requestPermissions() {
62
+ throw this.unimplemented('Not implemented on web.');
63
+ }
64
+ async getContact() {
65
+ throw this.unimplemented('Not implemented on web.');
66
+ }
67
+ async getContacts() {
68
+ throw this.unimplemented('Not implemented on web.');
69
+ }
70
+ async createContact() {
71
+ throw this.unimplemented('Not implemented on web.');
72
+ }
73
+ async deleteContact() {
74
+ throw this.unimplemented('Not implemented on web.');
75
+ }
76
+ async pickContact() {
77
+ throw this.unimplemented('Not implemented on web.');
14
78
  }
15
- async close() { }
16
79
  }
17
- const ContactPicker = new CapacitorContactsWeb();
18
- const CapacitorContacts = ContactPicker;
19
80
 
20
81
  var web = /*#__PURE__*/Object.freeze({
21
82
  __proto__: null,
22
- CapacitorContactsWeb: CapacitorContactsWeb,
23
- ContactPicker: ContactPicker,
24
- CapacitorContacts: CapacitorContacts
83
+ ContactsWeb: ContactsWeb
25
84
  });
26
85
 
27
- exports.CapacitorContacts = CapacitorContacts$1;
86
+ exports.Contacts = Contacts;
28
87
  //# sourceMappingURL=plugin.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.cjs.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst CapacitorContacts = registerPlugin('CapacitorContacts', {\n web: () => import('./web').then(m => new m.CapacitorContactsWeb()),\n});\nexport * from './definitions';\nexport { CapacitorContacts };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class CapacitorContactsWeb extends WebPlugin {\n constructor() {\n super();\n }\n async close() { }\n}\nconst ContactPicker = new CapacitorContactsWeb();\nconst CapacitorContacts = ContactPicker;\nexport { ContactPicker, CapacitorContacts };\n//# sourceMappingURL=web.js.map"],"names":["CapacitorContacts","registerPlugin","WebPlugin"],"mappings":";;;;;;AACK,MAACA,mBAAiB,GAAGC,mBAAc,CAAC,mBAAmB,EAAE;AAC9D,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,oBAAoB,EAAE,CAAC;AACtE,CAAC;;ACFM,MAAM,oBAAoB,SAASC,cAAS,CAAC;AACpD,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,MAAM,KAAK,GAAG,GAAG;AACrB,CAAC;AACD,MAAM,aAAa,GAAG,IAAI,oBAAoB,EAAE,CAAC;AACjD,MAAM,iBAAiB,GAAG,aAAa;;;;;;;;;;;"}
1
+ {"version":3,"file":"plugin.cjs.js","sources":["esm/definitions.js","esm/index.js","esm/web.js"],"sourcesContent":["export var PhoneType;\n(function (PhoneType) {\n // Home / Work\n PhoneType[\"Home\"] = \"home\";\n PhoneType[\"Work\"] = \"work\";\n // Other / Custom\n PhoneType[\"Other\"] = \"other\";\n PhoneType[\"Custom\"] = \"custom\";\n // Phone specific\n PhoneType[\"Mobile\"] = \"mobile\";\n PhoneType[\"FaxWork\"] = \"fax_work\";\n PhoneType[\"FaxHome\"] = \"fax_home\";\n PhoneType[\"Pager\"] = \"pager\";\n PhoneType[\"Callback\"] = \"callback\";\n PhoneType[\"Car\"] = \"car\";\n PhoneType[\"CompanyMain\"] = \"company_main\";\n PhoneType[\"Isdn\"] = \"isdn\";\n PhoneType[\"Main\"] = \"main\";\n PhoneType[\"OtherFax\"] = \"other_fax\";\n PhoneType[\"Radio\"] = \"radio\";\n PhoneType[\"Telex\"] = \"telex\";\n PhoneType[\"TtyTdd\"] = \"tty_tdd\";\n PhoneType[\"WorkMobile\"] = \"work_mobile\";\n PhoneType[\"WorkPager\"] = \"work_pager\";\n PhoneType[\"Assistant\"] = \"assistant\";\n PhoneType[\"Mms\"] = \"mms\";\n})(PhoneType || (PhoneType = {}));\nexport var EmailType;\n(function (EmailType) {\n // Home / Work\n EmailType[\"Home\"] = \"home\";\n EmailType[\"Work\"] = \"work\";\n // Other / Custom\n EmailType[\"Other\"] = \"other\";\n EmailType[\"Custom\"] = \"custom\";\n // Email specific\n EmailType[\"Mobile\"] = \"mobile\";\n})(EmailType || (EmailType = {}));\nexport var PostalAddressType;\n(function (PostalAddressType) {\n // Home / Work\n PostalAddressType[\"Home\"] = \"home\";\n PostalAddressType[\"Work\"] = \"work\";\n // Other / Custom\n PostalAddressType[\"Other\"] = \"other\";\n PostalAddressType[\"Custom\"] = \"custom\";\n})(PostalAddressType || (PostalAddressType = {}));\n//# sourceMappingURL=definitions.js.map","import { registerPlugin } from '@capacitor/core';\nconst Contacts = registerPlugin('Contacts', {\n web: () => import('./web').then((m) => new m.ContactsWeb()),\n});\nexport * from './definitions';\nexport { Contacts };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class ContactsWeb extends WebPlugin {\n async checkPermissions() {\n throw this.unimplemented('Not implemented on web.');\n }\n async requestPermissions() {\n throw this.unimplemented('Not implemented on web.');\n }\n async getContact() {\n throw this.unimplemented('Not implemented on web.');\n }\n async getContacts() {\n throw this.unimplemented('Not implemented on web.');\n }\n async createContact() {\n throw this.unimplemented('Not implemented on web.');\n }\n async deleteContact() {\n throw this.unimplemented('Not implemented on web.');\n }\n async pickContact() {\n throw this.unimplemented('Not implemented on web.');\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["PhoneType","EmailType","PostalAddressType","registerPlugin","WebPlugin"],"mappings":"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"}