@lark-apaas/dataloom 0.1.1-alpha.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.
Files changed (98) hide show
  1. package/README.md +3 -0
  2. package/lib/DataloomClient.d.ts +31 -0
  3. package/lib/DataloomClient.d.ts.map +1 -0
  4. package/lib/DataloomClient.js +39 -0
  5. package/lib/RateLimiter.d.ts +15 -0
  6. package/lib/RateLimiter.d.ts.map +1 -0
  7. package/lib/RateLimiter.js +31 -0
  8. package/lib/index.d.ts +9 -0
  9. package/lib/index.d.ts.map +1 -0
  10. package/lib/index.js +3 -0
  11. package/lib/service/index.d.ts +9 -0
  12. package/lib/service/index.d.ts.map +1 -0
  13. package/lib/service/index.js +11 -0
  14. package/lib/service/services/DataloomServiceBase.d.ts +17 -0
  15. package/lib/service/services/DataloomServiceBase.d.ts.map +1 -0
  16. package/lib/service/services/DataloomServiceBase.js +126 -0
  17. package/lib/service/services/session-service/index.d.ts +45 -0
  18. package/lib/service/services/session-service/index.d.ts.map +1 -0
  19. package/lib/service/services/session-service/index.js +111 -0
  20. package/lib/service/services/session-service/types.d.ts +34 -0
  21. package/lib/service/services/session-service/types.d.ts.map +1 -0
  22. package/lib/service/services/session-service/types.js +0 -0
  23. package/lib/service/services/types.d.ts +12 -0
  24. package/lib/service/services/types.d.ts.map +1 -0
  25. package/lib/service/services/types.js +14 -0
  26. package/lib/service/services/user-service/index.d.ts +9 -0
  27. package/lib/service/services/user-service/index.d.ts.map +1 -0
  28. package/lib/service/services/user-service/index.js +60 -0
  29. package/lib/service/services/user-service/types.d.ts +51 -0
  30. package/lib/service/services/user-service/types.d.ts.map +1 -0
  31. package/lib/service/services/user-service/types.js +0 -0
  32. package/lib/service/utils/helpers.d.ts +8 -0
  33. package/lib/service/utils/helpers.d.ts.map +1 -0
  34. package/lib/service/utils/helpers.js +18 -0
  35. package/lib/service/utils/logger.d.ts +15 -0
  36. package/lib/service/utils/logger.d.ts.map +1 -0
  37. package/lib/service/utils/logger.js +18 -0
  38. package/lib/service/utils/trace-id.d.ts +45 -0
  39. package/lib/service/utils/trace-id.d.ts.map +1 -0
  40. package/lib/service/utils/trace-id.js +20 -0
  41. package/lib/service/utils/types.d.ts +49 -0
  42. package/lib/service/utils/types.d.ts.map +1 -0
  43. package/lib/service/utils/types.js +7 -0
  44. package/lib/storage/StorageClient.d.ts +22 -0
  45. package/lib/storage/StorageClient.d.ts.map +1 -0
  46. package/lib/storage/StorageClient.js +11 -0
  47. package/lib/storage/index.d.ts +4 -0
  48. package/lib/storage/index.d.ts.map +1 -0
  49. package/lib/storage/index.js +4 -0
  50. package/lib/storage/libs/constants.d.ts +4 -0
  51. package/lib/storage/libs/constants.d.ts.map +1 -0
  52. package/lib/storage/libs/constants.js +5 -0
  53. package/lib/storage/libs/errors.d.ts +24 -0
  54. package/lib/storage/libs/errors.d.ts.map +1 -0
  55. package/lib/storage/libs/errors.js +39 -0
  56. package/lib/storage/libs/fetch.d.ts +24 -0
  57. package/lib/storage/libs/fetch.d.ts.map +1 -0
  58. package/lib/storage/libs/fetch.js +139 -0
  59. package/lib/storage/libs/helpers.d.ts +18 -0
  60. package/lib/storage/libs/helpers.d.ts.map +1 -0
  61. package/lib/storage/libs/helpers.js +57 -0
  62. package/lib/storage/libs/index.d.ts +5 -0
  63. package/lib/storage/libs/index.d.ts.map +1 -0
  64. package/lib/storage/libs/index.js +4 -0
  65. package/lib/storage/libs/types.d.ts +205 -0
  66. package/lib/storage/libs/types.d.ts.map +1 -0
  67. package/lib/storage/libs/types.js +0 -0
  68. package/lib/storage/libs/version.d.ts +2 -0
  69. package/lib/storage/libs/version.d.ts.map +1 -0
  70. package/lib/storage/libs/version.js +2 -0
  71. package/lib/storage/packages/StorageBucketApi.d.ts +121 -0
  72. package/lib/storage/packages/StorageBucketApi.d.ts.map +1 -0
  73. package/lib/storage/packages/StorageBucketApi.js +135 -0
  74. package/lib/storage/packages/StorageFileApi.d.ts +190 -0
  75. package/lib/storage/packages/StorageFileApi.d.ts.map +1 -0
  76. package/lib/storage/packages/StorageFileApi.js +378 -0
  77. package/lib/storage/utils/logger.d.ts +15 -0
  78. package/lib/storage/utils/logger.d.ts.map +1 -0
  79. package/lib/storage/utils/logger.js +18 -0
  80. package/lib/storage/utils/trace-id.d.ts +45 -0
  81. package/lib/storage/utils/trace-id.d.ts.map +1 -0
  82. package/lib/storage/utils/trace-id.js +20 -0
  83. package/lib/utils/constants.d.ts +7 -0
  84. package/lib/utils/constants.d.ts.map +1 -0
  85. package/lib/utils/constants.js +33 -0
  86. package/lib/utils/fetch.d.ts +6 -0
  87. package/lib/utils/fetch.d.ts.map +1 -0
  88. package/lib/utils/fetch.js +22 -0
  89. package/lib/utils/helpers.d.ts +5 -0
  90. package/lib/utils/helpers.d.ts.map +1 -0
  91. package/lib/utils/helpers.js +17 -0
  92. package/lib/utils/types.d.ts +34 -0
  93. package/lib/utils/types.d.ts.map +1 -0
  94. package/lib/utils/types.js +0 -0
  95. package/lib/utils/version.d.ts +2 -0
  96. package/lib/utils/version.d.ts.map +1 -0
  97. package/lib/utils/version.js +2 -0
  98. package/package.json +34 -0
@@ -0,0 +1,7 @@
1
+ export declare const DEFAULT_HEADERS: Record<string, string>;
2
+ export declare const DEFAULT_GLOBAL_OPTIONS: {
3
+ headers: Record<string, string>;
4
+ brandName: string;
5
+ appId: string;
6
+ };
7
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAyCA,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIlD,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;CAIlC,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { isBrowser } from "./helpers.js";
2
+ import { version } from "./version.js";
3
+ let JS_ENV = '';
4
+ JS_ENV = 'undefined' != typeof Deno ? 'deno' : 'undefined' != typeof document ? 'web' : 'undefined' != typeof navigator && 'ReactNative' === navigator.product ? 'react-native' : 'node';
5
+ const getToken = ()=>{
6
+ if (!isBrowser()) return '';
7
+ const host = window.location.host.replace(/\./g, '-');
8
+ const urlParams = new URLSearchParams(window.location.search);
9
+ const token = urlParams.get('suda_token');
10
+ if (token) {
11
+ localStorage.setItem(`suda_token_${host}`, `${token}`);
12
+ const url = new URL(window.location.href);
13
+ const params = new URLSearchParams(url.search);
14
+ params.delete('suda_token');
15
+ url.search = params.toString();
16
+ history.replaceState(null, '', url.toString());
17
+ return token;
18
+ }
19
+ const localToken = localStorage.getItem(`suda_token_${host}`);
20
+ if (localToken) return localToken;
21
+ return '';
22
+ };
23
+ const DEFAULT_HEADERS = {
24
+ 'X-Client-Info': `dataloom-js-${JS_ENV}/${version}`,
25
+ 'X-Suda-Token': getToken(),
26
+ 'X-Suda-Referer': isBrowser() ? window.location.href : ''
27
+ };
28
+ const DEFAULT_GLOBAL_OPTIONS = {
29
+ headers: DEFAULT_HEADERS,
30
+ brandName: '',
31
+ appId: ''
32
+ };
33
+ export { DEFAULT_GLOBAL_OPTIONS, DEFAULT_HEADERS };
@@ -0,0 +1,6 @@
1
+ import type RateLimiter from '../RateLimiter';
2
+ type Fetch = typeof fetch;
3
+ export declare const resolveFetch: (customFetch?: Fetch) => Fetch;
4
+ export declare const fetchWithAuth: (supabaseKey: string, rateLimiter?: RateLimiter, customFetch?: Fetch) => Fetch;
5
+ export {};
6
+ //# sourceMappingURL=fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/utils/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAE9C,KAAK,KAAK,GAAG,OAAO,KAAK,CAAC;AAE1B,eAAO,MAAM,YAAY,GAAI,cAAc,KAAK,KAAG,KAQlD,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,aAAa,MAAM,EACnB,cAAc,WAAW,EACzB,cAAc,KAAK,KAClB,KAyBF,CAAC"}
@@ -0,0 +1,22 @@
1
+ const resolveFetch = (customFetch)=>{
2
+ let _fetch;
3
+ _fetch = customFetch ? customFetch : fetch;
4
+ return (...args)=>_fetch(...args);
5
+ };
6
+ const fetchWithAuth = (supabaseKey, rateLimiter, customFetch)=>{
7
+ const resolvedFetch = resolveFetch(customFetch);
8
+ return async (input, init)=>{
9
+ if (rateLimiter && !rateLimiter.canRequest()) return Promise.resolve(new Response(`{"limit": ${rateLimiter.maxRequests}}`, {
10
+ status: 429,
11
+ statusText: 'Too Many Requests'
12
+ }));
13
+ const headers = new Headers(init?.headers);
14
+ if (!supabaseKey) console.warn('[Dataloom] api key is missing');
15
+ if (!headers.has('apikey') && supabaseKey) headers.set('apikey', supabaseKey);
16
+ return resolvedFetch(input, {
17
+ ...init,
18
+ headers
19
+ });
20
+ };
21
+ };
22
+ export { fetchWithAuth, resolveFetch };
@@ -0,0 +1,5 @@
1
+ import type { SupabaseClientOptions } from './types';
2
+ export declare function stripTrailingSlash(url: string): string;
3
+ export declare const isBrowser: () => boolean;
4
+ export declare function applySettingDefaults(options: SupabaseClientOptions, defaults: SupabaseClientOptions): Required<SupabaseClientOptions>;
5
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,eAAO,MAAM,SAAS,eAAsC,CAAC;AAE7D,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,qBAAqB,GAC9B,QAAQ,CAAC,qBAAqB,CAAC,CAYjC"}
@@ -0,0 +1,17 @@
1
+ function stripTrailingSlash(url) {
2
+ return url.replace(/\/$/, '');
3
+ }
4
+ const isBrowser = ()=>'undefined' != typeof window;
5
+ function applySettingDefaults(options, defaults) {
6
+ const { global: globalOptions } = options;
7
+ const { global: DEFAULT_GLOBAL_OPTIONS } = defaults;
8
+ return {
9
+ global: {
10
+ brandName: '',
11
+ appId: '',
12
+ ...DEFAULT_GLOBAL_OPTIONS,
13
+ ...globalOptions
14
+ }
15
+ };
16
+ }
17
+ export { applySettingDefaults, isBrowser, stripTrailingSlash };
@@ -0,0 +1,34 @@
1
+ export type Fetch = typeof fetch;
2
+ export type SupabaseClientOptions = {
3
+ global?: {
4
+ /**
5
+ * The brand name of the dataloom client. Used for specialized configuration.
6
+ */
7
+ brandName: string;
8
+ /**
9
+ * The appId of the dataloom client. Used for session related apis.
10
+ */
11
+ appId: string;
12
+ /**
13
+ * A custom `fetch` implementation.
14
+ */
15
+ fetch?: Fetch;
16
+ /**
17
+ * Optional headers for initializing the client.
18
+ */
19
+ headers?: Record<string, string>;
20
+ /**
21
+ * Enable Dataloom log, including postgres builder, storage and user service
22
+ */
23
+ enableDataloomLog?: boolean;
24
+ /**
25
+ * Optional. The number of requests allowed within 5 seconds, rate limiting is disabled when it is not set.
26
+ */
27
+ requestRateLimit?: number;
28
+ /**
29
+ * Optional. The global hook that will be called when a request fails.
30
+ */
31
+ onError?: (error: any, instance: any) => void;
32
+ };
33
+ };
34
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC;AAEjC,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,CAAC,EAAE;QACP;;WAEG;QACH,SAAS,EAAE,MAAM,CAAC;QAClB;;WAEG;QACH,KAAK,EAAE,MAAM,CAAC;QACd;;WAEG;QACH,KAAK,CAAC,EAAE,KAAK,CAAC;QACd;;WAEG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjC;;WAEG;QACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAE5B;;WAEG;QACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAE1B;;WAEG;QACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAC;KAC/C,CAAC;CACH,CAAC"}
File without changes
@@ -0,0 +1,2 @@
1
+ export declare const version = "0.0.0-automated";
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,oBAAoB,CAAC"}
@@ -0,0 +1,2 @@
1
+ const version = '0.0.0-automated';
2
+ export { version };
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "@lark-apaas/dataloom",
3
+ "version": "0.1.1-alpha.0",
4
+ "types": "./lib/index.d.ts",
5
+ "main": "./lib/index.js",
6
+ "files": [
7
+ "lib"
8
+ ],
9
+ "publishConfig": {
10
+ "access": "public"
11
+ },
12
+ "exports": {
13
+ ".": {
14
+ "types": "./lib/index.d.ts",
15
+ "import": "./lib/index.js",
16
+ "require": "./lib/index.js"
17
+ }
18
+ },
19
+ "scripts": {
20
+ "build": "rslib build",
21
+ "dev": "rslib build --watch",
22
+ "test": "vitest",
23
+ "check": "biome check --write",
24
+ "lint": "eslint src --ext .js,.jsx,.ts,.tsx"
25
+ },
26
+ "devDependencies": {
27
+ "@biomejs/biome": "2.0.6",
28
+ "@rslib/core": "^0.15.0",
29
+ "@types/node": "^22.10.2",
30
+ "jsdom": "^26.1.0",
31
+ "typescript": "^5.9.2",
32
+ "vitest": "^3.2.4"
33
+ }
34
+ }