recal-sdk 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/LICENSE +21 -0
- package/dist/entities/organization.d.ts +21 -0
- package/dist/entities/organization.d.ts.map +1 -0
- package/dist/entities/user.d.ts +23 -0
- package/dist/entities/user.d.ts.map +1 -0
- package/dist/errors.d.ts +22 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/index.d.mts +55 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7046 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +99 -0
- package/dist/index.mjs.map +1 -0
- package/dist/services/calendar.service.d.ts +106 -0
- package/dist/services/calendar.service.d.ts.map +1 -0
- package/dist/services/oauth.service.d.ts +78 -0
- package/dist/services/oauth.service.d.ts.map +1 -0
- package/dist/services/organizations.service.d.ts +63 -0
- package/dist/services/organizations.service.d.ts.map +1 -0
- package/dist/services/scheduling.service.d.ts +48 -0
- package/dist/services/scheduling.service.d.ts.map +1 -0
- package/dist/services/users.service.d.ts +46 -0
- package/dist/services/users.service.d.ts.map +1 -0
- package/dist/typebox/calendar.tb.d.ts +112 -0
- package/dist/typebox/calendar.tb.d.ts.map +1 -0
- package/dist/typebox/oauth.tb.d.ts +14 -0
- package/dist/typebox/oauth.tb.d.ts.map +1 -0
- package/dist/typebox/organization.stripped.tb.d.ts +6 -0
- package/dist/typebox/organization.stripped.tb.d.ts.map +1 -0
- package/dist/typebox/organization.tb.d.ts +10 -0
- package/dist/typebox/organization.tb.d.ts.map +1 -0
- package/dist/typebox/scheduling.tb.d.ts +94 -0
- package/dist/typebox/scheduling.tb.d.ts.map +1 -0
- package/dist/typebox/timeString.tb.d.ts +3 -0
- package/dist/typebox/timeString.tb.d.ts.map +1 -0
- package/dist/typebox/user.stripped.tb.d.ts +5 -0
- package/dist/typebox/user.stripped.tb.d.ts.map +1 -0
- package/dist/typebox/user.tb.d.ts +19 -0
- package/dist/typebox/user.tb.d.ts.map +1 -0
- package/dist/typedi.d.ts +3 -0
- package/dist/typedi.d.ts.map +1 -0
- package/dist/types/calendar.types.d.mts +72 -0
- package/dist/types/calendar.types.d.ts +125 -0
- package/dist/types/calendar.types.d.ts.map +1 -0
- package/dist/types/calendar.types.js +56 -0
- package/dist/types/calendar.types.js.map +1 -0
- package/dist/types/calendar.types.mjs +22 -0
- package/dist/types/calendar.types.mjs.map +1 -0
- package/dist/types/entity.types.d.mts +11 -0
- package/dist/types/entity.types.d.ts +11 -0
- package/dist/types/entity.types.js +22 -0
- package/dist/types/entity.types.js.map +1 -0
- package/dist/types/entity.types.mjs +1 -0
- package/dist/types/entity.types.mjs.map +1 -0
- package/dist/types/index.d.mts +12 -0
- package/dist/types/index.d.ts +12 -0
- package/dist/types/index.js +58 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/index.mjs +22 -0
- package/dist/types/index.mjs.map +1 -0
- package/dist/types/internal.types.d.ts +7 -0
- package/dist/types/internal.types.d.ts.map +1 -0
- package/dist/types/oauth.types.d.ts +15 -0
- package/dist/types/oauth.types.d.ts.map +1 -0
- package/dist/types/scheduling.types.d.ts +48 -0
- package/dist/types/scheduling.types.d.ts.map +1 -0
- package/dist/utils/fetch.helper.d.ts +59 -0
- package/dist/utils/fetch.helper.d.ts.map +1 -0
- package/dist/utils/fetchErrorHandler.d.ts +22 -0
- package/dist/utils/fetchErrorHandler.d.ts.map +1 -0
- package/dist/utils/functionize.d.ts +5 -0
- package/dist/utils/functionize.d.ts.map +1 -0
- package/dist/utils/includes.helper.d.ts +4 -0
- package/dist/utils/includes.helper.d.ts.map +1 -0
- package/dist/utils/omit.d.ts +2 -0
- package/dist/utils/omit.d.ts.map +1 -0
- package/package.json +37 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/types/calendar.types.ts"],"sourcesContent":["// Enums\nexport enum Provider {\n GOOGLE = 'google',\n MICROSOFT = 'microsoft',\n}\n\nexport enum CalendarAccessRoles {\n FreeBusyReader = 'freeBusyReader',\n Reader = 'reader',\n Writer = 'writer',\n Owner = 'owner',\n}\n\nexport enum AttendeeResponseStatus {\n NeedsAction = 'needsAction',\n Accepted = 'accepted',\n Tentative = 'tentative',\n Declined = 'declined',\n}\n\n// Types\n\nexport type Calendar = {\n id: string\n timeZone?: string\n subject?: string\n backgroundColor?: string\n foregroundColor?: string\n selected?: boolean\n accessRole?: CalendarAccessRoles\n original?: unknown\n}\n\nexport type Meeting = {\n url: string\n}\n\nexport type Attendee = {\n email: string\n original: unknown\n} & (\n | {\n responseStatus?: AttendeeResponseStatus\n }\n | {\n self: true\n }\n)\n\nexport type Event = {\n id: string\n metaId?: string\n subject?: string\n description?: string\n start?: Date\n end?: Date\n location?: string\n attendees: Attendee[]\n meeting?: Meeting\n original: unknown\n}\n\nexport type TimeRange = {\n start: Date\n end: Date\n}\n\nexport type FreeBusy = {\n calendarId: string\n busy: TimeRange[]\n}\n"],"mappings":";AACO,IAAK,WAAL,kBAAKA,cAAL;AACH,EAAAA,UAAA,YAAS;AACT,EAAAA,UAAA,eAAY;AAFJ,SAAAA;AAAA,GAAA;AAKL,IAAK,sBAAL,kBAAKC,yBAAL;AACH,EAAAA,qBAAA,oBAAiB;AACjB,EAAAA,qBAAA,YAAS;AACT,EAAAA,qBAAA,YAAS;AACT,EAAAA,qBAAA,WAAQ;AAJA,SAAAA;AAAA,GAAA;AAOL,IAAK,yBAAL,kBAAKC,4BAAL;AACH,EAAAA,wBAAA,iBAAc;AACd,EAAAA,wBAAA,cAAW;AACX,EAAAA,wBAAA,eAAY;AACZ,EAAAA,wBAAA,cAAW;AAJH,SAAAA;AAAA,GAAA;","names":["Provider","CalendarAccessRoles","AttendeeResponseStatus"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.types.d.ts","sourceRoot":"","sources":["../../src/types/internal.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEvD,MAAM,WAAW,YAAY;IACzB,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC3B,GAAG,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAC5B;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Provider } from './calendar.types';
|
|
2
|
+
export interface OAuthConnection {
|
|
3
|
+
expiresAt: Date | null;
|
|
4
|
+
provider: Provider.GOOGLE | Provider.MICROSOFT;
|
|
5
|
+
accessToken?: string;
|
|
6
|
+
refreshToken?: string | null;
|
|
7
|
+
email: string | null;
|
|
8
|
+
scope: string[];
|
|
9
|
+
alive: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface OAuthLink {
|
|
12
|
+
provider: Provider;
|
|
13
|
+
url: string;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=oauth.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth.types.d.ts","sourceRoot":"","sources":["../../src/types/oauth.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAEhD,MAAM,WAAW,eAAe;IAC5B,SAAS,EAAE,IAAI,GAAG,IAAI,CAAA;IACtB,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAA;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,SAAS;IACtB,QAAQ,EAAE,QAAQ,CAAA;IAClB,GAAG,EAAE,MAAM,CAAA;CACd"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { Static } from '@sinclair/typebox';
|
|
2
|
+
import type { advancedSchedulingResponseSchema, schedulingResponseSchema, schedulingSchema, subOrgSchedulingResponseSchema } from '../typebox/scheduling.tb';
|
|
3
|
+
import type { Provider, TimeRange } from './calendar.types';
|
|
4
|
+
export interface SchedulingOptions {
|
|
5
|
+
padding: number;
|
|
6
|
+
slotDuration: number;
|
|
7
|
+
startDate: Date;
|
|
8
|
+
endDate: Date;
|
|
9
|
+
earliestTimeEachDay?: string;
|
|
10
|
+
latestTimeEachDay?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface OutputsSchedulingOptions {
|
|
13
|
+
padding: number;
|
|
14
|
+
slotDuration: number;
|
|
15
|
+
startDate: string;
|
|
16
|
+
endDate: string;
|
|
17
|
+
schedules: Schedule[];
|
|
18
|
+
}
|
|
19
|
+
export interface TimeRangeWithUser extends TimeRange {
|
|
20
|
+
userId: string;
|
|
21
|
+
}
|
|
22
|
+
export type Schedule = Static<typeof schedulingSchema>;
|
|
23
|
+
export type SchedulingResponse = Static<typeof schedulingResponseSchema>;
|
|
24
|
+
export type AdvancedSchedulingResponse = Static<typeof advancedSchedulingResponseSchema>;
|
|
25
|
+
export type SubOrgSchedulingResponse = Static<typeof subOrgSchedulingResponseSchema>;
|
|
26
|
+
export interface UserSchedulingBasicParams {
|
|
27
|
+
provider?: Provider | Provider[];
|
|
28
|
+
padding?: number;
|
|
29
|
+
slotDuration?: number;
|
|
30
|
+
earliestTimeEachDay?: string;
|
|
31
|
+
latestTimeEachDay?: string;
|
|
32
|
+
timeZone?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface UserSchedulingAdvancedParams {
|
|
35
|
+
provider?: Provider | Provider[];
|
|
36
|
+
padding?: number;
|
|
37
|
+
slotDuration?: number;
|
|
38
|
+
timeZone?: string;
|
|
39
|
+
}
|
|
40
|
+
export interface OrgSchedulingParams {
|
|
41
|
+
provider?: Provider | Provider[];
|
|
42
|
+
padding?: number;
|
|
43
|
+
slotDuration?: number;
|
|
44
|
+
earliestTimeEachDay?: string;
|
|
45
|
+
latestTimeEachDay?: string;
|
|
46
|
+
timeZone?: string;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=scheduling.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduling.types.d.ts","sourceRoot":"","sources":["../../src/types/scheduling.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EACR,gCAAgC,EAChC,wBAAwB,EACxB,gBAAgB,EAChB,8BAA8B,EACjC,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAM3D,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,IAAI,CAAA;IACf,OAAO,EAAE,IAAI,CAAA;IACb,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,QAAQ,EAAE,CAAA;CACxB;AAMD,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAChD,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAMtD,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAExE,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC,OAAO,gCAAgC,CAAC,CAAA;AAExF,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAMpF,MAAM,WAAW,yBAAyB;IACtC,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAA;IAChC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,4BAA4B;IACzC,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAA;IAChC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAA;IAChC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { Static, TSchema, TVoid } from '@sinclair/typebox';
|
|
2
|
+
import type { Arrayable } from 'src/types/internal.types';
|
|
3
|
+
interface FetchHelperOptions {
|
|
4
|
+
token: string;
|
|
5
|
+
url: string;
|
|
6
|
+
}
|
|
7
|
+
type JSONBody = string | number | boolean | Date | undefined | null | JSONBody[] | {
|
|
8
|
+
[key: string]: JSONBody;
|
|
9
|
+
} | Record<string, unknown>;
|
|
10
|
+
type SearchParams = {
|
|
11
|
+
[key: string]: Arrayable<string | number | boolean | Date | undefined> | undefined;
|
|
12
|
+
};
|
|
13
|
+
export declare class FetchError extends Error {
|
|
14
|
+
status: number;
|
|
15
|
+
statusText: string;
|
|
16
|
+
constructor(url: string, status: number, statusText: string);
|
|
17
|
+
}
|
|
18
|
+
export { errorHandler } from './fetchErrorHandler';
|
|
19
|
+
export declare class FetchHelper {
|
|
20
|
+
private token;
|
|
21
|
+
private baseUrl;
|
|
22
|
+
constructor(options: FetchHelperOptions);
|
|
23
|
+
__fetch(url: string, options?: RequestInit): Promise<Response>;
|
|
24
|
+
_fetch<S extends Static<Schema>, Schema extends TSchema = TVoid, R = S extends TVoid ? void : S>(_url: string, { body, searchParams: _searchParams, headers, schema, options, }: {
|
|
25
|
+
body?: JSONBody;
|
|
26
|
+
searchParams?: SearchParams;
|
|
27
|
+
headers?: Record<string, string>;
|
|
28
|
+
schema?: Schema;
|
|
29
|
+
options?: RequestInit;
|
|
30
|
+
}): Promise<R>;
|
|
31
|
+
get<T extends Static<S>, S extends TSchema>(_url: string, { searchParams, headers, schema, options, }: {
|
|
32
|
+
searchParams?: SearchParams;
|
|
33
|
+
headers?: Record<string, string>;
|
|
34
|
+
schema?: S;
|
|
35
|
+
options?: RequestInit;
|
|
36
|
+
}): Promise<T>;
|
|
37
|
+
post<T extends Static<S>, S extends TSchema>(_url: string, { body, searchParams, headers, schema, options, }: {
|
|
38
|
+
body?: JSONBody;
|
|
39
|
+
searchParams?: SearchParams;
|
|
40
|
+
headers?: Record<string, string>;
|
|
41
|
+
schema?: S;
|
|
42
|
+
options?: RequestInit;
|
|
43
|
+
}): Promise<T>;
|
|
44
|
+
put<T extends Static<S>, S extends TSchema>(_url: string, { body, searchParams, headers, schema, options, }: {
|
|
45
|
+
body?: JSONBody;
|
|
46
|
+
searchParams?: SearchParams;
|
|
47
|
+
headers?: Record<string, string>;
|
|
48
|
+
schema?: S;
|
|
49
|
+
options?: RequestInit;
|
|
50
|
+
}): Promise<T>;
|
|
51
|
+
delete<T extends Static<S>, S extends TSchema>(_url: string, { body, searchParams, headers, schema, options, }: {
|
|
52
|
+
body?: JSONBody;
|
|
53
|
+
searchParams?: SearchParams;
|
|
54
|
+
headers?: Record<string, string>;
|
|
55
|
+
schema?: S;
|
|
56
|
+
options?: RequestInit;
|
|
57
|
+
}): Promise<T>;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=fetch.helper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.helper.d.ts","sourceRoot":"","sources":["../../src/utils/fetch.helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { FetchError } from './fetch.helper';
|
|
2
|
+
type HandlerResult<T> = Exclude<T, Error>;
|
|
3
|
+
type Handler<T> = ((e: FetchError) => HandlerResult<T>) | HandlerResult<T>;
|
|
4
|
+
type CatchHandler<T> = (e: unknown) => HandlerResult<T>;
|
|
5
|
+
/**
|
|
6
|
+
* ErrorHandler Object
|
|
7
|
+
* @param code The HTTP status code to handle
|
|
8
|
+
* @param error The error to throw on match of the HTTP status code
|
|
9
|
+
* @param result The result to return on match of the HTTP status code
|
|
10
|
+
*/
|
|
11
|
+
type ErrorHandlerObj<T> = {
|
|
12
|
+
code: number;
|
|
13
|
+
filter?: (error: FetchError) => boolean;
|
|
14
|
+
statusTextInclFilter?: string | string[];
|
|
15
|
+
} & ({
|
|
16
|
+
error: Error;
|
|
17
|
+
} | {
|
|
18
|
+
result: Handler<T>;
|
|
19
|
+
});
|
|
20
|
+
export declare const errorHandler: <T = never>(errHandlers: ErrorHandlerObj<T>[], _catch?: CatchHandler<T>) => (error: Error) => HandlerResult<T>;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=fetchErrorHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchErrorHandler.d.ts","sourceRoot":"","sources":["../../src/utils/fetchErrorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,KAAK,aAAa,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;AACzC,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;AAC1E,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,CAAA;AACvD;;;;;GAKG;AACH,KAAK,eAAe,CAAC,CAAC,IAAI;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAA;IACvC,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAC3C,GAAG,CAAC;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC,CAAA;AAE/C,eAAO,MAAM,YAAY,GACpB,CAAC,GAAG,KAAK,EAAE,aAAa,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,MACtE,OAAO,KAAK,KAAG,aAAa,CAAC,CAAC,CAwB9B,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
type FunctionizeValue = object | string | number | boolean | undefined | Array<unknown>;
|
|
2
|
+
export type Functionize<T extends FunctionizeValue> = T | (() => T);
|
|
3
|
+
export declare function functionize<T extends FunctionizeValue>(value: Functionize<T>): T;
|
|
4
|
+
export {};
|
|
5
|
+
//# sourceMappingURL=functionize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functionize.d.ts","sourceRoot":"","sources":["../../src/utils/functionize.ts"],"names":[],"mappings":"AAAA,KAAK,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;AAEvF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,gBAAgB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;AAEnE,wBAAgB,WAAW,CAAC,CAAC,SAAS,gBAAgB,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAGhF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"includes.helper.d.ts","sourceRoot":"","sources":["../../src/utils/includes.helper.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,KAAG;IAAE,QAAQ,EAAE,CAAC,EAAE,CAAA;CAO1F,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"omit.d.ts","sourceRoot":"","sources":["../../src/utils/omit.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE,KAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAEtF,CAAA"}
|
package/package.json
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "recal-sdk",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Recal SDK",
|
|
5
|
+
"author": "Recal <team@recal.dev>",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"main": "dist/index.js",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": "./dist/index.js",
|
|
12
|
+
"types": "./dist/index.d.ts"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"files": ["dist"],
|
|
16
|
+
"scripts": {
|
|
17
|
+
"build": "tsc --declaration --emitDeclarationOnly --outDir dist && NODE_ENV=production bun build src/index.ts --outdir dist --target node",
|
|
18
|
+
"test": "bun test tests",
|
|
19
|
+
"format": "biome format --fix",
|
|
20
|
+
"lint": "biome lint",
|
|
21
|
+
"lint:fix": "biome lint --fix",
|
|
22
|
+
"lint:fix:all": "biome lint --fix --unsafe",
|
|
23
|
+
"check": "biome check",
|
|
24
|
+
"check:fix": "biome check --fix",
|
|
25
|
+
"prepublishOnly": "NODE_ENV=production bun run build"
|
|
26
|
+
},
|
|
27
|
+
"keywords": ["recal", "calendar"],
|
|
28
|
+
"devDependencies": {
|
|
29
|
+
"@biomejs/biome": "2.1.2",
|
|
30
|
+
"@types/node": "^22.15.21",
|
|
31
|
+
"typescript": "^5.8.3",
|
|
32
|
+
"@types/bun": "latest"
|
|
33
|
+
},
|
|
34
|
+
"dependencies": {
|
|
35
|
+
"@sinclair/typebox": "^0.34.38"
|
|
36
|
+
}
|
|
37
|
+
}
|