@dev-crew-berlin/enter-js-utils 0.3.8 → 0.4.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/dist/api-client/api-base.d.ts +30 -0
- package/dist/api-client/api-base.js +292 -0
- package/dist/api-client/api-base.js.map +1 -0
- package/dist/api-client/index.d.ts +75 -0
- package/dist/api-client/index.js +200 -0
- package/dist/api-client/index.js.map +1 -0
- package/dist/lib/api-result.d.ts +25 -0
- package/dist/lib/api-result.js +16 -0
- package/dist/lib/api-result.js.map +1 -0
- package/dist/lib/index.d.ts +2 -0
- package/dist/lib/index.js +2 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/not-undefined.d.ts +1 -0
- package/dist/lib/not-undefined.js +4 -0
- package/dist/lib/not-undefined.js.map +1 -0
- package/dist/models/_helpers.d.ts +23 -0
- package/dist/models/_helpers.js +90 -0
- package/dist/models/_helpers.js.map +1 -0
- package/dist/models/access-token.d.ts +11 -0
- package/dist/models/access-token.js +8 -0
- package/dist/models/access-token.js.map +1 -0
- package/dist/models/attendee.d.ts +90 -0
- package/dist/models/attendee.js +105 -0
- package/dist/models/attendee.js.map +1 -0
- package/dist/models/checkin-counts.d.ts +10 -0
- package/dist/models/checkin-counts.js +6 -0
- package/dist/models/checkin-counts.js.map +1 -0
- package/dist/models/checkins.d.ts +40 -0
- package/dist/models/checkins.js +71 -0
- package/dist/models/checkins.js.map +1 -0
- package/dist/models/event.d.ts +40 -0
- package/dist/models/event.js +2 -0
- package/dist/models/event.js.map +1 -0
- package/dist/models/field-group.d.ts +804 -0
- package/dist/models/field-group.js +51 -0
- package/dist/models/field-group.js.map +1 -0
- package/dist/models/field-value.d.ts +2 -0
- package/dist/models/field-value.js +4 -0
- package/dist/models/field-value.js.map +1 -0
- package/dist/models/field.d.ts +553 -0
- package/dist/models/field.js +44 -0
- package/dist/models/field.js.map +1 -0
- package/dist/models/index.d.ts +14 -0
- package/dist/models/index.js +4 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/instance.d.ts +78 -0
- package/dist/models/instance.js +104 -0
- package/dist/models/instance.js.map +1 -0
- package/dist/models/invite.d.ts +33 -0
- package/dist/models/invite.js +18 -0
- package/dist/models/invite.js.map +1 -0
- package/dist/models/meta-field.d.ts +7 -0
- package/dist/models/meta-field.js +8 -0
- package/dist/models/meta-field.js.map +1 -0
- package/dist/models/user.d.ts +18 -0
- package/dist/models/user.js +11 -0
- package/dist/models/user.js.map +1 -0
- package/dist/models/variable.d.ts +27 -0
- package/dist/models/variable.js +15 -0
- package/dist/models/variable.js.map +1 -0
- package/dist/ui/checkin-count-indicator.stories.d.ts +10 -10
- package/package.json +15 -1
package/dist/lib/index.d.ts
CHANGED
package/dist/lib/index.js
CHANGED
package/dist/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function notUndefined<T>(value: T | undefined): value is T;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"not-undefined.js","sourceRoot":"","sources":["../../src/lib/not-undefined.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY,CAAI,KAAoB;IAClD,OAAO,KAAK,KAAK,SAAS,CAAA;AAC5B,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Result, Validator } from 'fefe';
|
|
2
|
+
export declare type Dictionary<T> = Record<string, T>;
|
|
3
|
+
/**
|
|
4
|
+
* creates a validator that tries to parse a unkown value to
|
|
5
|
+
* a Dictionary.
|
|
6
|
+
* We define a Dictionary as a js object with strings as a key.
|
|
7
|
+
* e.g: `{ key: 'value' }
|
|
8
|
+
* The value then is whatever the validator returns
|
|
9
|
+
* So `const numDict = dictionary(number())` would make shure a object
|
|
10
|
+
* has stings as a key and numbers as values.
|
|
11
|
+
* A valid object could look like this: `{ key: 1 }`
|
|
12
|
+
* @param validator the validator for the value of the record
|
|
13
|
+
*/
|
|
14
|
+
export declare function dictionary<T>(validator: Validator<T>): (value: unknown) => Result<Dictionary<T>>;
|
|
15
|
+
export declare function constant<T extends string | number | symbol | boolean>(constant: T): Validator<T>;
|
|
16
|
+
export declare function toString(value: unknown): Result<string>;
|
|
17
|
+
export declare function parseTimestamp(value: number): Result<Date>;
|
|
18
|
+
export declare function maybe<T>(validator: Validator<T>): Validator<T | null>;
|
|
19
|
+
export declare function maybe<T>(validator: Validator<T>, defaultValue: T): Validator<T>;
|
|
20
|
+
export declare function noContent(value: unknown): Result<null>;
|
|
21
|
+
export declare function unknown(): Validator<unknown>;
|
|
22
|
+
export declare const parseNoContent: import("../lib").APIValidator<null>;
|
|
23
|
+
export declare const positiveInteger: Validator<number, import("fefe").LeafError>;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { branchError, failure, isFailure, leafError, number, success, } from 'fefe';
|
|
2
|
+
import { apiValidator } from '../lib';
|
|
3
|
+
/**
|
|
4
|
+
* creates a validator that tries to parse a unkown value to
|
|
5
|
+
* a Dictionary.
|
|
6
|
+
* We define a Dictionary as a js object with strings as a key.
|
|
7
|
+
* e.g: `{ key: 'value' }
|
|
8
|
+
* The value then is whatever the validator returns
|
|
9
|
+
* So `const numDict = dictionary(number())` would make shure a object
|
|
10
|
+
* has stings as a key and numbers as values.
|
|
11
|
+
* A valid object could look like this: `{ key: 1 }`
|
|
12
|
+
* @param validator the validator for the value of the record
|
|
13
|
+
*/
|
|
14
|
+
export function dictionary(validator) {
|
|
15
|
+
return function (value) {
|
|
16
|
+
// make shure value is an js object
|
|
17
|
+
// keep in mind lots of things in js are objects arrays, Sets…
|
|
18
|
+
// so this does not tell us too much
|
|
19
|
+
if (typeof value !== 'object' || value === null) {
|
|
20
|
+
return failure(leafError(value, 'expected value to be an object'));
|
|
21
|
+
}
|
|
22
|
+
var validatedProperties = Object.entries(value).map(function (_a) {
|
|
23
|
+
var key = _a[0], raw = _a[1];
|
|
24
|
+
// make shure the key is of type string
|
|
25
|
+
if (typeof key !== 'string') {
|
|
26
|
+
return {
|
|
27
|
+
key: key,
|
|
28
|
+
result: failure(leafError([key, raw], 'expected key to be of type string')),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
// make shure the value is valid by passing it to the supplied validator
|
|
32
|
+
return { key: key, result: validator(raw) };
|
|
33
|
+
});
|
|
34
|
+
// collect possible errors
|
|
35
|
+
var errors = validatedProperties
|
|
36
|
+
.filter(function (property) { return isFailure(property.result); })
|
|
37
|
+
.map(function (property) {
|
|
38
|
+
return {
|
|
39
|
+
key: property.key,
|
|
40
|
+
error: property.result.left,
|
|
41
|
+
};
|
|
42
|
+
});
|
|
43
|
+
if (errors.length !== 0)
|
|
44
|
+
return failure(branchError(value, errors));
|
|
45
|
+
// flatten list of successfull results into single result
|
|
46
|
+
return success(validatedProperties.reduce(function (a, b) {
|
|
47
|
+
a[b.key] = b.result.right;
|
|
48
|
+
return a;
|
|
49
|
+
}, {}));
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
export function constant(constant) {
|
|
53
|
+
return function (value) {
|
|
54
|
+
if (value !== constant) {
|
|
55
|
+
return failure(leafError(value, "expect value to be ".concat(String(constant))));
|
|
56
|
+
}
|
|
57
|
+
return success(constant);
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
export function toString(value) {
|
|
61
|
+
return success('' + value);
|
|
62
|
+
}
|
|
63
|
+
export function parseTimestamp(value) {
|
|
64
|
+
// js Date expects timestamp in mili seconds but we expect to parse a timestamp in seconds
|
|
65
|
+
return success(new Date(value * 1000));
|
|
66
|
+
}
|
|
67
|
+
export function maybe(validator, defaultValue) {
|
|
68
|
+
if (defaultValue === void 0) { defaultValue = null; }
|
|
69
|
+
return function (value) {
|
|
70
|
+
if (value === null)
|
|
71
|
+
return success(defaultValue);
|
|
72
|
+
return validator(value);
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
export function noContent(value) {
|
|
76
|
+
if (value === null || value === undefined)
|
|
77
|
+
return success(null);
|
|
78
|
+
return failure(leafError(value, 'expected value to be empty'));
|
|
79
|
+
}
|
|
80
|
+
export function unknown() {
|
|
81
|
+
return function (value) { return success(value); };
|
|
82
|
+
}
|
|
83
|
+
export var parseNoContent = apiValidator(noContent);
|
|
84
|
+
export var positiveInteger = number({
|
|
85
|
+
integer: true,
|
|
86
|
+
min: 0,
|
|
87
|
+
allowNaN: false,
|
|
88
|
+
allowInfinity: false,
|
|
89
|
+
});
|
|
90
|
+
//# sourceMappingURL=_helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_helpers.js","sourceRoot":"","sources":["../../src/models/_helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ValidatorReturnType } from 'fefe';
|
|
2
|
+
declare const accessToken: import("fefe").Validator<import("fefe").ObjectResult<{
|
|
3
|
+
accessToken: import("fefe").Validator<string, import("fefe").LeafError>;
|
|
4
|
+
expires: import("fefe").Pipe<unknown, Date>;
|
|
5
|
+
}>, import("fefe").FefeError>;
|
|
6
|
+
export declare type AccessToken = ValidatorReturnType<typeof accessToken>;
|
|
7
|
+
export declare const parseAccessToken: import("../lib").APIValidator<import("fefe").ObjectResult<{
|
|
8
|
+
accessToken: import("fefe").Validator<string, import("fefe").LeafError>;
|
|
9
|
+
expires: import("fefe").Pipe<unknown, Date>;
|
|
10
|
+
}>>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { object, parseDate, pipe, string } from 'fefe';
|
|
2
|
+
import { apiValidator } from '../lib';
|
|
3
|
+
var accessToken = object({
|
|
4
|
+
accessToken: string(),
|
|
5
|
+
expires: pipe(string()).pipe(parseDate({ iso: true })),
|
|
6
|
+
}, { allowExcessProperties: true });
|
|
7
|
+
export var parseAccessToken = apiValidator(accessToken);
|
|
8
|
+
//# sourceMappingURL=access-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access-token.js","sourceRoot":"","sources":["../../src/models/access-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAuB,MAAM,MAAM,CAAA;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAErC,IAAM,WAAW,GAAG,MAAM,CACxB;IACE,WAAW,EAAE,MAAM,EAAE;IACrB,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;CACvD,EACD,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAChC,CAAA;AAGD,MAAM,CAAC,IAAM,gBAAgB,GAAG,YAAY,CAAC,WAAW,CAAC,CAAA"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { ValidatorReturnType } from 'fefe';
|
|
2
|
+
import { APIResult } from '../lib';
|
|
3
|
+
import { Checkin, Checkins, CheckinsJSON } from './checkins';
|
|
4
|
+
import { FieldValue } from './field-value';
|
|
5
|
+
export declare type AttendeeJSON = {
|
|
6
|
+
id: string;
|
|
7
|
+
auth: string | null;
|
|
8
|
+
userdata: Record<string, string>;
|
|
9
|
+
metadata: Record<string, string>;
|
|
10
|
+
tags: string[] | null;
|
|
11
|
+
language: string | null;
|
|
12
|
+
time: Date;
|
|
13
|
+
rsvp: Record<string, number | null>;
|
|
14
|
+
checkin: Record<string, CheckinsJSON>;
|
|
15
|
+
companions: {
|
|
16
|
+
isCompanion: false;
|
|
17
|
+
} | {
|
|
18
|
+
isCompanion: true;
|
|
19
|
+
mainGuestId: string;
|
|
20
|
+
};
|
|
21
|
+
payment: {
|
|
22
|
+
paid: boolean;
|
|
23
|
+
provider: 'credit' | 'paypal';
|
|
24
|
+
amount: number;
|
|
25
|
+
testmode: boolean;
|
|
26
|
+
} | null;
|
|
27
|
+
};
|
|
28
|
+
export declare class Attendee {
|
|
29
|
+
id: string;
|
|
30
|
+
auth: string | null;
|
|
31
|
+
userdata: Record<string, FieldValue>;
|
|
32
|
+
metadata: Record<string, string>;
|
|
33
|
+
tags: string[] | null;
|
|
34
|
+
language: string | null;
|
|
35
|
+
time: Date;
|
|
36
|
+
rsvp: Record<string, number | null>;
|
|
37
|
+
checkin: Record<string, Checkins>;
|
|
38
|
+
companions: {
|
|
39
|
+
isCompanion: false;
|
|
40
|
+
} | {
|
|
41
|
+
isCompanion: true;
|
|
42
|
+
mainGuestId: string;
|
|
43
|
+
};
|
|
44
|
+
payment: {
|
|
45
|
+
paid: boolean;
|
|
46
|
+
provider: 'credit' | 'paypal';
|
|
47
|
+
amount: number;
|
|
48
|
+
testmode: boolean;
|
|
49
|
+
} | null;
|
|
50
|
+
constructor(rawAttendee: RawAttendee);
|
|
51
|
+
getRsvpCountForTag(checkinTag: string): number;
|
|
52
|
+
getResponseForTag(checkinTag: string): 'no-response' | 'negative-repsone' | 'positive-response';
|
|
53
|
+
getCheckinsForTag(checkinTag: string): Checkins;
|
|
54
|
+
getCheckinCountForTag(checkinTag: string): number;
|
|
55
|
+
addCheckinForTag(args: {
|
|
56
|
+
checkinTag: string;
|
|
57
|
+
checkin: Checkin;
|
|
58
|
+
}): Attendee;
|
|
59
|
+
deleteCheckinForTag(args: {
|
|
60
|
+
checkinTag: string;
|
|
61
|
+
checkinId: string;
|
|
62
|
+
}): Attendee;
|
|
63
|
+
}
|
|
64
|
+
export declare const rawAttendee: import("fefe").Validator<import("fefe").ObjectResult<{
|
|
65
|
+
id: import("fefe").Validator<string, import("fefe").LeafError>;
|
|
66
|
+
auth: import("fefe").Validator<string | null, import("fefe").FefeError>;
|
|
67
|
+
userdata: (value: unknown) => import("fefe").Result<import("./_helpers").Dictionary<string | number | string[] | null>, import("fefe").FefeError>;
|
|
68
|
+
metadata: (value: unknown) => import("fefe").Result<import("./_helpers").Dictionary<string>, import("fefe").FefeError>;
|
|
69
|
+
tags: import("fefe").Validator<string[] | null, import("fefe").FefeError>;
|
|
70
|
+
language: import("fefe").Validator<string | null, import("fefe").FefeError>;
|
|
71
|
+
time: import("fefe").Pipe<unknown, Date>;
|
|
72
|
+
rsvp: (value: unknown) => import("fefe").Result<import("./_helpers").Dictionary<number | null>, import("fefe").FefeError>;
|
|
73
|
+
checkin: (value: unknown) => import("fefe").Result<import("./_helpers").Dictionary<Checkins>, import("fefe").FefeError>;
|
|
74
|
+
companions: import("fefe").Validator<import("fefe").ObjectResult<{
|
|
75
|
+
isCompanion: import("fefe").Validator<false, import("fefe").FefeError>;
|
|
76
|
+
}> | import("fefe").ObjectResult<{
|
|
77
|
+
isCompanion: import("fefe").Validator<true, import("fefe").FefeError>;
|
|
78
|
+
mainGuestId: import("fefe").Validator<string, import("fefe").LeafError>;
|
|
79
|
+
}>, import("fefe").LeafError>;
|
|
80
|
+
payment: import("fefe").Validator<import("fefe").ObjectResult<{
|
|
81
|
+
paid: import("fefe").Validator<boolean, import("fefe").LeafError>;
|
|
82
|
+
provider: import("fefe").Validator<"credit" | "paypal", import("fefe").LeafError>;
|
|
83
|
+
amount: import("fefe").Validator<number, import("fefe").LeafError>;
|
|
84
|
+
testmode: import("fefe").Validator<boolean, import("fefe").LeafError>;
|
|
85
|
+
}> | null, import("fefe").FefeError>;
|
|
86
|
+
}>, import("fefe").FefeError>;
|
|
87
|
+
declare type RawAttendee = ValidatorReturnType<typeof rawAttendee>;
|
|
88
|
+
export declare const parseAttendee: (value: unknown) => APIResult<Attendee>;
|
|
89
|
+
export declare const parseAttendeeList: (value: unknown) => APIResult<Attendee[]>;
|
|
90
|
+
export {};
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { array, boolean, defaultTo, enumerate, number, object, parseDate, pipe, string, union, } from 'fefe';
|
|
13
|
+
import { apiValidator, success } from '../lib';
|
|
14
|
+
import { Checkins, checkins } from './checkins';
|
|
15
|
+
import { rawFieldValue } from './field-value';
|
|
16
|
+
import { toString, maybe, dictionary, constant } from './_helpers';
|
|
17
|
+
var Attendee = /** @class */ (function () {
|
|
18
|
+
function Attendee(rawAttendee) {
|
|
19
|
+
this.id = rawAttendee.id;
|
|
20
|
+
this.auth = rawAttendee.auth;
|
|
21
|
+
this.userdata = rawAttendee.userdata;
|
|
22
|
+
this.metadata = rawAttendee.metadata;
|
|
23
|
+
this.tags = rawAttendee.tags;
|
|
24
|
+
this.language = rawAttendee.language;
|
|
25
|
+
this.time = rawAttendee.time;
|
|
26
|
+
this.rsvp = rawAttendee.rsvp;
|
|
27
|
+
this.checkin = rawAttendee.checkin;
|
|
28
|
+
this.companions = rawAttendee.companions;
|
|
29
|
+
this.payment = rawAttendee.payment;
|
|
30
|
+
}
|
|
31
|
+
Attendee.prototype.getRsvpCountForTag = function (checkinTag) {
|
|
32
|
+
var rsvp = this.rsvp[checkinTag];
|
|
33
|
+
if (!rsvp)
|
|
34
|
+
return 0;
|
|
35
|
+
return rsvp;
|
|
36
|
+
};
|
|
37
|
+
Attendee.prototype.getResponseForTag = function (checkinTag) {
|
|
38
|
+
var _a;
|
|
39
|
+
var rsvp = (_a = this.rsvp[checkinTag]) !== null && _a !== void 0 ? _a : null;
|
|
40
|
+
if (rsvp === null)
|
|
41
|
+
return 'no-response';
|
|
42
|
+
return rsvp > 0 ? 'positive-response' : 'negative-repsone';
|
|
43
|
+
};
|
|
44
|
+
Attendee.prototype.getCheckinsForTag = function (checkinTag) {
|
|
45
|
+
var _a;
|
|
46
|
+
return ((_a = this.checkin[checkinTag]) !== null && _a !== void 0 ? _a : new Checkins({ checkins: [], deleted: [] }));
|
|
47
|
+
};
|
|
48
|
+
Attendee.prototype.getCheckinCountForTag = function (checkinTag) {
|
|
49
|
+
var checkins = this.checkin[checkinTag];
|
|
50
|
+
if (!checkins)
|
|
51
|
+
return 0;
|
|
52
|
+
return checkins.getAllCheckins().length;
|
|
53
|
+
};
|
|
54
|
+
Attendee.prototype.addCheckinForTag = function (args) {
|
|
55
|
+
var _a;
|
|
56
|
+
var exsitingCheckins = this.getCheckinsForTag(args.checkinTag);
|
|
57
|
+
var newCheckins = new Checkins({ checkins: [args.checkin], deleted: [] });
|
|
58
|
+
var mergedCheckins = exsitingCheckins.merge(newCheckins);
|
|
59
|
+
return new Attendee(__assign(__assign({}, this), { checkin: __assign(__assign({}, this.checkin), (_a = {}, _a[args.checkinTag] = mergedCheckins, _a)) }));
|
|
60
|
+
};
|
|
61
|
+
Attendee.prototype.deleteCheckinForTag = function (args) {
|
|
62
|
+
var _a;
|
|
63
|
+
var exsitingCheckins = this.getCheckinsForTag(args.checkinTag);
|
|
64
|
+
var deletedCheckins = new Checkins({
|
|
65
|
+
checkins: [],
|
|
66
|
+
deleted: [args.checkinId],
|
|
67
|
+
});
|
|
68
|
+
var mergedCheckins = exsitingCheckins.merge(deletedCheckins);
|
|
69
|
+
return new Attendee(__assign(__assign({}, this), { checkin: __assign(__assign({}, this.checkin), (_a = {}, _a[args.checkinTag] = mergedCheckins, _a)) }));
|
|
70
|
+
};
|
|
71
|
+
return Attendee;
|
|
72
|
+
}());
|
|
73
|
+
export { Attendee };
|
|
74
|
+
export var rawAttendee = object({
|
|
75
|
+
id: string(),
|
|
76
|
+
auth: maybe(string()),
|
|
77
|
+
userdata: dictionary(rawFieldValue),
|
|
78
|
+
metadata: dictionary(toString),
|
|
79
|
+
tags: maybe(array(string())),
|
|
80
|
+
language: maybe(string()),
|
|
81
|
+
time: pipe(string()).pipe(parseDate({ iso: true })),
|
|
82
|
+
rsvp: dictionary(maybe(number())),
|
|
83
|
+
checkin: dictionary(checkins),
|
|
84
|
+
companions: union(object({ isCompanion: constant(false) }), object({ isCompanion: constant(true), mainGuestId: string() })),
|
|
85
|
+
payment: defaultTo(maybe(object({
|
|
86
|
+
paid: boolean(),
|
|
87
|
+
provider: enumerate('credit', 'paypal'),
|
|
88
|
+
amount: number({ integer: true }),
|
|
89
|
+
testmode: boolean(),
|
|
90
|
+
})), null),
|
|
91
|
+
}, { allowExcessProperties: true });
|
|
92
|
+
var rawAttendeeList = array(rawAttendee);
|
|
93
|
+
export var parseAttendee = function (value) {
|
|
94
|
+
var result = apiValidator(rawAttendee)(value);
|
|
95
|
+
if (!result.success)
|
|
96
|
+
return result;
|
|
97
|
+
return success(new Attendee(result.data));
|
|
98
|
+
};
|
|
99
|
+
export var parseAttendeeList = function (value) {
|
|
100
|
+
var result = apiValidator(rawAttendeeList)(value);
|
|
101
|
+
if (!result.success)
|
|
102
|
+
return result;
|
|
103
|
+
return success(result.data.map(function (rawAttendee) { return new Attendee(rawAttendee); }));
|
|
104
|
+
};
|
|
105
|
+
//# sourceMappingURL=attendee.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attendee.js","sourceRoot":"","sources":["../../src/models/attendee.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ValidatorReturnType } from 'fefe';
|
|
2
|
+
export declare const checkinCounts: (value: unknown) => import("fefe").Result<import("./_helpers").Dictionary<import("fefe").ObjectResult<{
|
|
3
|
+
checkins: import("fefe").Validator<number, import("fefe").LeafError>;
|
|
4
|
+
rsvp: import("fefe").Validator<number, import("fefe").LeafError>;
|
|
5
|
+
}>>, import("fefe").FefeError>;
|
|
6
|
+
export declare type CheckinCounts = ValidatorReturnType<typeof checkinCounts>;
|
|
7
|
+
export declare const parseCheckinCounts: import("../lib").APIValidator<import("./_helpers").Dictionary<import("fefe").ObjectResult<{
|
|
8
|
+
checkins: import("fefe").Validator<number, import("fefe").LeafError>;
|
|
9
|
+
rsvp: import("fefe").Validator<number, import("fefe").LeafError>;
|
|
10
|
+
}>>>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { number, object } from 'fefe';
|
|
2
|
+
import { apiValidator } from '../lib';
|
|
3
|
+
import { dictionary } from './_helpers';
|
|
4
|
+
export var checkinCounts = dictionary(object({ checkins: number(), rsvp: number() }, { allowExcessProperties: true }));
|
|
5
|
+
export var parseCheckinCounts = apiValidator(checkinCounts);
|
|
6
|
+
//# sourceMappingURL=checkin-counts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkin-counts.js","sourceRoot":"","sources":["../../src/models/checkin-counts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAuB,MAAM,MAAM,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC,MAAM,CAAC,IAAM,aAAa,GAAG,UAAU,CACrC,MAAM,CACJ,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EACtC,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAChC,CACF,CAAA;AAED,MAAM,CAAC,IAAM,kBAAkB,GAAG,YAAY,CAAC,aAAa,CAAC,CAAA"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Result as FefeResult, ValidatorReturnType } from 'fefe';
|
|
2
|
+
export declare type Checkin = {
|
|
3
|
+
id: string;
|
|
4
|
+
time: Date;
|
|
5
|
+
main: boolean;
|
|
6
|
+
};
|
|
7
|
+
export declare type CheckinsJSON = {
|
|
8
|
+
checkins: {
|
|
9
|
+
id: string;
|
|
10
|
+
time: string;
|
|
11
|
+
main: boolean;
|
|
12
|
+
}[];
|
|
13
|
+
deleted: string[];
|
|
14
|
+
};
|
|
15
|
+
export declare class Checkins {
|
|
16
|
+
checkins: Checkin[];
|
|
17
|
+
deleted: string[];
|
|
18
|
+
constructor(rawCheckins: RawCheckins);
|
|
19
|
+
toJSON(): CheckinsJSON;
|
|
20
|
+
getAllCheckins(): Checkin[];
|
|
21
|
+
getOtherCheckins(): Checkin[];
|
|
22
|
+
getMainCheckin(): Checkin | undefined;
|
|
23
|
+
merge(otherCheckin: Checkins): Checkins;
|
|
24
|
+
}
|
|
25
|
+
export declare const checkin: import("fefe").Validator<import("fefe").ObjectResult<{
|
|
26
|
+
id: import("fefe").Validator<string, import("fefe").LeafError>;
|
|
27
|
+
time: import("fefe").Pipe<unknown, Date>;
|
|
28
|
+
main: import("fefe").Validator<boolean, import("fefe").LeafError>;
|
|
29
|
+
}>, import("fefe").FefeError>;
|
|
30
|
+
declare const rawCheckins: import("fefe").Validator<import("fefe").ObjectResult<{
|
|
31
|
+
checkins: import("fefe").Validator<import("fefe").ObjectResult<{
|
|
32
|
+
id: import("fefe").Validator<string, import("fefe").LeafError>;
|
|
33
|
+
time: import("fefe").Pipe<unknown, Date>;
|
|
34
|
+
main: import("fefe").Validator<boolean, import("fefe").LeafError>;
|
|
35
|
+
}>[], import("fefe").FefeError>;
|
|
36
|
+
deleted: import("fefe").Validator<string[], import("fefe").FefeError>;
|
|
37
|
+
}>, import("fefe").FefeError>;
|
|
38
|
+
declare type RawCheckins = ValidatorReturnType<typeof rawCheckins>;
|
|
39
|
+
export declare const checkins: (value: unknown) => FefeResult<Checkins>;
|
|
40
|
+
export {};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
2
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
3
|
+
if (ar || !(i in from)) {
|
|
4
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
5
|
+
ar[i] = from[i];
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
9
|
+
};
|
|
10
|
+
import { array, boolean, isFailure, object, parseDate, pipe, string, success as fefeSuccess, } from 'fefe';
|
|
11
|
+
import { notUndefined } from '../lib';
|
|
12
|
+
var Checkins = /** @class */ (function () {
|
|
13
|
+
function Checkins(rawCheckins) {
|
|
14
|
+
this.checkins = rawCheckins.checkins;
|
|
15
|
+
this.deleted = rawCheckins.deleted;
|
|
16
|
+
}
|
|
17
|
+
Checkins.prototype.toJSON = function () {
|
|
18
|
+
return {
|
|
19
|
+
checkins: this.checkins.map(function (checkin) { return ({
|
|
20
|
+
id: checkin.id,
|
|
21
|
+
time: checkin.time.toISOString(),
|
|
22
|
+
main: checkin.main,
|
|
23
|
+
}); }),
|
|
24
|
+
deleted: this.deleted,
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
Checkins.prototype.getAllCheckins = function () {
|
|
28
|
+
var mainAndOthers = __spreadArray([this.getMainCheckin()], this.getOtherCheckins(), true);
|
|
29
|
+
return mainAndOthers.filter(notUndefined);
|
|
30
|
+
};
|
|
31
|
+
Checkins.prototype.getOtherCheckins = function () {
|
|
32
|
+
var _this = this;
|
|
33
|
+
return this.checkins.filter(function (c) { return c.main === false && !_this.deleted.includes(c.id); });
|
|
34
|
+
};
|
|
35
|
+
Checkins.prototype.getMainCheckin = function () {
|
|
36
|
+
var _this = this;
|
|
37
|
+
var nonDeletedCheckins = this.checkins
|
|
38
|
+
.filter(function (checkin) { return checkin.main === true && !_this.deleted.includes(checkin.id); })
|
|
39
|
+
.sort(function (a, b) { return a.time.getTime() - b.time.getTime(); });
|
|
40
|
+
return nonDeletedCheckins[0];
|
|
41
|
+
};
|
|
42
|
+
Checkins.prototype.merge = function (otherCheckin) {
|
|
43
|
+
var checkins = new Map(__spreadArray(__spreadArray([], this.checkins, true), otherCheckin.checkins, true).map(function (checkin) { return [
|
|
44
|
+
checkin.id,
|
|
45
|
+
checkin,
|
|
46
|
+
]; })).values();
|
|
47
|
+
var deleted = new Set(__spreadArray(__spreadArray([], this.deleted, true), otherCheckin.deleted, true));
|
|
48
|
+
return new Checkins({
|
|
49
|
+
checkins: Array.from(checkins),
|
|
50
|
+
deleted: Array.from(deleted),
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
return Checkins;
|
|
54
|
+
}());
|
|
55
|
+
export { Checkins };
|
|
56
|
+
export var checkin = object({
|
|
57
|
+
id: string(),
|
|
58
|
+
time: pipe(string()).pipe(parseDate({ iso: true })),
|
|
59
|
+
main: boolean(),
|
|
60
|
+
}, { allowExcessProperties: true });
|
|
61
|
+
var rawCheckins = object({
|
|
62
|
+
checkins: array(checkin),
|
|
63
|
+
deleted: array(string()),
|
|
64
|
+
}, { allowExcessProperties: true });
|
|
65
|
+
export var checkins = function (value) {
|
|
66
|
+
var result = rawCheckins(value);
|
|
67
|
+
if (isFailure(result))
|
|
68
|
+
return result;
|
|
69
|
+
return fefeSuccess(new Checkins(result.right));
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=checkins.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkins.js","sourceRoot":"","sources":["../../src/models/checkins.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Attendee } from './attendee';
|
|
2
|
+
import { Checkin } from './checkins';
|
|
3
|
+
export declare type Event = {
|
|
4
|
+
id: string;
|
|
5
|
+
event: 'checkin-created';
|
|
6
|
+
instanceName: string;
|
|
7
|
+
attendeeId: string;
|
|
8
|
+
checkinTag: string;
|
|
9
|
+
checkin: Checkin;
|
|
10
|
+
} | {
|
|
11
|
+
id: string;
|
|
12
|
+
event: 'checkin-deleted';
|
|
13
|
+
instanceName: string;
|
|
14
|
+
attendeeId: string;
|
|
15
|
+
checkinTag: string;
|
|
16
|
+
checkinId: string;
|
|
17
|
+
} | {
|
|
18
|
+
id: string;
|
|
19
|
+
event: 'attendee-created';
|
|
20
|
+
instanceName: string;
|
|
21
|
+
attendee: Attendee;
|
|
22
|
+
} | {
|
|
23
|
+
id: string;
|
|
24
|
+
event: 'attendee-updated';
|
|
25
|
+
instanceName: string;
|
|
26
|
+
attendeeId: string;
|
|
27
|
+
updates: Partial<Omit<Attendee, 'id' | 'checkin'>>;
|
|
28
|
+
} | {
|
|
29
|
+
id: string;
|
|
30
|
+
event: 'attendee-responded';
|
|
31
|
+
instanceName: string;
|
|
32
|
+
attendeeId: string;
|
|
33
|
+
rsvp: Record<string, number | null>;
|
|
34
|
+
isEdit?: boolean;
|
|
35
|
+
} | {
|
|
36
|
+
id: string;
|
|
37
|
+
event: 'payment-paid';
|
|
38
|
+
instanceName: string;
|
|
39
|
+
attendeeId: string;
|
|
40
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/models/event.ts"],"names":[],"mappings":""}
|