@mcpher/gas-fakes 1.2.1 → 1.2.4

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 (82) hide show
  1. package/README.md +1 -0
  2. package/package.json +8 -1
  3. package/src/index.js +6 -0
  4. package/src/services/advcalendar/app.js +9 -0
  5. package/src/services/advcalendar/calendarpropslist.js +257 -0
  6. package/src/services/advcalendar/fakeadvcalendar.js +68 -0
  7. package/src/services/advcalendar/fakeadvcalendaracl.js +21 -0
  8. package/src/services/advcalendar/fakeadvcalendarcalendarlist.js +21 -0
  9. package/src/services/advcalendar/fakeadvcalendarcalendars.js +21 -0
  10. package/src/services/advcalendar/fakeadvcalendarchannels.js +21 -0
  11. package/src/services/advcalendar/fakeadvcalendarcolors.js +21 -0
  12. package/src/services/advcalendar/fakeadvcalendarevents.js +21 -0
  13. package/src/services/advcalendar/fakeadvcalendarfreebusy.js +21 -0
  14. package/src/services/advcalendar/fakeadvcalendarsettings.js +21 -0
  15. package/src/services/advchat/app.js +9 -0
  16. package/src/services/advchat/fakeadvchat.js +701 -0
  17. package/src/services/advchat/fakeadvchatspaces.js +29 -0
  18. package/src/services/advgmail/app.js +3 -5
  19. package/src/services/advpeople/app.js +9 -0
  20. package/src/services/advpeople/fakeadvpeople.js +39 -0
  21. package/src/services/advpeople/fakeadvpeoplepeople.js +21 -0
  22. package/src/services/advpeople/peoplepropslist.js +353 -0
  23. package/src/services/advtasks/app.js +9 -0
  24. package/src/services/advtasks/fakeadvtasks.js +40 -0
  25. package/src/services/advtasks/fakeadvtaskstasklists.js +21 -0
  26. package/src/services/advtasks/taskspropslist.js +48 -0
  27. package/src/services/advworkspacevents/app.js +9 -0
  28. package/src/services/advworkspacevents/fakeworkspaceevents.js +40 -0
  29. package/src/services/advworkspacevents/fakeworkspaceeventssubscriptions.js +21 -0
  30. package/src/services/advworkspacevents/workspaceeventspropslist.js +258 -0
  31. package/src/services/driveapp/driveiterators.js +21 -7
  32. package/src/services/driveapp/fakedriveapp.js +8 -0
  33. package/src/services/driveapp/fakedrivefolder.js +9 -0
  34. package/src/services/driveapp/fakefolderapp.js +16 -6
  35. package/src/services/mimetype/app.js +8 -0
  36. package/src/services/mimetype/fakemimetype.js +58 -0
  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 +5 -1
  40. package/src/services/stores/fakestores.js +67 -37
  41. package/src/support/calendarcacher.js +7 -0
  42. package/src/support/chatcacher.js +8 -0
  43. package/src/support/peoplecacher.js +7 -0
  44. package/src/support/proxies.js +20 -3
  45. package/src/support/sxdrive.js +3 -3
  46. package/src/support/taskscacher.js +7 -0
  47. package/src/support/workspaceeventscacher.js +7 -0
  48. package/.aiexclude +0 -6
  49. package/fakeadvdocuments.js +0 -0
  50. package/gasmess/bruce/appsscript.json +0 -47
  51. package/gasmess/bruce/bare.js +0 -1
  52. package/gasmess/bruce/basic.js +0 -33
  53. package/gasmess/bruce/d.js +0 -4
  54. package/gasmess/bruce/d1.js +0 -4
  55. package/gasmess/bruce/docelems.js +0 -50
  56. package/gasmess/bruce/dreport.js +0 -81
  57. package/gasmess/bruce/gasfakes.json +0 -8
  58. package/gasmess/bruce/package-lock.json +0 -3891
  59. package/gasmess/bruce/package.json +0 -18
  60. package/gasmess/bruce/pbx.js +0 -227
  61. package/gasmess/bruce/sorting.js +0 -106
  62. package/gasmess/bruce/testlogging.js +0 -13
  63. package/gasmess/tanaike/for_simple_test.js +0 -7
  64. package/gasmess/tanaike/gasfakes.json +0 -8
  65. package/gasmess/tanaike/sample1.js +0 -129
  66. package/gasmess/tanaike/sample2.js +0 -66
  67. package/gasmess/tanaike/sample3.js +0 -36
  68. package/gasmess/tanaike/sample4.js +0 -59
  69. package/gasmess/tanaike/sample5.js +0 -63
  70. package/gasmess/tanaike/tempfolder.js +0 -28
  71. package/gasmess/tempfolder.js +0 -29
  72. package/gprompts/gas-inventory.js +0 -96
  73. package/gprompts/gas-inventory.json +0 -176
  74. package/gprompts/inventory-list.json +0 -1
  75. package/gprompts/model.json +0 -34
  76. package/gprompts/package-lock.json +0 -1103
  77. package/gprompts/package.json +0 -18
  78. package/gprompts/regenerate-progress-reports.sh +0 -38
  79. package/gprompts/temp_fetch.mjs +0 -9
  80. package/gprompts/update-progress.js +0 -142
  81. package/index.js +0 -0
  82. package/togas.bash +0 -36
package/README.md CHANGED
@@ -158,3 +158,4 @@ As I mentioned earlier, to take this further, I'm going to need a lot of help to
158
158
  - [sandbox](sandbox.md)
159
159
  - [named range identity](named-range-identity.md)
160
160
  - [adc and restricted scopes](https://ramblings.mcpher.com/how-to-allow-access-to-sensitive-scopes-with-application-default-credentials/)
161
+ - [push test pull](pull-test-push.md)
package/package.json CHANGED
@@ -63,10 +63,17 @@
63
63
  "testsandbox": "node --trace-warnings ./test/testsandbox.js execute",
64
64
  "testgmail": "node --env-file=./.env ./test/testgmail.js execute",
65
65
  "testlogger": "node --env-file=./.env ./test/testlogger.js execute",
66
+ "testchat": "node --env-file=./.env ./test/testchat.js execute",
67
+ "testpeople": "node --env-file=./.env ./test/testpeople.js execute",
68
+ "testtasks": "node --env-file=./.env ./test/testtasks.js execute",
69
+ "testcalendar": "node --env-file=./.env ./test/testcalendar.js execute",
70
+ "testworkspaceevents": "node --env-file=./.env ./test/testworkspaceevents.js execute",
71
+ "testmimetype": "node --env-file=./.env ./test/testmimetype.js execute",
66
72
  "pub": "npm publish --access public"
67
73
  },
68
74
  "name": "@mcpher/gas-fakes",
69
- "version": "1.2.1",
75
+ "author": "bruce mcpherson",
76
+ "version": "1.2.4",
70
77
  "license": "MIT",
71
78
  "main": "main.js",
72
79
  "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);