@hanzo/booker 0.1.0
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/README.md +78 -0
- package/dist/cjs/Booker.cjs +153 -0
- package/dist/cjs/Booker.native.js +158 -0
- package/dist/cjs/Booker.native.js.map +1 -0
- package/dist/cjs/BookingForm.cjs +197 -0
- package/dist/cjs/BookingForm.native.js +203 -0
- package/dist/cjs/BookingForm.native.js.map +1 -0
- package/dist/cjs/CalendarEmbed.cjs +121 -0
- package/dist/cjs/CalendarEmbed.native.js +125 -0
- package/dist/cjs/CalendarEmbed.native.js.map +1 -0
- package/dist/cjs/Confirmation.cjs +177 -0
- package/dist/cjs/Confirmation.native.js +185 -0
- package/dist/cjs/Confirmation.native.js.map +1 -0
- package/dist/cjs/EventHeader.cjs +112 -0
- package/dist/cjs/EventHeader.native.js +118 -0
- package/dist/cjs/EventHeader.native.js.map +1 -0
- package/dist/cjs/MonthCalendar.cjs +177 -0
- package/dist/cjs/MonthCalendar.native.js +191 -0
- package/dist/cjs/MonthCalendar.native.js.map +1 -0
- package/dist/cjs/TimeSlots.cjs +119 -0
- package/dist/cjs/TimeSlots.native.js +126 -0
- package/dist/cjs/TimeSlots.native.js.map +1 -0
- package/dist/cjs/client.cjs +136 -0
- package/dist/cjs/client.native.js +267 -0
- package/dist/cjs/client.native.js.map +1 -0
- package/dist/cjs/hooks.cjs +193 -0
- package/dist/cjs/hooks.native.js +221 -0
- package/dist/cjs/hooks.native.js.map +1 -0
- package/dist/cjs/index.cjs +71 -0
- package/dist/cjs/index.native.js +74 -0
- package/dist/cjs/index.native.js.map +1 -0
- package/dist/cjs/time.cjs +145 -0
- package/dist/cjs/time.native.js +150 -0
- package/dist/cjs/time.native.js.map +1 -0
- package/dist/cjs/useBooker.cjs +151 -0
- package/dist/cjs/useBooker.native.js +173 -0
- package/dist/cjs/useBooker.native.js.map +1 -0
- package/dist/esm/Booker.mjs +128 -0
- package/dist/esm/Booker.mjs.map +1 -0
- package/dist/esm/Booker.native.js +130 -0
- package/dist/esm/Booker.native.js.map +1 -0
- package/dist/esm/BookingForm.mjs +172 -0
- package/dist/esm/BookingForm.mjs.map +1 -0
- package/dist/esm/BookingForm.native.js +175 -0
- package/dist/esm/BookingForm.native.js.map +1 -0
- package/dist/esm/CalendarEmbed.mjs +96 -0
- package/dist/esm/CalendarEmbed.mjs.map +1 -0
- package/dist/esm/CalendarEmbed.native.js +97 -0
- package/dist/esm/CalendarEmbed.native.js.map +1 -0
- package/dist/esm/Confirmation.mjs +152 -0
- package/dist/esm/Confirmation.mjs.map +1 -0
- package/dist/esm/Confirmation.native.js +157 -0
- package/dist/esm/Confirmation.native.js.map +1 -0
- package/dist/esm/EventHeader.mjs +87 -0
- package/dist/esm/EventHeader.mjs.map +1 -0
- package/dist/esm/EventHeader.native.js +90 -0
- package/dist/esm/EventHeader.native.js.map +1 -0
- package/dist/esm/MonthCalendar.mjs +152 -0
- package/dist/esm/MonthCalendar.mjs.map +1 -0
- package/dist/esm/MonthCalendar.native.js +163 -0
- package/dist/esm/MonthCalendar.native.js.map +1 -0
- package/dist/esm/TimeSlots.mjs +94 -0
- package/dist/esm/TimeSlots.mjs.map +1 -0
- package/dist/esm/TimeSlots.native.js +98 -0
- package/dist/esm/TimeSlots.native.js.map +1 -0
- package/dist/esm/client.mjs +104 -0
- package/dist/esm/client.mjs.map +1 -0
- package/dist/esm/client.native.js +232 -0
- package/dist/esm/client.native.js.map +1 -0
- package/dist/esm/hooks.mjs +165 -0
- package/dist/esm/hooks.mjs.map +1 -0
- package/dist/esm/hooks.native.js +190 -0
- package/dist/esm/hooks.native.js.map +1 -0
- package/dist/esm/index.js +13 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/index.mjs +13 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +13 -0
- package/dist/esm/index.native.js.map +1 -0
- package/dist/esm/time.mjs +107 -0
- package/dist/esm/time.mjs.map +1 -0
- package/dist/esm/time.native.js +109 -0
- package/dist/esm/time.native.js.map +1 -0
- package/dist/esm/useBooker.mjs +126 -0
- package/dist/esm/useBooker.mjs.map +1 -0
- package/dist/esm/useBooker.native.js +145 -0
- package/dist/esm/useBooker.native.js.map +1 -0
- package/package.json +61 -0
- package/src/Booker.tsx +152 -0
- package/src/BookingForm.tsx +180 -0
- package/src/CalendarEmbed.tsx +111 -0
- package/src/Confirmation.tsx +145 -0
- package/src/EventHeader.tsx +85 -0
- package/src/MonthCalendar.tsx +179 -0
- package/src/TimeSlots.tsx +102 -0
- package/src/client.ts +218 -0
- package/src/hooks.ts +180 -0
- package/src/index.ts +72 -0
- package/src/time.ts +131 -0
- package/src/useBooker.ts +187 -0
- package/types/Booker.d.ts +16 -0
- package/types/Booker.d.ts.map +1 -0
- package/types/BookingForm.d.ts +13 -0
- package/types/BookingForm.d.ts.map +1 -0
- package/types/CalendarEmbed.d.ts +15 -0
- package/types/CalendarEmbed.d.ts.map +1 -0
- package/types/Confirmation.d.ts +12 -0
- package/types/Confirmation.d.ts.map +1 -0
- package/types/EventHeader.d.ts +10 -0
- package/types/EventHeader.d.ts.map +1 -0
- package/types/MonthCalendar.d.ts +14 -0
- package/types/MonthCalendar.d.ts.map +1 -0
- package/types/TimeSlots.d.ts +15 -0
- package/types/TimeSlots.d.ts.map +1 -0
- package/types/client.d.ts +77 -0
- package/types/client.d.ts.map +1 -0
- package/types/hooks.d.ts +43 -0
- package/types/hooks.d.ts.map +1 -0
- package/types/index.d.ts +12 -0
- package/types/index.d.ts.map +1 -0
- package/types/time.d.ts +38 -0
- package/types/time.d.ts.map +1 -0
- package/types/useBooker.d.ts +41 -0
- package/types/useBooker.d.ts.map +1 -0
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
}), mod);
|
|
25
|
+
var client_exports = {};
|
|
26
|
+
__export(client_exports, {
|
|
27
|
+
CAL_API_VERSION: () => CAL_API_VERSION,
|
|
28
|
+
CalendarError: () => CalendarError,
|
|
29
|
+
DEFAULT_API_URL: () => DEFAULT_API_URL,
|
|
30
|
+
cancelBooking: () => cancelBooking,
|
|
31
|
+
createBooking: () => createBooking,
|
|
32
|
+
fetchBooking: () => fetchBooking,
|
|
33
|
+
fetchEventType: () => fetchEventType,
|
|
34
|
+
fetchSlots: () => fetchSlots
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(client_exports);
|
|
37
|
+
function _assert_this_initialized(self) {
|
|
38
|
+
if (self === void 0) {
|
|
39
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
40
|
+
}
|
|
41
|
+
return self;
|
|
42
|
+
}
|
|
43
|
+
function _call_super(_this, derived, args) {
|
|
44
|
+
derived = _get_prototype_of(derived);
|
|
45
|
+
return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
|
|
46
|
+
}
|
|
47
|
+
function _class_call_check(instance, Constructor) {
|
|
48
|
+
if (!(instance instanceof Constructor)) {
|
|
49
|
+
throw new TypeError("Cannot call a class as a function");
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function _construct(Parent, args, Class) {
|
|
53
|
+
if (_is_native_reflect_construct()) {
|
|
54
|
+
_construct = Reflect.construct;
|
|
55
|
+
} else {
|
|
56
|
+
_construct = function construct(Parent2, args2, Class2) {
|
|
57
|
+
var a = [null];
|
|
58
|
+
a.push.apply(a, args2);
|
|
59
|
+
var Constructor = Function.bind.apply(Parent2, a);
|
|
60
|
+
var instance = new Constructor();
|
|
61
|
+
if (Class2) _set_prototype_of(instance, Class2.prototype);
|
|
62
|
+
return instance;
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
return _construct.apply(null, arguments);
|
|
66
|
+
}
|
|
67
|
+
function _define_property(obj, key, value) {
|
|
68
|
+
if (key in obj) {
|
|
69
|
+
Object.defineProperty(obj, key, {
|
|
70
|
+
value,
|
|
71
|
+
enumerable: true,
|
|
72
|
+
configurable: true,
|
|
73
|
+
writable: true
|
|
74
|
+
});
|
|
75
|
+
} else {
|
|
76
|
+
obj[key] = value;
|
|
77
|
+
}
|
|
78
|
+
return obj;
|
|
79
|
+
}
|
|
80
|
+
function _get_prototype_of(o) {
|
|
81
|
+
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o2) {
|
|
82
|
+
return o2.__proto__ || Object.getPrototypeOf(o2);
|
|
83
|
+
};
|
|
84
|
+
return _get_prototype_of(o);
|
|
85
|
+
}
|
|
86
|
+
function _inherits(subClass, superClass) {
|
|
87
|
+
if (typeof superClass !== "function" && superClass !== null) {
|
|
88
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
89
|
+
}
|
|
90
|
+
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
91
|
+
constructor: {
|
|
92
|
+
value: subClass,
|
|
93
|
+
writable: true,
|
|
94
|
+
configurable: true
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
if (superClass) _set_prototype_of(subClass, superClass);
|
|
98
|
+
}
|
|
99
|
+
function _is_native_function(fn) {
|
|
100
|
+
return Function.toString.call(fn).indexOf("[native code]") !== -1;
|
|
101
|
+
}
|
|
102
|
+
function _possible_constructor_return(self, call) {
|
|
103
|
+
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
104
|
+
return call;
|
|
105
|
+
}
|
|
106
|
+
return _assert_this_initialized(self);
|
|
107
|
+
}
|
|
108
|
+
function _set_prototype_of(o, p) {
|
|
109
|
+
_set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o2, p2) {
|
|
110
|
+
o2.__proto__ = p2;
|
|
111
|
+
return o2;
|
|
112
|
+
};
|
|
113
|
+
return _set_prototype_of(o, p);
|
|
114
|
+
}
|
|
115
|
+
function _type_of(obj) {
|
|
116
|
+
"@swc/helpers - typeof";
|
|
117
|
+
|
|
118
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
119
|
+
}
|
|
120
|
+
function _wrap_native_super(Class) {
|
|
121
|
+
var _cache = typeof Map === "function" ? /* @__PURE__ */new Map() : void 0;
|
|
122
|
+
_wrap_native_super = function wrapNativeSuper(Class2) {
|
|
123
|
+
if (Class2 === null || !_is_native_function(Class2)) return Class2;
|
|
124
|
+
if (typeof Class2 !== "function") {
|
|
125
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
126
|
+
}
|
|
127
|
+
if (typeof _cache !== "undefined") {
|
|
128
|
+
if (_cache.has(Class2)) return _cache.get(Class2);
|
|
129
|
+
_cache.set(Class2, Wrapper);
|
|
130
|
+
}
|
|
131
|
+
function Wrapper() {
|
|
132
|
+
return _construct(Class2, arguments, _get_prototype_of(this).constructor);
|
|
133
|
+
}
|
|
134
|
+
Wrapper.prototype = Object.create(Class2.prototype, {
|
|
135
|
+
constructor: {
|
|
136
|
+
value: Wrapper,
|
|
137
|
+
enumerable: false,
|
|
138
|
+
writable: true,
|
|
139
|
+
configurable: true
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
return _set_prototype_of(Wrapper, Class2);
|
|
143
|
+
};
|
|
144
|
+
return _wrap_native_super(Class);
|
|
145
|
+
}
|
|
146
|
+
function _is_native_reflect_construct() {
|
|
147
|
+
try {
|
|
148
|
+
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
|
|
149
|
+
} catch (_) {}
|
|
150
|
+
return (_is_native_reflect_construct = function () {
|
|
151
|
+
return !!result;
|
|
152
|
+
})();
|
|
153
|
+
}
|
|
154
|
+
var DEFAULT_API_URL = "https://api.hanzo.ai/v1/calendar";
|
|
155
|
+
var CAL_API_VERSION = "2024-08-13";
|
|
156
|
+
var CalendarError = /* @__PURE__ */function (Error1) {
|
|
157
|
+
"use strict";
|
|
158
|
+
|
|
159
|
+
_inherits(CalendarError2, Error1);
|
|
160
|
+
function CalendarError2(message, status) {
|
|
161
|
+
_class_call_check(this, CalendarError2);
|
|
162
|
+
var _this;
|
|
163
|
+
_this = _call_super(this, CalendarError2, [message]), _define_property(_this, "status", void 0), _define_property(_this, "conflict", void 0);
|
|
164
|
+
_this.name = "CalendarError";
|
|
165
|
+
_this.status = status;
|
|
166
|
+
_this.conflict = status === 409;
|
|
167
|
+
return _this;
|
|
168
|
+
}
|
|
169
|
+
return CalendarError2;
|
|
170
|
+
}(_wrap_native_super(Error));
|
|
171
|
+
function messageOf(body, status) {
|
|
172
|
+
var _b_error;
|
|
173
|
+
var b = body;
|
|
174
|
+
return (b === null || b === void 0 ? void 0 : (_b_error = b.error) === null || _b_error === void 0 ? void 0 : _b_error.message) || (b === null || b === void 0 ? void 0 : b.message) || `Request failed (${status})`;
|
|
175
|
+
}
|
|
176
|
+
async function readJson(res) {
|
|
177
|
+
return res.json().catch(function () {
|
|
178
|
+
return null;
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
async function getJson(url, signal) {
|
|
182
|
+
var res = await fetch(url, {
|
|
183
|
+
headers: {
|
|
184
|
+
Accept: "application/json"
|
|
185
|
+
},
|
|
186
|
+
signal
|
|
187
|
+
});
|
|
188
|
+
var body = await readJson(res);
|
|
189
|
+
if (!res.ok) throw new CalendarError(messageOf(body, res.status), res.status);
|
|
190
|
+
return body.data;
|
|
191
|
+
}
|
|
192
|
+
function normalizeEventType(raw) {
|
|
193
|
+
var _raw_length, _ref, _ref1;
|
|
194
|
+
var length = (_ref1 = (_ref = (_raw_length = raw.length) !== null && _raw_length !== void 0 ? _raw_length : raw.lengthInMinutes) !== null && _ref !== void 0 ? _ref : raw.durationMinutes) !== null && _ref1 !== void 0 ? _ref1 : 30;
|
|
195
|
+
var _raw_id, _raw_slug, _raw_title, _raw_description, _raw_locations, _raw_price, _raw_currency;
|
|
196
|
+
return {
|
|
197
|
+
id: Number((_raw_id = raw.id) !== null && _raw_id !== void 0 ? _raw_id : 0),
|
|
198
|
+
slug: String((_raw_slug = raw.slug) !== null && _raw_slug !== void 0 ? _raw_slug : ""),
|
|
199
|
+
title: String((_raw_title = raw.title) !== null && _raw_title !== void 0 ? _raw_title : ""),
|
|
200
|
+
description: String((_raw_description = raw.description) !== null && _raw_description !== void 0 ? _raw_description : ""),
|
|
201
|
+
length,
|
|
202
|
+
locations: (_raw_locations = raw.locations) !== null && _raw_locations !== void 0 ? _raw_locations : [],
|
|
203
|
+
price: Number((_raw_price = raw.price) !== null && _raw_price !== void 0 ? _raw_price : 0),
|
|
204
|
+
currency: String((_raw_currency = raw.currency) !== null && _raw_currency !== void 0 ? _raw_currency : "usd"),
|
|
205
|
+
profile: raw.profile
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
async function fetchEventType(api, eventSlug, username, signal) {
|
|
209
|
+
var url = `${api}/atoms/event-types/${encodeURIComponent(eventSlug)}/public?username=${encodeURIComponent(username)}`;
|
|
210
|
+
var raw = await getJson(url, signal);
|
|
211
|
+
return normalizeEventType(raw);
|
|
212
|
+
}
|
|
213
|
+
async function fetchSlots(api, input, signal) {
|
|
214
|
+
var q = new URLSearchParams({
|
|
215
|
+
eventTypeSlug: input.eventTypeSlug,
|
|
216
|
+
usernameList: input.username,
|
|
217
|
+
startTime: input.startTime,
|
|
218
|
+
endTime: input.endTime,
|
|
219
|
+
timeZone: input.timeZone
|
|
220
|
+
});
|
|
221
|
+
var data = await getJson(`${api}/slots/available?${q.toString()}`, signal);
|
|
222
|
+
var _data_slots;
|
|
223
|
+
var slots = (_data_slots = data.slots) !== null && _data_slots !== void 0 ? _data_slots : data;
|
|
224
|
+
return slots !== null && slots !== void 0 ? slots : {};
|
|
225
|
+
}
|
|
226
|
+
async function createBooking(api, input, signal) {
|
|
227
|
+
var res = await fetch(`${api}/bookings`, {
|
|
228
|
+
method: "POST",
|
|
229
|
+
headers: {
|
|
230
|
+
"Content-Type": "application/json",
|
|
231
|
+
Accept: "application/json",
|
|
232
|
+
"cal-api-version": CAL_API_VERSION
|
|
233
|
+
},
|
|
234
|
+
body: JSON.stringify({
|
|
235
|
+
eventTypeSlug: input.eventTypeSlug,
|
|
236
|
+
user: input.username,
|
|
237
|
+
start: input.start,
|
|
238
|
+
timeZone: input.timeZone,
|
|
239
|
+
responses: input.responses
|
|
240
|
+
}),
|
|
241
|
+
signal
|
|
242
|
+
});
|
|
243
|
+
var body = await readJson(res);
|
|
244
|
+
if (!res.ok) throw new CalendarError(messageOf(body, res.status), res.status);
|
|
245
|
+
return body.data;
|
|
246
|
+
}
|
|
247
|
+
async function fetchBooking(api, uid, signal) {
|
|
248
|
+
return getJson(`${api}/bookings/${encodeURIComponent(uid)}`, signal);
|
|
249
|
+
}
|
|
250
|
+
async function cancelBooking(api, uid, reason, signal) {
|
|
251
|
+
var res = await fetch(`${api}/bookings/${encodeURIComponent(uid)}/cancel`, {
|
|
252
|
+
method: "POST",
|
|
253
|
+
headers: {
|
|
254
|
+
"Content-Type": "application/json",
|
|
255
|
+
Accept: "application/json",
|
|
256
|
+
"cal-api-version": CAL_API_VERSION
|
|
257
|
+
},
|
|
258
|
+
body: JSON.stringify({
|
|
259
|
+
reason: reason !== null && reason !== void 0 ? reason : ""
|
|
260
|
+
}),
|
|
261
|
+
signal
|
|
262
|
+
});
|
|
263
|
+
var body = await readJson(res);
|
|
264
|
+
if (!res.ok) throw new CalendarError(messageOf(body, res.status), res.status);
|
|
265
|
+
return body.data;
|
|
266
|
+
}
|
|
267
|
+
//# sourceMappingURL=client.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","client_exports","__export","CAL_API_VERSION","CalendarError","DEFAULT_API_URL","cancelBooking","createBooking","fetchBooking","fetchEventType","fetchSlots","module","exports","_assert_this_initialized","self","ReferenceError","_call_super","_this","derived","args","_get_prototype_of","_possible_constructor_return","_is_native_reflect_construct","Reflect","construct","constructor","apply","_class_call_check","instance","Constructor","TypeError","_construct","Parent","Class","Parent2","args2","Class2","a","push","Function","bind","_set_prototype_of","prototype","arguments","_define_property","obj","key","Object","defineProperty","enumerable","configurable","writable","o","setPrototypeOf","getPrototypeOf","o2","__proto__","_inherits","subClass","superClass","create","_is_native_function","fn","toString","call","indexOf","_type_of","p","p2","Symbol","_wrap_native_super","_cache","Map","wrapNativeSuper","has","get","set","Wrapper"],"sources":["../../src/client.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
14
|
+
get: () => from[key],
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
+
value: true
|
|
22
|
+
}), mod);
|
|
23
|
+
var hooks_exports = {};
|
|
24
|
+
__export(hooks_exports, {
|
|
25
|
+
useAvailableSlots: () => useAvailableSlots,
|
|
26
|
+
useBooking: () => useBooking,
|
|
27
|
+
useCreateBooking: () => useCreateBooking,
|
|
28
|
+
useEventType: () => useEventType
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(hooks_exports);
|
|
31
|
+
var import_react = require("react");
|
|
32
|
+
var import_client = require("./client.cjs");
|
|
33
|
+
function useEventType(api, eventSlug, username) {
|
|
34
|
+
const [state, setState] = (0, import_react.useState)({
|
|
35
|
+
data: null,
|
|
36
|
+
loading: true,
|
|
37
|
+
error: null
|
|
38
|
+
});
|
|
39
|
+
(0, import_react.useEffect)(() => {
|
|
40
|
+
const ctrl = new AbortController();
|
|
41
|
+
setState({
|
|
42
|
+
data: null,
|
|
43
|
+
loading: true,
|
|
44
|
+
error: null
|
|
45
|
+
});
|
|
46
|
+
(0, import_client.fetchEventType)(api, eventSlug, username, ctrl.signal).then(data => setState({
|
|
47
|
+
data,
|
|
48
|
+
loading: false,
|
|
49
|
+
error: null
|
|
50
|
+
})).catch(err => {
|
|
51
|
+
if (ctrl.signal.aborted) return;
|
|
52
|
+
setState({
|
|
53
|
+
data: null,
|
|
54
|
+
loading: false,
|
|
55
|
+
error: errorText(err)
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
return () => ctrl.abort();
|
|
59
|
+
}, [api, eventSlug, username]);
|
|
60
|
+
return state;
|
|
61
|
+
}
|
|
62
|
+
function useAvailableSlots(api, query) {
|
|
63
|
+
const {
|
|
64
|
+
eventTypeSlug,
|
|
65
|
+
username,
|
|
66
|
+
startTime,
|
|
67
|
+
endTime,
|
|
68
|
+
timeZone,
|
|
69
|
+
enabled = true
|
|
70
|
+
} = query;
|
|
71
|
+
const [state, setState] = (0, import_react.useState)({
|
|
72
|
+
data: null,
|
|
73
|
+
loading: enabled,
|
|
74
|
+
error: null
|
|
75
|
+
});
|
|
76
|
+
const [nonce, setNonce] = (0, import_react.useState)(0);
|
|
77
|
+
const refetch = (0, import_react.useCallback)(() => setNonce(n => n + 1), []);
|
|
78
|
+
(0, import_react.useEffect)(() => {
|
|
79
|
+
if (!enabled) return;
|
|
80
|
+
const ctrl = new AbortController();
|
|
81
|
+
setState(s => ({
|
|
82
|
+
data: s.data,
|
|
83
|
+
loading: true,
|
|
84
|
+
error: null
|
|
85
|
+
}));
|
|
86
|
+
(0, import_client.fetchSlots)(api, {
|
|
87
|
+
eventTypeSlug,
|
|
88
|
+
username,
|
|
89
|
+
startTime,
|
|
90
|
+
endTime,
|
|
91
|
+
timeZone
|
|
92
|
+
}, ctrl.signal).then(data => setState({
|
|
93
|
+
data,
|
|
94
|
+
loading: false,
|
|
95
|
+
error: null
|
|
96
|
+
})).catch(err => {
|
|
97
|
+
if (ctrl.signal.aborted) return;
|
|
98
|
+
setState({
|
|
99
|
+
data: null,
|
|
100
|
+
loading: false,
|
|
101
|
+
error: errorText(err)
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
return () => ctrl.abort();
|
|
105
|
+
}, [api, eventTypeSlug, username, startTime, endTime, timeZone, enabled, nonce]);
|
|
106
|
+
return {
|
|
107
|
+
...state,
|
|
108
|
+
refetch
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
function useCreateBooking(api) {
|
|
112
|
+
const [submitting, setSubmitting] = (0, import_react.useState)(false);
|
|
113
|
+
const [error, setError] = (0, import_react.useState)(null);
|
|
114
|
+
const [conflict, setConflict] = (0, import_react.useState)(false);
|
|
115
|
+
const mounted = (0, import_react.useRef)(true);
|
|
116
|
+
(0, import_react.useEffect)(() => {
|
|
117
|
+
mounted.current = true;
|
|
118
|
+
return () => {
|
|
119
|
+
mounted.current = false;
|
|
120
|
+
};
|
|
121
|
+
}, []);
|
|
122
|
+
const reset = (0, import_react.useCallback)(() => {
|
|
123
|
+
setError(null);
|
|
124
|
+
setConflict(false);
|
|
125
|
+
}, []);
|
|
126
|
+
const submit = (0, import_react.useCallback)(async input => {
|
|
127
|
+
setSubmitting(true);
|
|
128
|
+
setError(null);
|
|
129
|
+
setConflict(false);
|
|
130
|
+
try {
|
|
131
|
+
const booking = await (0, import_client.createBooking)(api, input);
|
|
132
|
+
return {
|
|
133
|
+
ok: true,
|
|
134
|
+
booking
|
|
135
|
+
};
|
|
136
|
+
} catch (err) {
|
|
137
|
+
const isConflict = err instanceof import_client.CalendarError && err.conflict;
|
|
138
|
+
const message = errorText(err);
|
|
139
|
+
if (mounted.current) {
|
|
140
|
+
setError(message);
|
|
141
|
+
setConflict(isConflict);
|
|
142
|
+
}
|
|
143
|
+
return {
|
|
144
|
+
ok: false,
|
|
145
|
+
conflict: isConflict,
|
|
146
|
+
message
|
|
147
|
+
};
|
|
148
|
+
} finally {
|
|
149
|
+
if (mounted.current) setSubmitting(false);
|
|
150
|
+
}
|
|
151
|
+
}, [api]);
|
|
152
|
+
return {
|
|
153
|
+
submit,
|
|
154
|
+
submitting,
|
|
155
|
+
error,
|
|
156
|
+
conflict,
|
|
157
|
+
reset
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
function useBooking(api, uid) {
|
|
161
|
+
const [state, setState] = (0, import_react.useState)({
|
|
162
|
+
data: null,
|
|
163
|
+
loading: !!uid,
|
|
164
|
+
error: null
|
|
165
|
+
});
|
|
166
|
+
(0, import_react.useEffect)(() => {
|
|
167
|
+
if (!uid) return;
|
|
168
|
+
const ctrl = new AbortController();
|
|
169
|
+
setState({
|
|
170
|
+
data: null,
|
|
171
|
+
loading: true,
|
|
172
|
+
error: null
|
|
173
|
+
});
|
|
174
|
+
(0, import_client.fetchBooking)(api, uid, ctrl.signal).then(data => setState({
|
|
175
|
+
data,
|
|
176
|
+
loading: false,
|
|
177
|
+
error: null
|
|
178
|
+
})).catch(err => {
|
|
179
|
+
if (ctrl.signal.aborted) return;
|
|
180
|
+
setState({
|
|
181
|
+
data: null,
|
|
182
|
+
loading: false,
|
|
183
|
+
error: errorText(err)
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
return () => ctrl.abort();
|
|
187
|
+
}, [api, uid]);
|
|
188
|
+
return state;
|
|
189
|
+
}
|
|
190
|
+
function errorText(err) {
|
|
191
|
+
if (err instanceof Error) return err.message;
|
|
192
|
+
return "Something went wrong";
|
|
193
|
+
}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
}), mod);
|
|
25
|
+
var hooks_exports = {};
|
|
26
|
+
__export(hooks_exports, {
|
|
27
|
+
useAvailableSlots: () => useAvailableSlots,
|
|
28
|
+
useBooking: () => useBooking,
|
|
29
|
+
useCreateBooking: () => useCreateBooking,
|
|
30
|
+
useEventType: () => useEventType
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(hooks_exports);
|
|
33
|
+
var import_react = require("react");
|
|
34
|
+
var import_client = require("./client.native.js");
|
|
35
|
+
function _instanceof(left, right) {
|
|
36
|
+
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
37
|
+
return !!right[Symbol.hasInstance](left);
|
|
38
|
+
} else {
|
|
39
|
+
return left instanceof right;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function useEventType(api, eventSlug, username) {
|
|
43
|
+
var [state, setState] = (0, import_react.useState)({
|
|
44
|
+
data: null,
|
|
45
|
+
loading: true,
|
|
46
|
+
error: null
|
|
47
|
+
});
|
|
48
|
+
(0, import_react.useEffect)(function () {
|
|
49
|
+
var ctrl = new AbortController();
|
|
50
|
+
setState({
|
|
51
|
+
data: null,
|
|
52
|
+
loading: true,
|
|
53
|
+
error: null
|
|
54
|
+
});
|
|
55
|
+
(0, import_client.fetchEventType)(api, eventSlug, username, ctrl.signal).then(function (data) {
|
|
56
|
+
return setState({
|
|
57
|
+
data,
|
|
58
|
+
loading: false,
|
|
59
|
+
error: null
|
|
60
|
+
});
|
|
61
|
+
}).catch(function (err) {
|
|
62
|
+
if (ctrl.signal.aborted) return;
|
|
63
|
+
setState({
|
|
64
|
+
data: null,
|
|
65
|
+
loading: false,
|
|
66
|
+
error: errorText(err)
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
return function () {
|
|
70
|
+
return ctrl.abort();
|
|
71
|
+
};
|
|
72
|
+
}, [api, eventSlug, username]);
|
|
73
|
+
return state;
|
|
74
|
+
}
|
|
75
|
+
function useAvailableSlots(api, query) {
|
|
76
|
+
var {
|
|
77
|
+
eventTypeSlug,
|
|
78
|
+
username,
|
|
79
|
+
startTime,
|
|
80
|
+
endTime,
|
|
81
|
+
timeZone,
|
|
82
|
+
enabled = true
|
|
83
|
+
} = query;
|
|
84
|
+
var [state, setState] = (0, import_react.useState)({
|
|
85
|
+
data: null,
|
|
86
|
+
loading: enabled,
|
|
87
|
+
error: null
|
|
88
|
+
});
|
|
89
|
+
var [nonce, setNonce] = (0, import_react.useState)(0);
|
|
90
|
+
var refetch = (0, import_react.useCallback)(function () {
|
|
91
|
+
return setNonce(function (n) {
|
|
92
|
+
return n + 1;
|
|
93
|
+
});
|
|
94
|
+
}, []);
|
|
95
|
+
(0, import_react.useEffect)(function () {
|
|
96
|
+
if (!enabled) return;
|
|
97
|
+
var ctrl = new AbortController();
|
|
98
|
+
setState(function (s) {
|
|
99
|
+
return {
|
|
100
|
+
data: s.data,
|
|
101
|
+
loading: true,
|
|
102
|
+
error: null
|
|
103
|
+
};
|
|
104
|
+
});
|
|
105
|
+
(0, import_client.fetchSlots)(api, {
|
|
106
|
+
eventTypeSlug,
|
|
107
|
+
username,
|
|
108
|
+
startTime,
|
|
109
|
+
endTime,
|
|
110
|
+
timeZone
|
|
111
|
+
}, ctrl.signal).then(function (data) {
|
|
112
|
+
return setState({
|
|
113
|
+
data,
|
|
114
|
+
loading: false,
|
|
115
|
+
error: null
|
|
116
|
+
});
|
|
117
|
+
}).catch(function (err) {
|
|
118
|
+
if (ctrl.signal.aborted) return;
|
|
119
|
+
setState({
|
|
120
|
+
data: null,
|
|
121
|
+
loading: false,
|
|
122
|
+
error: errorText(err)
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
return function () {
|
|
126
|
+
return ctrl.abort();
|
|
127
|
+
};
|
|
128
|
+
}, [api, eventTypeSlug, username, startTime, endTime, timeZone, enabled, nonce]);
|
|
129
|
+
return {
|
|
130
|
+
...state,
|
|
131
|
+
refetch
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
function useCreateBooking(api) {
|
|
135
|
+
var [submitting, setSubmitting] = (0, import_react.useState)(false);
|
|
136
|
+
var [error, setError] = (0, import_react.useState)(null);
|
|
137
|
+
var [conflict, setConflict] = (0, import_react.useState)(false);
|
|
138
|
+
var mounted = (0, import_react.useRef)(true);
|
|
139
|
+
(0, import_react.useEffect)(function () {
|
|
140
|
+
mounted.current = true;
|
|
141
|
+
return function () {
|
|
142
|
+
mounted.current = false;
|
|
143
|
+
};
|
|
144
|
+
}, []);
|
|
145
|
+
var reset = (0, import_react.useCallback)(function () {
|
|
146
|
+
setError(null);
|
|
147
|
+
setConflict(false);
|
|
148
|
+
}, []);
|
|
149
|
+
var submit = (0, import_react.useCallback)(async function (input) {
|
|
150
|
+
setSubmitting(true);
|
|
151
|
+
setError(null);
|
|
152
|
+
setConflict(false);
|
|
153
|
+
try {
|
|
154
|
+
var booking = await (0, import_client.createBooking)(api, input);
|
|
155
|
+
return {
|
|
156
|
+
ok: true,
|
|
157
|
+
booking
|
|
158
|
+
};
|
|
159
|
+
} catch (err) {
|
|
160
|
+
var isConflict = _instanceof(err, import_client.CalendarError) && err.conflict;
|
|
161
|
+
var message = errorText(err);
|
|
162
|
+
if (mounted.current) {
|
|
163
|
+
setError(message);
|
|
164
|
+
setConflict(isConflict);
|
|
165
|
+
}
|
|
166
|
+
return {
|
|
167
|
+
ok: false,
|
|
168
|
+
conflict: isConflict,
|
|
169
|
+
message
|
|
170
|
+
};
|
|
171
|
+
} finally {
|
|
172
|
+
if (mounted.current) setSubmitting(false);
|
|
173
|
+
}
|
|
174
|
+
}, [api]);
|
|
175
|
+
return {
|
|
176
|
+
submit,
|
|
177
|
+
submitting,
|
|
178
|
+
error,
|
|
179
|
+
conflict,
|
|
180
|
+
reset
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
function useBooking(api, uid) {
|
|
184
|
+
var [state, setState] = (0, import_react.useState)({
|
|
185
|
+
data: null,
|
|
186
|
+
loading: !!uid,
|
|
187
|
+
error: null
|
|
188
|
+
});
|
|
189
|
+
(0, import_react.useEffect)(function () {
|
|
190
|
+
if (!uid) return;
|
|
191
|
+
var ctrl = new AbortController();
|
|
192
|
+
setState({
|
|
193
|
+
data: null,
|
|
194
|
+
loading: true,
|
|
195
|
+
error: null
|
|
196
|
+
});
|
|
197
|
+
(0, import_client.fetchBooking)(api, uid, ctrl.signal).then(function (data) {
|
|
198
|
+
return setState({
|
|
199
|
+
data,
|
|
200
|
+
loading: false,
|
|
201
|
+
error: null
|
|
202
|
+
});
|
|
203
|
+
}).catch(function (err) {
|
|
204
|
+
if (ctrl.signal.aborted) return;
|
|
205
|
+
setState({
|
|
206
|
+
data: null,
|
|
207
|
+
loading: false,
|
|
208
|
+
error: errorText(err)
|
|
209
|
+
});
|
|
210
|
+
});
|
|
211
|
+
return function () {
|
|
212
|
+
return ctrl.abort();
|
|
213
|
+
};
|
|
214
|
+
}, [api, uid]);
|
|
215
|
+
return state;
|
|
216
|
+
}
|
|
217
|
+
function errorText(err) {
|
|
218
|
+
if (_instanceof(err, Error)) return err.message;
|
|
219
|
+
return "Something went wrong";
|
|
220
|
+
}
|
|
221
|
+
//# sourceMappingURL=hooks.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","hooks_exports","__export","useAvailableSlots","useBooking","useCreateBooking","useEventType","module","exports","import_react","require","import_client","_instanceof","left","right","Symbol","hasInstance","api","eventSlug","username","state","setState","useState","data","loading","error","useEffect","ctrl","AbortController","fetchEventType","signal","then","catch","err","aborted","errorText","abort","query","eventTypeSlug","startTime","endTime","timeZone","enabled","nonce","setNonce","refetch","useCallback","n","s","fetchSlots"],"sources":["../../src/hooks.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|