@lucaismyname/l1-utils 0.0.2

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.
@@ -0,0 +1,12 @@
1
+ export declare class L1Error extends Error {
2
+ readonly code?: string;
3
+ readonly status?: number;
4
+ readonly cause?: unknown;
5
+ constructor(message: string, opts?: {
6
+ code?: string;
7
+ status?: number;
8
+ cause?: unknown;
9
+ });
10
+ }
11
+ export declare function toL1Error(err: unknown, fallbackMessage?: string): L1Error;
12
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,OAAQ,SAAQ,KAAK;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;gBAEZ,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAOxF;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,eAAe,SAAqB,GAAG,OAAO,CAIrF"}
package/dist/errors.js ADDED
@@ -0,0 +1,20 @@
1
+ export class L1Error extends Error {
2
+ code;
3
+ status;
4
+ cause;
5
+ constructor(message, opts) {
6
+ super(message);
7
+ this.name = 'L1Error';
8
+ this.code = opts?.code;
9
+ this.status = opts?.status;
10
+ this.cause = opts?.cause;
11
+ }
12
+ }
13
+ export function toL1Error(err, fallbackMessage = 'Unexpected error') {
14
+ if (err instanceof L1Error)
15
+ return err;
16
+ if (err instanceof Error)
17
+ return new L1Error(err.message || fallbackMessage, { cause: err });
18
+ return new L1Error(fallbackMessage, { cause: err });
19
+ }
20
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,OAAQ,SAAQ,KAAK;IACvB,IAAI,CAAS;IACb,MAAM,CAAS;IACf,KAAK,CAAU;IAExB,YAAY,OAAe,EAAE,IAA0D;QACrF,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,SAAS,CAAA;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,CAAA;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,CAAA;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,KAAK,CAAA;IAC1B,CAAC;CACF;AAED,MAAM,UAAU,SAAS,CAAC,GAAY,EAAE,eAAe,GAAG,kBAAkB;IAC1E,IAAI,GAAG,YAAY,OAAO;QAAE,OAAO,GAAG,CAAA;IACtC,IAAI,GAAG,YAAY,KAAK;QAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,eAAe,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IAC5F,OAAO,IAAI,OAAO,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;AACrD,CAAC"}
package/dist/http.d.ts ADDED
@@ -0,0 +1,20 @@
1
+ export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
2
+ export type HttpClientOptions = {
3
+ baseUrl: string;
4
+ headers?: Record<string, string>;
5
+ fetchImpl?: typeof fetch;
6
+ };
7
+ export type RequestOptions = {
8
+ query?: Record<string, string | number | boolean | undefined>;
9
+ headers?: Record<string, string>;
10
+ body?: unknown;
11
+ };
12
+ export declare function createHttpClient(opts: HttpClientOptions): {
13
+ request: <T>(method: HttpMethod, path: string, init?: RequestOptions) => Promise<T>;
14
+ get: <T>(path: string, init?: Omit<RequestOptions, "body">) => Promise<T>;
15
+ post: <T>(path: string, init?: RequestOptions) => Promise<T>;
16
+ put: <T>(path: string, init?: RequestOptions) => Promise<T>;
17
+ patch: <T>(path: string, init?: RequestOptions) => Promise<T>;
18
+ del: <T>(path: string, init?: Omit<RequestOptions, "body">) => Promise<T>;
19
+ };
20
+ //# sourceMappingURL=http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAA;AAEpE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAA;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAA;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB;cAG/B,CAAC,UACd,UAAU,QACZ,MAAM,SACL,cAAc,KACpB,OAAO,CAAC,CAAC,CAAC;UAmCL,CAAC,QAAQ,MAAM,SAAS,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC;WACnD,CAAC,QAAQ,MAAM,SAAS,cAAc;UACvC,CAAC,QAAQ,MAAM,SAAS,cAAc;YACpC,CAAC,QAAQ,MAAM,SAAS,cAAc;UACxC,CAAC,QAAQ,MAAM,SAAS,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC;EAE7D"}
package/dist/http.js ADDED
@@ -0,0 +1,42 @@
1
+ import { L1Error } from './errors';
2
+ export function createHttpClient(opts) {
3
+ const fetchFn = opts.fetchImpl ?? fetch;
4
+ async function request(method, path, init) {
5
+ const url = new URL(path, opts.baseUrl);
6
+ if (init?.query) {
7
+ for (const [k, v] of Object.entries(init.query)) {
8
+ if (v === undefined)
9
+ continue;
10
+ url.searchParams.set(k, String(v));
11
+ }
12
+ }
13
+ const res = await fetchFn(url.toString(), {
14
+ method,
15
+ headers: {
16
+ 'content-type': 'application/json',
17
+ ...opts.headers,
18
+ ...init?.headers,
19
+ },
20
+ body: init?.body ? JSON.stringify(init.body) : undefined,
21
+ });
22
+ const contentType = res.headers.get('content-type') ?? '';
23
+ const isJson = contentType.includes('application/json');
24
+ const payload = isJson ? await res.json().catch(() => undefined) : await res.text().catch(() => undefined);
25
+ if (!res.ok) {
26
+ throw new L1Error(`HTTP ${res.status} ${res.statusText}`, {
27
+ status: res.status,
28
+ cause: payload,
29
+ });
30
+ }
31
+ return payload;
32
+ }
33
+ return {
34
+ request,
35
+ get: (path, init) => request('GET', path, init),
36
+ post: (path, init) => request('POST', path, init),
37
+ put: (path, init) => request('PUT', path, init),
38
+ patch: (path, init) => request('PATCH', path, init),
39
+ del: (path, init) => request('DELETE', path, init),
40
+ };
41
+ }
42
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAgBlC,MAAM,UAAU,gBAAgB,CAAC,IAAuB;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAA;IAEvC,KAAK,UAAU,OAAO,CACpB,MAAkB,EAClB,IAAY,EACZ,IAAqB;QAErB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACvC,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;YAChB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,KAAK,SAAS;oBAAE,SAAQ;gBAC7B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;YACpC,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;YACxC,MAAM;YACN,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,GAAG,IAAI,CAAC,OAAO;gBACf,GAAG,IAAI,EAAE,OAAO;aACjB;YACD,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SACzD,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;QACzD,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;QACvD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QAE1G,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,EAAE;gBACxD,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,OAAO;aACf,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,OAAY,CAAA;IACrB,CAAC;IAED,OAAO;QACL,OAAO;QACP,GAAG,EAAE,CAAI,IAAY,EAAE,IAAmC,EAAE,EAAE,CAAC,OAAO,CAAI,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;QAC5F,IAAI,EAAE,CAAI,IAAY,EAAE,IAAqB,EAAE,EAAE,CAAC,OAAO,CAAI,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;QAChF,GAAG,EAAE,CAAI,IAAY,EAAE,IAAqB,EAAE,EAAE,CAAC,OAAO,CAAI,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;QAC9E,KAAK,EAAE,CAAI,IAAY,EAAE,IAAqB,EAAE,EAAE,CAAC,OAAO,CAAI,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC;QAClF,GAAG,EAAE,CAAI,IAAY,EAAE,IAAmC,EAAE,EAAE,CAAC,OAAO,CAAI,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC;KAChG,CAAA;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './http';
2
+ export * from './errors';
3
+ export * from './strapi';
4
+ export * from './notion';
5
+ export * from './mysql';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ export * from './http';
2
+ export * from './errors';
3
+ export * from './strapi';
4
+ export * from './notion';
5
+ export * from './mysql';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA"}
@@ -0,0 +1,16 @@
1
+ export type MySqlPoolOptions = {
2
+ host: string;
3
+ user: string;
4
+ password: string;
5
+ database: string;
6
+ port?: number;
7
+ waitForConnections?: boolean;
8
+ connectionLimit?: number;
9
+ queueLimit?: number;
10
+ };
11
+ export type MySqlPool = {
12
+ query: <T = unknown>(sql: string, params?: unknown[]) => Promise<T>;
13
+ end: () => Promise<void>;
14
+ };
15
+ export declare function createMySqlPool(opts: MySqlPoolOptions): Promise<MySqlPool>;
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mysql/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IACnE,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACzB,CAAA;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CAsBhF"}
@@ -0,0 +1,23 @@
1
+ export async function createMySqlPool(opts) {
2
+ const mysql = await import('mysql2/promise');
3
+ const pool = mysql.createPool({
4
+ host: opts.host,
5
+ user: opts.user,
6
+ password: opts.password,
7
+ database: opts.database,
8
+ port: opts.port,
9
+ waitForConnections: opts.waitForConnections,
10
+ connectionLimit: opts.connectionLimit,
11
+ queueLimit: opts.queueLimit,
12
+ });
13
+ return {
14
+ query: async (sql, params) => {
15
+ const [rows] = await pool.query(sql, params);
16
+ return rows;
17
+ },
18
+ end: async () => {
19
+ await pool.end();
20
+ },
21
+ };
22
+ }
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mysql/index.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAsB;IAC1D,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAA;IAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC;QAC5B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAA;IAEF,OAAO;QACL,KAAK,EAAE,KAAK,EAAe,GAAW,EAAE,MAAkB,EAAE,EAAE;YAC5D,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YAC5C,OAAO,IAAS,CAAA;QAClB,CAAC;QACD,GAAG,EAAE,KAAK,IAAI,EAAE;YACd,MAAM,IAAI,CAAC,GAAG,EAAE,CAAA;QAClB,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './mysql/index';
2
+ //# sourceMappingURL=mysql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mysql.d.ts","sourceRoot":"","sources":["../src/mysql.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA"}
package/dist/mysql.js ADDED
@@ -0,0 +1,2 @@
1
+ export * from './mysql/index';
2
+ //# sourceMappingURL=mysql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mysql.js","sourceRoot":"","sources":["../src/mysql.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA"}
@@ -0,0 +1,9 @@
1
+ export type NotionClientOptions = {
2
+ token: string;
3
+ };
4
+ export type NotionClient = {
5
+ queryDatabase: (databaseId: string, params?: Record<string, unknown>) => Promise<unknown>;
6
+ retrievePage: (pageId: string) => Promise<unknown>;
7
+ };
8
+ export declare function createNotionClient(opts: NotionClientOptions): Promise<NotionClient>;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/notion/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACzF,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CACnD,CAAA;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC,CASzF"}
@@ -0,0 +1,9 @@
1
+ export async function createNotionClient(opts) {
2
+ const { Client } = await import('@notionhq/client');
3
+ const client = new Client({ auth: opts.token });
4
+ return {
5
+ queryDatabase: async (databaseId, params) => client.databases.query({ database_id: databaseId, ...(params ?? {}) }),
6
+ retrievePage: async (pageId) => client.pages.retrieve({ page_id: pageId }),
7
+ };
8
+ }
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/notion/index.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAyB;IAChE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;IACnD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;IAE/C,OAAO;QACL,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,CACzC,MAAc,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QACjF,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;KAC3E,CAAA;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './notion/index';
2
+ //# sourceMappingURL=notion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notion.d.ts","sourceRoot":"","sources":["../src/notion.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
package/dist/notion.js ADDED
@@ -0,0 +1,2 @@
1
+ export * from './notion/index';
2
+ //# sourceMappingURL=notion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notion.js","sourceRoot":"","sources":["../src/notion.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
@@ -0,0 +1,8 @@
1
+ export type StrapiClientOptions = {
2
+ baseUrl: string;
3
+ apiToken?: string;
4
+ };
5
+ export declare function createStrapiClient(opts: StrapiClientOptions): {
6
+ get: <T>(path: string, query?: Record<string, string | number | boolean | undefined>) => Promise<T>;
7
+ };
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/strapi/index.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,mBAAmB;UAOlD,CAAC,QAAQ,MAAM,UAAU,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;EAGvF"}
@@ -0,0 +1,11 @@
1
+ import { createHttpClient } from '../http';
2
+ export function createStrapiClient(opts) {
3
+ const http = createHttpClient({
4
+ baseUrl: opts.baseUrl,
5
+ headers: opts.apiToken ? { Authorization: `Bearer ${opts.apiToken}` } : undefined,
6
+ });
7
+ return {
8
+ get: (path, query) => http.get(path, { query }),
9
+ };
10
+ }
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/strapi/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAO1C,MAAM,UAAU,kBAAkB,CAAC,IAAyB;IAC1D,MAAM,IAAI,GAAG,gBAAgB,CAAC;QAC5B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS;KAClF,CAAC,CAAA;IAEF,OAAO;QACL,GAAG,EAAE,CAAI,IAAY,EAAE,KAA6D,EAAE,EAAE,CACtF,IAAI,CAAC,GAAG,CAAI,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;KAC/B,CAAA;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './strapi/index';
2
+ //# sourceMappingURL=strapi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strapi.d.ts","sourceRoot":"","sources":["../src/strapi.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
package/dist/strapi.js ADDED
@@ -0,0 +1,2 @@
1
+ export * from './strapi/index';
2
+ //# sourceMappingURL=strapi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strapi.js","sourceRoot":"","sources":["../src/strapi.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "@lucaismyname/l1-utils",
3
+ "version": "0.0.2",
4
+ "type": "module",
5
+ "publishConfig": {
6
+ "access": "public"
7
+ },
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "default": "./dist/index.js"
12
+ }
13
+ },
14
+ "main": "./dist/index.js",
15
+ "types": "./dist/index.d.ts",
16
+ "files": [
17
+ "dist"
18
+ ],
19
+ "scripts": {
20
+ "prepack": "npm run build",
21
+ "build": "tsc -p tsconfig.json",
22
+ "test": "echo \"tests not configured yet\""
23
+ },
24
+ "engines": {
25
+ "node": ">=18"
26
+ },
27
+ "dependencies": {
28
+ "@notionhq/client": "^5.8.0",
29
+ "mysql2": "^3.16.2"
30
+ },
31
+ "devDependencies": {
32
+ "typescript": "^5.9.3"
33
+ }
34
+ }