@mcpher/gas-fakes 1.2.0 → 1.2.3

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 (83) hide show
  1. package/package.json +10 -2
  2. package/src/index.js +6 -0
  3. package/src/services/advcalendar/app.js +9 -0
  4. package/src/services/advcalendar/calendarpropslist.js +257 -0
  5. package/src/services/advcalendar/fakeadvcalendar.js +68 -0
  6. package/src/services/advcalendar/fakeadvcalendaracl.js +21 -0
  7. package/src/services/advcalendar/fakeadvcalendarcalendarlist.js +21 -0
  8. package/src/services/advcalendar/fakeadvcalendarcalendars.js +21 -0
  9. package/src/services/advcalendar/fakeadvcalendarchannels.js +21 -0
  10. package/src/services/advcalendar/fakeadvcalendarcolors.js +21 -0
  11. package/src/services/advcalendar/fakeadvcalendarevents.js +21 -0
  12. package/src/services/advcalendar/fakeadvcalendarfreebusy.js +21 -0
  13. package/src/services/advcalendar/fakeadvcalendarsettings.js +21 -0
  14. package/src/services/advchat/app.js +9 -0
  15. package/src/services/advchat/fakeadvchat.js +701 -0
  16. package/src/services/advchat/fakeadvchatspaces.js +29 -0
  17. package/src/services/advgmail/app.js +3 -5
  18. package/src/services/advpeople/app.js +9 -0
  19. package/src/services/advpeople/fakeadvpeople.js +39 -0
  20. package/src/services/advpeople/fakeadvpeoplepeople.js +21 -0
  21. package/src/services/advpeople/peoplepropslist.js +353 -0
  22. package/src/services/advtasks/app.js +9 -0
  23. package/src/services/advtasks/fakeadvtasks.js +40 -0
  24. package/src/services/advtasks/fakeadvtaskstasklists.js +21 -0
  25. package/src/services/advtasks/taskspropslist.js +48 -0
  26. package/src/services/advworkspacevents/app.js +9 -0
  27. package/src/services/advworkspacevents/fakeworkspaceevents.js +40 -0
  28. package/src/services/advworkspacevents/fakeworkspaceeventssubscriptions.js +21 -0
  29. package/src/services/advworkspacevents/workspaceeventspropslist.js +258 -0
  30. package/src/services/driveapp/driveiterators.js +21 -7
  31. package/src/services/driveapp/fakedriveapp.js +8 -0
  32. package/src/services/driveapp/fakedrivefolder.js +9 -0
  33. package/src/services/driveapp/fakefolderapp.js +16 -6
  34. package/src/services/mimetype/app.js +8 -0
  35. package/src/services/mimetype/fakemimetype.js +58 -0
  36. package/src/services/scriptapp/app.js +5 -4
  37. package/src/services/spreadsheetapp/fakesheetrange.js +1 -1
  38. package/src/services/spreadsheetapp/fakespreadsheet.js +1 -1
  39. package/src/services/spreadsheetapp/fakespreadsheetapp.js +6 -1
  40. package/src/services/stores/fakestores.js +67 -37
  41. package/src/services/stores/gasflex.js +3 -1
  42. package/src/support/calendarcacher.js +7 -0
  43. package/src/support/chatcacher.js +8 -0
  44. package/src/support/peoplecacher.js +7 -0
  45. package/src/support/proxies.js +20 -3
  46. package/src/support/sxdrive.js +3 -3
  47. package/src/support/taskscacher.js +7 -0
  48. package/src/support/workspaceeventscacher.js +7 -0
  49. package/.aiexclude +0 -6
  50. package/fakeadvdocuments.js +0 -0
  51. package/gasmess/bruce/appsscript.json +0 -47
  52. package/gasmess/bruce/bare.js +0 -1
  53. package/gasmess/bruce/basic.js +0 -33
  54. package/gasmess/bruce/d.js +0 -4
  55. package/gasmess/bruce/d1.js +0 -4
  56. package/gasmess/bruce/docelems.js +0 -50
  57. package/gasmess/bruce/dreport.js +0 -81
  58. package/gasmess/bruce/gasfakes.json +0 -8
  59. package/gasmess/bruce/package-lock.json +0 -3891
  60. package/gasmess/bruce/package.json +0 -18
  61. package/gasmess/bruce/pbx.js +0 -227
  62. package/gasmess/bruce/sorting.js +0 -106
  63. package/gasmess/bruce/testlogging.js +0 -13
  64. package/gasmess/tanaike/for_simple_test.js +0 -7
  65. package/gasmess/tanaike/gasfakes.json +0 -8
  66. package/gasmess/tanaike/sample1.js +0 -129
  67. package/gasmess/tanaike/sample2.js +0 -66
  68. package/gasmess/tanaike/sample3.js +0 -36
  69. package/gasmess/tanaike/sample4.js +0 -59
  70. package/gasmess/tanaike/sample5.js +0 -63
  71. package/gasmess/tanaike/tempfolder.js +0 -28
  72. package/gasmess/tempfolder.js +0 -29
  73. package/gprompts/gas-inventory.js +0 -96
  74. package/gprompts/gas-inventory.json +0 -176
  75. package/gprompts/inventory-list.json +0 -1
  76. package/gprompts/model.json +0 -34
  77. package/gprompts/package-lock.json +0 -1103
  78. package/gprompts/package.json +0 -18
  79. package/gprompts/regenerate-progress-reports.sh +0 -38
  80. package/gprompts/temp_fetch.mjs +0 -9
  81. package/gprompts/update-progress.js +0 -142
  82. package/index.js +0 -0
  83. package/togas.bash +0 -36
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  },
5
5
  "dependencies": {
6
6
  "@mcpher/fake-gasenum": "^1.0.2",
7
- "@mcpher/gas-flex-cache": "^1.1.0",
7
+ "@mcpher/gas-flex-cache": "^1.1.2",
8
8
  "@sindresorhus/is": "^7.0.1",
9
9
  "archiver": "^7.0.1",
10
10
  "exceljs": "^4.4.0",
@@ -26,6 +26,7 @@
26
26
  },
27
27
  "type": "module",
28
28
  "scripts": {
29
+
29
30
  "test": "node --env-file=./.env ./test/test.js",
30
31
  "testdrive": "node --env-file=./.env ./test/testdrive.js execute",
31
32
  "testsheetsdatavalidations": "node --env-file=./.env ./test/testsheetsdatavalidations.js execute",
@@ -63,10 +64,17 @@
63
64
  "testsandbox": "node --trace-warnings ./test/testsandbox.js execute",
64
65
  "testgmail": "node --env-file=./.env ./test/testgmail.js execute",
65
66
  "testlogger": "node --env-file=./.env ./test/testlogger.js execute",
67
+ "testchat": "node --env-file=./.env ./test/testchat.js execute",
68
+ "testpeople": "node --env-file=./.env ./test/testpeople.js execute",
69
+ "testtasks": "node --env-file=./.env ./test/testtasks.js execute",
70
+ "testcalendar": "node --env-file=./.env ./test/testcalendar.js execute",
71
+ "testworkspaceevents": "node --env-file=./.env ./test/testworkspaceevents.js execute",
72
+ "testmimetype": "node --env-file=./.env ./test/testmimetype.js execute",
66
73
  "pub": "npm publish --access public"
67
74
  },
68
75
  "name": "@mcpher/gas-fakes",
69
- "version": "1.2.0",
76
+ "author": "bruce mcpherson",
77
+ "version": "1.2.3",
70
78
  "license": "MIT",
71
79
  "main": "main.js",
72
80
  "description": "A proof of concept implementation of Apps Script Environment on Node",
package/src/index.js CHANGED
@@ -11,10 +11,16 @@ import './services/advdrive/app.js'
11
11
  import './services/advsheets/app.js'
12
12
  import './services/advdocs/app.js'
13
13
  import './services/advgmail/app.js'
14
+ import './services/advpeople/app.js'
15
+ import './services/advtasks/app.js'
16
+ import './services/advcalendar/app.js'
17
+ import './services/advworkspacevents/app.js'
18
+ import './services/advchat/app.js'
14
19
  import './services/advslides/app.js'
15
20
  import './services/documentapp/app.js'
16
21
  import './services/advforms/app.js'
17
22
  import './services/formapp/app.js'
18
23
  import './services/slidesapp/app.js'
24
+ import './services/mimetype/app.js'
19
25
  // should be last
20
26
  import './services/stores/app.js'
@@ -0,0 +1,9 @@
1
+ /**
2
+ * the idea here is to create an empty global entry for the singleton
3
+ * but only load it when it is actually used.
4
+ */
5
+ import { newFakeAdvCalendar as maker } from "./fakeadvcalendar.js";
6
+ import { lazyLoaderApp } from "../common/lazyloader.js";
7
+
8
+ let _app = null;
9
+ _app = lazyLoaderApp(_app, "Calendar", maker);
@@ -0,0 +1,257 @@
1
+ export const propsList= {
2
+ "newCalendarListEntryNotificationSettings": [
3
+ "notifications"
4
+ ],
5
+ "newConferenceData": [
6
+ "conferenceId",
7
+ "conferenceSolution",
8
+ "createRequest",
9
+ "entryPoints",
10
+ "notes",
11
+ "parameters",
12
+ "signature"
13
+ ],
14
+ "newAclRuleScope": [
15
+ "type",
16
+ "value"
17
+ ],
18
+ "newEventSource": [
19
+ "title",
20
+ "url"
21
+ ],
22
+ "newEventAttachment": [
23
+ "fileId",
24
+ "fileUrl",
25
+ "iconLink",
26
+ "mimeType",
27
+ "title"
28
+ ],
29
+ "newFreeBusyRequest": [
30
+ "calendarExpansionMax",
31
+ "groupExpansionMax",
32
+ "items",
33
+ "timeMax",
34
+ "timeMin",
35
+ "timeZone"
36
+ ],
37
+ "newConferenceParameters": [
38
+ "addOnParameters"
39
+ ],
40
+ "newEventReminders": [
41
+ "overrides",
42
+ "useDefault"
43
+ ],
44
+ "newConferenceProperties": [
45
+ "allowedConferenceSolutionTypes"
46
+ ],
47
+ "newCreateConferenceRequest": [
48
+ "conferenceSolutionKey",
49
+ "requestId",
50
+ "status"
51
+ ],
52
+ "newEventWorkingLocationPropertiesCustomLocation": [
53
+ "label"
54
+ ],
55
+ "newEventGadget": [
56
+ "display",
57
+ "height",
58
+ "iconLink",
59
+ "link",
60
+ "preferences",
61
+ "title",
62
+ "type",
63
+ "width"
64
+ ],
65
+ "newEventOrganizer": [
66
+ "displayName",
67
+ "email",
68
+ "id",
69
+ "self"
70
+ ],
71
+ "newAclRule": [
72
+ "etag",
73
+ "id",
74
+ "kind",
75
+ "role",
76
+ "scope"
77
+ ],
78
+ "newEventCreator": [
79
+ "displayName",
80
+ "email",
81
+ "id",
82
+ "self"
83
+ ],
84
+ "newEventDateTime": [
85
+ "date",
86
+ "dateTime",
87
+ "timeZone"
88
+ ],
89
+ "newCalendarListEntry": [
90
+ "accessRole",
91
+ "backgroundColor",
92
+ "colorId",
93
+ "conferenceProperties",
94
+ "defaultReminders",
95
+ "deleted",
96
+ "description",
97
+ "etag",
98
+ "foregroundColor",
99
+ "hidden",
100
+ "id",
101
+ "kind",
102
+ "location",
103
+ "notificationSettings",
104
+ "primary",
105
+ "selected",
106
+ "summary",
107
+ "summaryOverride",
108
+ "timeZone"
109
+ ],
110
+ "newEventExtendedProperties": [
111
+ "private",
112
+ "shared"
113
+ ],
114
+ "newFreeBusyRequestItem": [
115
+ "id"
116
+ ],
117
+ "newConferenceRequestStatus": [
118
+ "statusCode"
119
+ ],
120
+ "newEventReminder": [
121
+ "method",
122
+ "minutes"
123
+ ],
124
+ "newConferenceParametersAddOnParameters": [
125
+ "parameters"
126
+ ],
127
+ "newConferenceSolution": [
128
+ "iconUri",
129
+ "key",
130
+ "name"
131
+ ],
132
+ "newEvent": [
133
+ "anyoneCanAddSelf",
134
+ "attachments",
135
+ "attendees",
136
+ "attendeesOmitted",
137
+ "birthdayProperties",
138
+ "colorId",
139
+ "conferenceData",
140
+ "created",
141
+ "creator",
142
+ "description",
143
+ "end",
144
+ "endTimeUnspecified",
145
+ "etag",
146
+ "eventType",
147
+ "extendedProperties",
148
+ "focusTimeProperties",
149
+ "gadget",
150
+ "guestsCanInviteOthers",
151
+ "guestsCanModify",
152
+ "guestsCanSeeOtherGuests",
153
+ "hangoutLink",
154
+ "htmlLink",
155
+ "iCalUID",
156
+ "id",
157
+ "kind",
158
+ "location",
159
+ "locked",
160
+ "organizer",
161
+ "originalStartTime",
162
+ "outOfOfficeProperties",
163
+ "privateCopy",
164
+ "recurrence",
165
+ "recurringEventId",
166
+ "reminders",
167
+ "sequence",
168
+ "source",
169
+ "start",
170
+ "status",
171
+ "summary",
172
+ "transparency",
173
+ "updated",
174
+ "visibility",
175
+ "workingLocationProperties"
176
+ ],
177
+ "newEventWorkingLocationPropertiesOfficeLocation": [
178
+ "buildingId",
179
+ "deskId",
180
+ "floorId",
181
+ "floorSectionId",
182
+ "label"
183
+ ],
184
+ "newConferenceSolutionKey": [
185
+ "type"
186
+ ],
187
+ "newEventBirthdayProperties": [
188
+ "contact",
189
+ "customTypeName",
190
+ "type"
191
+ ],
192
+ "newEntryPoint": [
193
+ "accessCode",
194
+ "entryPointFeatures",
195
+ "entryPointType",
196
+ "label",
197
+ "meetingCode",
198
+ "passcode",
199
+ "password",
200
+ "pin",
201
+ "regionCode",
202
+ "uri"
203
+ ],
204
+ "newCalendarNotification": [
205
+ "method",
206
+ "type"
207
+ ],
208
+ "newEventOutOfOfficeProperties": [
209
+ "autoDeclineMode",
210
+ "declineMessage"
211
+ ],
212
+ "newCalendar": [
213
+ "conferenceProperties",
214
+ "description",
215
+ "etag",
216
+ "id",
217
+ "kind",
218
+ "location",
219
+ "summary",
220
+ "timeZone"
221
+ ],
222
+ "newEventWorkingLocationProperties": [
223
+ "customLocation",
224
+ "homeOffice",
225
+ "officeLocation",
226
+ "type"
227
+ ],
228
+ "newEventFocusTimeProperties": [
229
+ "autoDeclineMode",
230
+ "chatStatus",
231
+ "declineMessage"
232
+ ],
233
+ "newChannel": [
234
+ "address",
235
+ "expiration",
236
+ "id",
237
+ "kind",
238
+ "params",
239
+ "payload",
240
+ "resourceId",
241
+ "resourceUri",
242
+ "token",
243
+ "type"
244
+ ],
245
+ "newEventAttendee": [
246
+ "additionalGuests",
247
+ "comment",
248
+ "displayName",
249
+ "email",
250
+ "id",
251
+ "optional",
252
+ "organizer",
253
+ "resource",
254
+ "responseStatus",
255
+ "self"
256
+ ]
257
+ }
@@ -0,0 +1,68 @@
1
+ /**
2
+ * @file advcalendar/fakeadvcalendar.js
3
+ * @author Bruce Mcpherson
4
+ *
5
+ * @description This is a fake for the advanced calendar service
6
+ *
7
+ */
8
+ import { Proxies } from "../../support/proxies.js";
9
+ import { advClassMaker } from "../../support/helpers.js";
10
+ import { calendarCacher } from "../../support/calendarcacher.js";
11
+ import { propsList } from "./calendarpropslist.js";
12
+ import { newFakeAdvCalendarAcl } from "./fakeadvcalendaracl.js";
13
+ import { newFakeAdvCalendarCalendarList } from "./fakeadvcalendarcalendarlist.js";
14
+ import { newFakeAdvCalendarCalendars } from "./fakeadvcalendarcalendars.js";
15
+ import { newFakeAdvCalendarChannels } from "./fakeadvcalendarchannels.js";
16
+ import { newFakeAdvCalendarColors } from "./fakeadvcalendarcolors.js";
17
+ import { newFakeAdvCalendarEvents } from "./fakeadvcalendarevents.js";
18
+ import { newFakeAdvCalendarFreebusy } from "./fakeadvcalendarfreebusy.js";
19
+ import { newFakeAdvCalendarSettings } from "./fakeadvcalendarsettings.js";
20
+
21
+ class FakeAdvCalendar {
22
+ constructor() {
23
+ this.__fakeObjectType = "Calendar";
24
+
25
+ Reflect.ownKeys(propsList).forEach((p) => {
26
+ this[p] = () => advClassMaker(propsList[p]);
27
+ });
28
+ }
29
+ toString() {
30
+ return "AdvancedServiceIdentifier{name=calendar, version=v3}";
31
+ }
32
+
33
+ getVersion() {
34
+ return "v3";
35
+ }
36
+
37
+ get Acl() {
38
+ return newFakeAdvCalendarAcl(this);
39
+ }
40
+ get CalendarList() {
41
+ return newFakeAdvCalendarCalendarList(this);
42
+ }
43
+ get Calendars() {
44
+ return newFakeAdvCalendarCalendars(this);
45
+ }
46
+ get Channels() {
47
+ return newFakeAdvCalendarChannels(this);
48
+ }
49
+ get Colors() {
50
+ return newFakeAdvCalendarColors(this);
51
+ }
52
+ get Events() {
53
+ return newFakeAdvCalendarEvents(this);
54
+ }
55
+ get Freebusy() {
56
+ return newFakeAdvCalendarFreebusy(this);
57
+ }
58
+ get Settings() {
59
+ return newFakeAdvCalendarSettings(this);
60
+ }
61
+
62
+ __getCalendarPerformance() {
63
+ return calendarCacher.getPerformance();
64
+ }
65
+ }
66
+
67
+ export const newFakeAdvCalendar = (...args) =>
68
+ Proxies.guard(new FakeAdvCalendar(...args));
@@ -0,0 +1,21 @@
1
+ import { FakeAdvResource } from "../common/fakeadvresource.js";
2
+ import { Syncit } from "../../support/syncit.js";
3
+ import { Proxies } from "../../support/proxies.js";
4
+
5
+ export const newFakeAdvCalendarAcl = (...args) =>
6
+ Proxies.guard(new FakeAdvCalendarAcl(...args));
7
+
8
+ /**
9
+ * @see https://developers.google.com/calendar/api/v3/reference/acl
10
+ */
11
+ class FakeAdvCalendarAcl extends FakeAdvResource {
12
+ /**
13
+ *
14
+ * @param {object} mainService the main service
15
+ */
16
+ constructor(mainService) {
17
+ super(mainService, "acl", Syncit.fxCalendar);
18
+ this.calendar = mainService;
19
+ this.__fakeObjectType = "Calendar.Acl";
20
+ }
21
+ }
@@ -0,0 +1,21 @@
1
+ import { FakeAdvResource } from "../common/fakeadvresource.js";
2
+ import { Syncit } from "../../support/syncit.js";
3
+ import { Proxies } from "../../support/proxies.js";
4
+
5
+ export const newFakeAdvCalendarCalendarList = (...args) =>
6
+ Proxies.guard(new FakeAdvCalendarCalendarList(...args));
7
+
8
+ /**
9
+ * @see https://developers.google.com/calendar/api/v3/reference/calendarList
10
+ */
11
+ class FakeAdvCalendarCalendarList extends FakeAdvResource {
12
+ /**
13
+ *
14
+ * @param {object} mainService the main service
15
+ */
16
+ constructor(mainService) {
17
+ super(mainService, "calendarList", Syncit.fxCalendar);
18
+ this.calendar = mainService;
19
+ this.__fakeObjectType = "Calendar.CalendarList";
20
+ }
21
+ }
@@ -0,0 +1,21 @@
1
+ import { FakeAdvResource } from "../common/fakeadvresource.js";
2
+ import { Syncit } from "../../support/syncit.js";
3
+ import { Proxies } from "../../support/proxies.js";
4
+
5
+ export const newFakeAdvCalendarCalendars = (...args) =>
6
+ Proxies.guard(new FakeAdvCalendarCalendars(...args));
7
+
8
+ /**
9
+ * @see https://developers.google.com/calendar/api/v3/reference/calendars
10
+ */
11
+ class FakeAdvCalendarCalendars extends FakeAdvResource {
12
+ /**
13
+ *
14
+ * @param {object} mainService the main service
15
+ */
16
+ constructor(mainService) {
17
+ super(mainService, "calendars", Syncit.fxCalendar);
18
+ this.calendar = mainService;
19
+ this.__fakeObjectType = "Calendar.Calendars";
20
+ }
21
+ }
@@ -0,0 +1,21 @@
1
+ import { FakeAdvResource } from "../common/fakeadvresource.js";
2
+ import { Syncit } from "../../support/syncit.js";
3
+ import { Proxies } from "../../support/proxies.js";
4
+
5
+ export const newFakeAdvCalendarChannels = (...args) =>
6
+ Proxies.guard(new FakeAdvCalendarChannels(...args));
7
+
8
+ /**
9
+ * @see https://developers.google.com/calendar/api/v3/reference/channels
10
+ */
11
+ class FakeAdvCalendarChannels extends FakeAdvResource {
12
+ /**
13
+ *
14
+ * @param {object} mainService the main service
15
+ */
16
+ constructor(mainService) {
17
+ super(mainService, "channels", Syncit.fxCalendar);
18
+ this.calendar = mainService;
19
+ this.__fakeObjectType = "Calendar.Channels";
20
+ }
21
+ }
@@ -0,0 +1,21 @@
1
+ import { FakeAdvResource } from "../common/fakeadvresource.js";
2
+ import { Syncit } from "../../support/syncit.js";
3
+ import { Proxies } from "../../support/proxies.js";
4
+
5
+ export const newFakeAdvCalendarColors = (...args) =>
6
+ Proxies.guard(new FakeAdvCalendarColors(...args));
7
+
8
+ /**
9
+ * @see https://developers.google.com/calendar/api/v3/reference/colors
10
+ */
11
+ class FakeAdvCalendarColors extends FakeAdvResource {
12
+ /**
13
+ *
14
+ * @param {object} mainService the main service
15
+ */
16
+ constructor(mainService) {
17
+ super(mainService, "colors", Syncit.fxCalendar);
18
+ this.calendar = mainService;
19
+ this.__fakeObjectType = "Calendar.Colors";
20
+ }
21
+ }
@@ -0,0 +1,21 @@
1
+ import { FakeAdvResource } from "../common/fakeadvresource.js";
2
+ import { Syncit } from "../../support/syncit.js";
3
+ import { Proxies } from "../../support/proxies.js";
4
+
5
+ export const newFakeAdvCalendarEvents = (...args) =>
6
+ Proxies.guard(new FakeAdvCalendarEvents(...args));
7
+
8
+ /**
9
+ * @see https://developers.google.com/calendar/api/v3/reference/events
10
+ */
11
+ class FakeAdvCalendarEvents extends FakeAdvResource {
12
+ /**
13
+ *
14
+ * @param {object} mainService the main service
15
+ */
16
+ constructor(mainService) {
17
+ super(mainService, "events", Syncit.fxCalendar);
18
+ this.calendar = mainService;
19
+ this.__fakeObjectType = "Calendar.Events";
20
+ }
21
+ }
@@ -0,0 +1,21 @@
1
+ import { FakeAdvResource } from "../common/fakeadvresource.js";
2
+ import { Syncit } from "../../support/syncit.js";
3
+ import { Proxies } from "../../support/proxies.js";
4
+
5
+ export const newFakeAdvCalendarFreebusy = (...args) =>
6
+ Proxies.guard(new FakeAdvCalendarFreebusy(...args));
7
+
8
+ /**
9
+ * @see https://developers.google.com/calendar/api/v3/reference/freebusy
10
+ */
11
+ class FakeAdvCalendarFreebusy extends FakeAdvResource {
12
+ /**
13
+ *
14
+ * @param {object} mainService the main service
15
+ */
16
+ constructor(mainService) {
17
+ super(mainService, "freebusy", Syncit.fxCalendar);
18
+ this.calendar = mainService;
19
+ this.__fakeObjectType = "Calendar.Freebusy";
20
+ }
21
+ }
@@ -0,0 +1,21 @@
1
+ import { FakeAdvResource } from "../common/fakeadvresource.js";
2
+ import { Syncit } from "../../support/syncit.js";
3
+ import { Proxies } from "../../support/proxies.js";
4
+
5
+ export const newFakeAdvCalendarSettings = (...args) =>
6
+ Proxies.guard(new FakeAdvCalendarSettings(...args));
7
+
8
+ /**
9
+ * @see https://developers.google.com/calendar/api/v3/reference/settings
10
+ */
11
+ class FakeAdvCalendarSettings extends FakeAdvResource {
12
+ /**
13
+ *
14
+ * @param {object} mainService the main service
15
+ */
16
+ constructor(mainService) {
17
+ super(mainService, "settings", Syncit.fxCalendar);
18
+ this.calendar = mainService;
19
+ this.__fakeObjectType = "Calendar.Settings";
20
+ }
21
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * the idea here is to create an empty global entry for the singleton
3
+ * but only load it when it is actually used.
4
+ */
5
+ import { newFakeAdvChat as maker } from "./fakeadvchat.js";
6
+ import { lazyLoaderApp } from "../common/lazyloader.js";
7
+
8
+ let _app = null;
9
+ _app = lazyLoaderApp(_app, "Chat", maker);