@data-loom/js 0.0.2-alpha.1
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/README.md +354 -0
- package/dist/main/SupabaseClient.d.ts +116 -0
- package/dist/main/SupabaseClient.d.ts.map +1 -0
- package/dist/main/SupabaseClient.js +227 -0
- package/dist/main/SupabaseClient.js.map +1 -0
- package/dist/main/index.d.ts +14 -0
- package/dist/main/index.d.ts.map +1 -0
- package/dist/main/index.js +41 -0
- package/dist/main/index.js.map +1 -0
- package/dist/main/utils/SupabaseAuthClient.d.ts +6 -0
- package/dist/main/utils/SupabaseAuthClient.d.ts.map +1 -0
- package/dist/main/utils/SupabaseAuthClient.js +11 -0
- package/dist/main/utils/SupabaseAuthClient.js.map +1 -0
- package/dist/main/utils/constants.d.ts +20 -0
- package/dist/main/utils/constants.d.ts.map +1 -0
- package/dist/main/utils/constants.js +54 -0
- package/dist/main/utils/constants.js.map +1 -0
- package/dist/main/utils/fetch.d.ts +6 -0
- package/dist/main/utils/fetch.d.ts.map +1 -0
- package/dist/main/utils/fetch.js +77 -0
- package/dist/main/utils/fetch.js.map +1 -0
- package/dist/main/utils/helpers.d.ts +7 -0
- package/dist/main/utils/helpers.d.ts.map +1 -0
- package/dist/main/utils/helpers.js +52 -0
- package/dist/main/utils/helpers.js.map +1 -0
- package/dist/main/utils/types.d.ts +115 -0
- package/dist/main/utils/types.d.ts.map +1 -0
- package/dist/main/utils/types.js +3 -0
- package/dist/main/utils/types.js.map +1 -0
- package/dist/main/utils/version.d.ts +2 -0
- package/dist/main/utils/version.d.ts.map +1 -0
- package/dist/main/utils/version.js +5 -0
- package/dist/main/utils/version.js.map +1 -0
- package/dist/module/SupabaseClient.d.ts +116 -0
- package/dist/module/SupabaseClient.d.ts.map +1 -0
- package/dist/module/SupabaseClient.js +224 -0
- package/dist/module/SupabaseClient.js.map +1 -0
- package/dist/module/index.d.ts +14 -0
- package/dist/module/index.d.ts.map +1 -0
- package/dist/module/index.js +13 -0
- package/dist/module/index.js.map +1 -0
- package/dist/module/utils/SupabaseAuthClient.d.ts +6 -0
- package/dist/module/utils/SupabaseAuthClient.d.ts.map +1 -0
- package/dist/module/utils/SupabaseAuthClient.js +7 -0
- package/dist/module/utils/SupabaseAuthClient.js.map +1 -0
- package/dist/module/utils/constants.d.ts +20 -0
- package/dist/module/utils/constants.d.ts.map +1 -0
- package/dist/module/utils/constants.js +51 -0
- package/dist/module/utils/constants.js.map +1 -0
- package/dist/module/utils/fetch.d.ts +6 -0
- package/dist/module/utils/fetch.d.ts.map +1 -0
- package/dist/module/utils/fetch.js +48 -0
- package/dist/module/utils/fetch.js.map +1 -0
- package/dist/module/utils/helpers.d.ts +7 -0
- package/dist/module/utils/helpers.d.ts.map +1 -0
- package/dist/module/utils/helpers.js +44 -0
- package/dist/module/utils/helpers.js.map +1 -0
- package/dist/module/utils/types.d.ts +115 -0
- package/dist/module/utils/types.d.ts.map +1 -0
- package/dist/module/utils/types.js +2 -0
- package/dist/module/utils/types.js.map +1 -0
- package/dist/module/utils/version.d.ts +2 -0
- package/dist/module/utils/version.d.ts.map +1 -0
- package/dist/module/utils/version.js +2 -0
- package/dist/module/utils/version.js.map +1 -0
- package/dist/umd/948.dataloom.js +1 -0
- package/dist/umd/dataloom.js +1 -0
- package/package.json +68 -0
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const functions_js_1 = require("@data-loom/functions-js");
|
|
13
|
+
const postgrest_js_1 = require("@data-loom/postgrest-js");
|
|
14
|
+
const realtime_js_1 = require("@data-loom/realtime-js");
|
|
15
|
+
// import { StorageClient as SupabaseStorageClient } from '@data-loom/storage-js'
|
|
16
|
+
const constants_1 = require("./utils/constants");
|
|
17
|
+
const fetch_1 = require("./utils/fetch");
|
|
18
|
+
const helpers_1 = require("./utils/helpers");
|
|
19
|
+
const SupabaseAuthClient_1 = require("./utils/SupabaseAuthClient");
|
|
20
|
+
/**
|
|
21
|
+
* Supabase Client.
|
|
22
|
+
*
|
|
23
|
+
* An isomorphic Javascript client for interacting with Postgres.
|
|
24
|
+
*/
|
|
25
|
+
class SupabaseClient {
|
|
26
|
+
/**
|
|
27
|
+
* Create a new client for use in the browser.
|
|
28
|
+
* @param supabaseUrl The unique Supabase URL which is supplied when you create a new project in your project dashboard.
|
|
29
|
+
* @param supabaseKey The unique Supabase Key which is supplied when you create a new project in your project dashboard.
|
|
30
|
+
* @param options.db.schema You can switch in between schemas. The schema needs to be on the list of exposed schemas inside Supabase.
|
|
31
|
+
* @param options.auth.autoRefreshToken Set to "true" if you want to automatically refresh the token before expiring.
|
|
32
|
+
* @param options.auth.persistSession Set to "true" if you want to automatically save the user session into local storage.
|
|
33
|
+
* @param options.auth.detectSessionInUrl Set to "true" if you want to automatically detects OAuth grants in the URL and signs in the user.
|
|
34
|
+
* @param options.realtime Options passed along to realtime-js constructor.
|
|
35
|
+
* @param options.global.fetch A custom fetch implementation.
|
|
36
|
+
* @param options.global.headers Any additional headers to send with each network request.
|
|
37
|
+
*/
|
|
38
|
+
constructor(supabaseUrl, supabaseKey, options) {
|
|
39
|
+
var _a, _b, _c;
|
|
40
|
+
this.supabaseUrl = supabaseUrl;
|
|
41
|
+
this.supabaseKey = supabaseKey;
|
|
42
|
+
if (!supabaseUrl)
|
|
43
|
+
throw new Error('supabaseUrl is required.');
|
|
44
|
+
if (!supabaseKey)
|
|
45
|
+
throw new Error('supabaseKey is required.');
|
|
46
|
+
const _supabaseUrl = (0, helpers_1.stripTrailingSlash)(supabaseUrl);
|
|
47
|
+
this.realtimeUrl = `${_supabaseUrl}/realtime/v1`.replace(/^http/i, 'ws');
|
|
48
|
+
this.authUrl = `${_supabaseUrl}/auth/v1`;
|
|
49
|
+
this.storageUrl = `${_supabaseUrl}/storage/v1`;
|
|
50
|
+
this.functionsUrl = `${_supabaseUrl}/functions/v1`;
|
|
51
|
+
// default storage key uses the supabase project ref as a namespace
|
|
52
|
+
const defaultStorageKey = `sb-${new URL(this.authUrl).hostname.split('.')[0]}-auth-token`;
|
|
53
|
+
const DEFAULTS = {
|
|
54
|
+
db: constants_1.DEFAULT_DB_OPTIONS,
|
|
55
|
+
realtime: constants_1.DEFAULT_REALTIME_OPTIONS,
|
|
56
|
+
auth: Object.assign(Object.assign({}, constants_1.DEFAULT_AUTH_OPTIONS), { storageKey: defaultStorageKey }),
|
|
57
|
+
global: constants_1.DEFAULT_GLOBAL_OPTIONS,
|
|
58
|
+
};
|
|
59
|
+
const settings = (0, helpers_1.applySettingDefaults)(options !== null && options !== void 0 ? options : {}, DEFAULTS);
|
|
60
|
+
this.storageKey = (_a = settings.auth.storageKey) !== null && _a !== void 0 ? _a : '';
|
|
61
|
+
this.headers = (_b = settings.global.headers) !== null && _b !== void 0 ? _b : {};
|
|
62
|
+
if (!settings.accessToken) {
|
|
63
|
+
this.auth = this._initSupabaseAuthClient((_c = settings.auth) !== null && _c !== void 0 ? _c : {}, this.headers, settings.global.fetch);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
this.accessToken = settings.accessToken;
|
|
67
|
+
this.auth = new Proxy({}, {
|
|
68
|
+
get: (_, prop) => {
|
|
69
|
+
throw new Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(prop)} is not possible`);
|
|
70
|
+
},
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
this.fetch = (0, fetch_1.fetchWithAuth)(supabaseKey, this._getAccessToken.bind(this), settings.global.fetch);
|
|
74
|
+
this.realtime = this._initRealtimeClient(Object.assign({ headers: this.headers, accessToken: this._getAccessToken.bind(this) }, settings.realtime));
|
|
75
|
+
// TODO 后续有改动
|
|
76
|
+
this.rest = new postgrest_js_1.PostgrestClient(`${_supabaseUrl}/dataloom/data`, {
|
|
77
|
+
headers: this.headers,
|
|
78
|
+
schema: settings.db.schema,
|
|
79
|
+
fetch: this.fetch,
|
|
80
|
+
});
|
|
81
|
+
if (!settings.accessToken) {
|
|
82
|
+
this._listenForAuthEvents();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Supabase Functions allows you to deploy and invoke edge functions.
|
|
87
|
+
*/
|
|
88
|
+
get functions() {
|
|
89
|
+
return new functions_js_1.FunctionsClient(this.functionsUrl, {
|
|
90
|
+
headers: this.headers,
|
|
91
|
+
customFetch: this.fetch,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Perform a query on a table or a view.
|
|
96
|
+
*
|
|
97
|
+
* @param relation - The table or view name to query
|
|
98
|
+
*/
|
|
99
|
+
from(relation) {
|
|
100
|
+
return this.rest.from(relation);
|
|
101
|
+
}
|
|
102
|
+
// NOTE: signatures must be kept in sync with PostgrestClient.schema
|
|
103
|
+
/**
|
|
104
|
+
* Select a schema to query or perform an function (rpc) call.
|
|
105
|
+
*
|
|
106
|
+
* The schema needs to be on the list of exposed schemas inside Supabase.
|
|
107
|
+
*
|
|
108
|
+
* @param schema - The schema to query
|
|
109
|
+
*/
|
|
110
|
+
schema(schema) {
|
|
111
|
+
return this.rest.schema(schema);
|
|
112
|
+
}
|
|
113
|
+
// NOTE: signatures must be kept in sync with PostgrestClient.rpc
|
|
114
|
+
/**
|
|
115
|
+
* Perform a function call.
|
|
116
|
+
*
|
|
117
|
+
* @param fn - The function name to call
|
|
118
|
+
* @param args - The arguments to pass to the function call
|
|
119
|
+
* @param options - Named parameters
|
|
120
|
+
* @param options.head - When set to `true`, `data` will not be returned.
|
|
121
|
+
* Useful if you only need the count.
|
|
122
|
+
* @param options.get - When set to `true`, the function will be called with
|
|
123
|
+
* read-only access mode.
|
|
124
|
+
* @param options.count - Count algorithm to use to count rows returned by the
|
|
125
|
+
* function. Only applicable for [set-returning
|
|
126
|
+
* functions](https://www.postgresql.org/docs/current/functions-srf.html).
|
|
127
|
+
*
|
|
128
|
+
* `"exact"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the
|
|
129
|
+
* hood.
|
|
130
|
+
*
|
|
131
|
+
* `"planned"`: Approximated but fast count algorithm. Uses the Postgres
|
|
132
|
+
* statistics under the hood.
|
|
133
|
+
*
|
|
134
|
+
* `"estimated"`: Uses exact count for low numbers and planned count for high
|
|
135
|
+
* numbers.
|
|
136
|
+
*/
|
|
137
|
+
rpc(fn, args = {}, options = {}) {
|
|
138
|
+
return this.rest.rpc(fn, args, options);
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Creates a Realtime channel with Broadcast, Presence, and Postgres Changes.
|
|
142
|
+
*
|
|
143
|
+
* @param {string} name - The name of the Realtime channel.
|
|
144
|
+
* @param {Object} opts - The options to pass to the Realtime channel.
|
|
145
|
+
*
|
|
146
|
+
*/
|
|
147
|
+
channel(name, opts = { config: {} }) {
|
|
148
|
+
return this.realtime.channel(name, opts);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Returns all Realtime channels.
|
|
152
|
+
*/
|
|
153
|
+
getChannels() {
|
|
154
|
+
return this.realtime.getChannels();
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Unsubscribes and removes Realtime channel from Realtime client.
|
|
158
|
+
*
|
|
159
|
+
* @param {RealtimeChannel} channel - The name of the Realtime channel.
|
|
160
|
+
*
|
|
161
|
+
*/
|
|
162
|
+
removeChannel(channel) {
|
|
163
|
+
return this.realtime.removeChannel(channel);
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Unsubscribes and removes all Realtime channels from Realtime client.
|
|
167
|
+
*/
|
|
168
|
+
removeAllChannels() {
|
|
169
|
+
return this.realtime.removeAllChannels();
|
|
170
|
+
}
|
|
171
|
+
_getAccessToken() {
|
|
172
|
+
var _a, _b;
|
|
173
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
174
|
+
if (this.accessToken) {
|
|
175
|
+
return yield this.accessToken();
|
|
176
|
+
}
|
|
177
|
+
const { data } = yield this.auth.getSession();
|
|
178
|
+
return (_b = (_a = data.session) === null || _a === void 0 ? void 0 : _a.access_token) !== null && _b !== void 0 ? _b : null;
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
_initSupabaseAuthClient({ autoRefreshToken, persistSession, detectSessionInUrl, storage, storageKey, flowType, lock, debug, }, headers, fetch) {
|
|
182
|
+
// TODO check
|
|
183
|
+
const authHeaders = {
|
|
184
|
+
// Authorization: `Bearer ${this.supabaseKey}`,
|
|
185
|
+
apikey: `${this.supabaseKey}`,
|
|
186
|
+
};
|
|
187
|
+
return new SupabaseAuthClient_1.SupabaseAuthClient({
|
|
188
|
+
url: this.authUrl,
|
|
189
|
+
headers: Object.assign(Object.assign({}, authHeaders), headers),
|
|
190
|
+
storageKey: storageKey,
|
|
191
|
+
autoRefreshToken,
|
|
192
|
+
persistSession,
|
|
193
|
+
detectSessionInUrl,
|
|
194
|
+
storage,
|
|
195
|
+
flowType,
|
|
196
|
+
lock,
|
|
197
|
+
debug,
|
|
198
|
+
fetch,
|
|
199
|
+
// auth checks if there is a custom authorizaiton header using this flag
|
|
200
|
+
// so it knows whether to return an error when getUser is called with no session
|
|
201
|
+
hasCustomAuthorizationHeader: 'Authorization' in this.headers,
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
_initRealtimeClient(options) {
|
|
205
|
+
return new realtime_js_1.RealtimeClient(this.realtimeUrl, Object.assign(Object.assign({}, options), { params: Object.assign({ apikey: this.supabaseKey }, options === null || options === void 0 ? void 0 : options.params) }));
|
|
206
|
+
}
|
|
207
|
+
_listenForAuthEvents() {
|
|
208
|
+
let data = this.auth.onAuthStateChange((event, session) => {
|
|
209
|
+
this._handleTokenChanged(event, 'CLIENT', session === null || session === void 0 ? void 0 : session.access_token);
|
|
210
|
+
});
|
|
211
|
+
return data;
|
|
212
|
+
}
|
|
213
|
+
_handleTokenChanged(event, source, token) {
|
|
214
|
+
if ((event === 'TOKEN_REFRESHED' || event === 'SIGNED_IN') &&
|
|
215
|
+
this.changedAccessToken !== token) {
|
|
216
|
+
this.changedAccessToken = token;
|
|
217
|
+
}
|
|
218
|
+
else if (event === 'SIGNED_OUT') {
|
|
219
|
+
this.realtime.setAuth();
|
|
220
|
+
if (source == 'STORAGE')
|
|
221
|
+
this.auth.signOut();
|
|
222
|
+
this.changedAccessToken = undefined;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
exports.default = SupabaseClient;
|
|
227
|
+
//# sourceMappingURL=SupabaseClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SupabaseClient.js","sourceRoot":"","sources":["../../src/SupabaseClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import SupabaseClient from './SupabaseClient';
|
|
2
|
+
import type { GenericSchema, SupabaseClientOptions } from './utils/types';
|
|
3
|
+
export * from '@data-loom/auth-js';
|
|
4
|
+
export type { User as AuthUser, Session as AuthSession } from '@data-loom/auth-js';
|
|
5
|
+
export { type PostgrestResponse, type PostgrestSingleResponse, type PostgrestMaybeSingleResponse, PostgrestError, } from '@data-loom/postgrest-js';
|
|
6
|
+
export { FunctionsHttpError, FunctionsFetchError, FunctionsRelayError, FunctionsError, type FunctionInvokeOptions, FunctionRegion, } from '@data-loom/functions-js';
|
|
7
|
+
export * from '@data-loom/realtime-js';
|
|
8
|
+
export { default as SupabaseClient } from './SupabaseClient';
|
|
9
|
+
export type { SupabaseClientOptions, QueryResult, QueryData, QueryError } from './utils/types';
|
|
10
|
+
/**
|
|
11
|
+
* Creates a new Supabase Client.
|
|
12
|
+
*/
|
|
13
|
+
export declare const createClient: <Database = any, SchemaName extends string & keyof Database = "public" extends keyof Database ? "public" : string & keyof Database, Schema extends GenericSchema = Database[SchemaName] extends GenericSchema ? Database[SchemaName] : any>(supabaseUrl: string, supabaseKey: string, options?: SupabaseClientOptions<SchemaName> | undefined) => SupabaseClient<Database, SchemaName, Schema>;
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAEzE,cAAc,oBAAoB,CAAA;AAClC,YAAY,EAAE,IAAI,IAAI,QAAQ,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAClF,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,4BAA4B,EACjC,cAAc,GACf,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,KAAK,qBAAqB,EAC1B,cAAc,GACf,MAAM,yBAAyB,CAAA;AAChC,cAAc,wBAAwB,CAAA;AACtC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAC5D,YAAY,EAAE,qBAAqB,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE9F;;GAEG;AACH,eAAO,MAAM,YAAY,2PASV,MAAM,eACN,MAAM,0GAIpB,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.createClient = exports.SupabaseClient = exports.FunctionRegion = exports.FunctionsError = exports.FunctionsRelayError = exports.FunctionsFetchError = exports.FunctionsHttpError = exports.PostgrestError = void 0;
|
|
21
|
+
const SupabaseClient_1 = __importDefault(require("./SupabaseClient"));
|
|
22
|
+
__exportStar(require("@data-loom/auth-js"), exports);
|
|
23
|
+
var postgrest_js_1 = require("@data-loom/postgrest-js");
|
|
24
|
+
Object.defineProperty(exports, "PostgrestError", { enumerable: true, get: function () { return postgrest_js_1.PostgrestError; } });
|
|
25
|
+
var functions_js_1 = require("@data-loom/functions-js");
|
|
26
|
+
Object.defineProperty(exports, "FunctionsHttpError", { enumerable: true, get: function () { return functions_js_1.FunctionsHttpError; } });
|
|
27
|
+
Object.defineProperty(exports, "FunctionsFetchError", { enumerable: true, get: function () { return functions_js_1.FunctionsFetchError; } });
|
|
28
|
+
Object.defineProperty(exports, "FunctionsRelayError", { enumerable: true, get: function () { return functions_js_1.FunctionsRelayError; } });
|
|
29
|
+
Object.defineProperty(exports, "FunctionsError", { enumerable: true, get: function () { return functions_js_1.FunctionsError; } });
|
|
30
|
+
Object.defineProperty(exports, "FunctionRegion", { enumerable: true, get: function () { return functions_js_1.FunctionRegion; } });
|
|
31
|
+
__exportStar(require("@data-loom/realtime-js"), exports);
|
|
32
|
+
var SupabaseClient_2 = require("./SupabaseClient");
|
|
33
|
+
Object.defineProperty(exports, "SupabaseClient", { enumerable: true, get: function () { return __importDefault(SupabaseClient_2).default; } });
|
|
34
|
+
/**
|
|
35
|
+
* Creates a new Supabase Client.
|
|
36
|
+
*/
|
|
37
|
+
const createClient = (supabaseUrl, supabaseKey, options) => {
|
|
38
|
+
return new SupabaseClient_1.default(supabaseUrl, supabaseKey, options);
|
|
39
|
+
};
|
|
40
|
+
exports.createClient = createClient;
|
|
41
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,sEAA6C;AAG7C,qDAAkC;AAElC,wDAKgC;AAD9B,8GAAA,cAAc,OAAA;AAEhB,wDAOgC;AAN9B,kHAAA,kBAAkB,OAAA;AAClB,mHAAA,mBAAmB,OAAA;AACnB,mHAAA,mBAAmB,OAAA;AACnB,8GAAA,cAAc,OAAA;AAEd,8GAAA,cAAc,OAAA;AAEhB,yDAAsC;AACtC,mDAA4D;AAAnD,iIAAA,OAAO,OAAkB;AAGlC;;GAEG;AACI,MAAM,YAAY,GAAG,CAS1B,WAAmB,EACnB,WAAmB,EACnB,OAA2C,EACG,EAAE;IAChD,OAAO,IAAI,wBAAc,CAA+B,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;AAC5F,CAAC,CAAA;AAdY,QAAA,YAAY,gBAcxB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { AuthClient } from '@data-loom/auth-js';
|
|
2
|
+
import { SupabaseAuthClientOptions } from './types';
|
|
3
|
+
export declare class SupabaseAuthClient extends AuthClient {
|
|
4
|
+
constructor(options: SupabaseAuthClientOptions);
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=SupabaseAuthClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SupabaseAuthClient.d.ts","sourceRoot":"","sources":["../../../src/utils/SupabaseAuthClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAEnD,qBAAa,kBAAmB,SAAQ,UAAU;gBACpC,OAAO,EAAE,yBAAyB;CAG/C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SupabaseAuthClient = void 0;
|
|
4
|
+
const auth_js_1 = require("@data-loom/auth-js");
|
|
5
|
+
class SupabaseAuthClient extends auth_js_1.AuthClient {
|
|
6
|
+
constructor(options) {
|
|
7
|
+
super(options);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.SupabaseAuthClient = SupabaseAuthClient;
|
|
11
|
+
//# sourceMappingURL=SupabaseAuthClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SupabaseAuthClient.js","sourceRoot":"","sources":["../../../src/utils/SupabaseAuthClient.ts"],"names":[],"mappings":";;;AAAA,gDAA+C;AAG/C,MAAa,kBAAmB,SAAQ,oBAAU;IAChD,YAAY,OAAkC;QAC5C,KAAK,CAAC,OAAO,CAAC,CAAA;IAChB,CAAC;CACF;AAJD,gDAIC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { RealtimeClientOptions } from '@data-loom/realtime-js';
|
|
2
|
+
import { SupabaseAuthClientOptions } from './types';
|
|
3
|
+
export declare const DEFAULT_HEADERS: {
|
|
4
|
+
'X-Client-Info': string;
|
|
5
|
+
'X-Suda-Token': string;
|
|
6
|
+
'X-Suda-Referer': string;
|
|
7
|
+
};
|
|
8
|
+
export declare const DEFAULT_GLOBAL_OPTIONS: {
|
|
9
|
+
headers: {
|
|
10
|
+
'X-Client-Info': string;
|
|
11
|
+
'X-Suda-Token': string;
|
|
12
|
+
'X-Suda-Referer': string;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export declare const DEFAULT_DB_OPTIONS: {
|
|
16
|
+
schema: string;
|
|
17
|
+
};
|
|
18
|
+
export declare const DEFAULT_AUTH_OPTIONS: SupabaseAuthClientOptions;
|
|
19
|
+
export declare const DEFAULT_REALTIME_OPTIONS: RealtimeClientOptions;
|
|
20
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAiCnD,eAAO,MAAM,eAAe;;;;CAI3B,CAAA;AAED,eAAO,MAAM,sBAAsB;;;;;;CAElC,CAAA;AAED,eAAO,MAAM,kBAAkB;;CAE9B,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,yBAKlC,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,qBAA0B,CAAA"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_REALTIME_OPTIONS = exports.DEFAULT_AUTH_OPTIONS = exports.DEFAULT_DB_OPTIONS = exports.DEFAULT_GLOBAL_OPTIONS = exports.DEFAULT_HEADERS = void 0;
|
|
4
|
+
const helpers_1 = require("./helpers");
|
|
5
|
+
const version_1 = require("./version");
|
|
6
|
+
let JS_ENV = '';
|
|
7
|
+
// @ts-ignore
|
|
8
|
+
if (typeof Deno !== 'undefined') {
|
|
9
|
+
JS_ENV = 'deno';
|
|
10
|
+
}
|
|
11
|
+
else if (typeof document !== 'undefined') {
|
|
12
|
+
JS_ENV = 'web';
|
|
13
|
+
}
|
|
14
|
+
else if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {
|
|
15
|
+
JS_ENV = 'react-native';
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
JS_ENV = 'node';
|
|
19
|
+
}
|
|
20
|
+
const getToken = () => {
|
|
21
|
+
if (!window) {
|
|
22
|
+
return '';
|
|
23
|
+
}
|
|
24
|
+
const host = window.location.host.replace(/\./g, '-');
|
|
25
|
+
const token = (0, helpers_1.getQueryFromUrl)('suda_token');
|
|
26
|
+
if (token) {
|
|
27
|
+
localStorage.setItem(`suda_token_${host}`, `${token}`);
|
|
28
|
+
return token;
|
|
29
|
+
}
|
|
30
|
+
const localToken = localStorage.getItem(`suda_token_${host}`);
|
|
31
|
+
if (localToken) {
|
|
32
|
+
return localToken;
|
|
33
|
+
}
|
|
34
|
+
return '';
|
|
35
|
+
};
|
|
36
|
+
exports.DEFAULT_HEADERS = {
|
|
37
|
+
'X-Client-Info': `dataloom-js-${JS_ENV}/${version_1.version}`,
|
|
38
|
+
'X-Suda-Token': getToken(),
|
|
39
|
+
'X-Suda-Referer': window ? window.location.href : '',
|
|
40
|
+
};
|
|
41
|
+
exports.DEFAULT_GLOBAL_OPTIONS = {
|
|
42
|
+
headers: exports.DEFAULT_HEADERS,
|
|
43
|
+
};
|
|
44
|
+
exports.DEFAULT_DB_OPTIONS = {
|
|
45
|
+
schema: '',
|
|
46
|
+
};
|
|
47
|
+
exports.DEFAULT_AUTH_OPTIONS = {
|
|
48
|
+
autoRefreshToken: true,
|
|
49
|
+
persistSession: true,
|
|
50
|
+
detectSessionInUrl: true,
|
|
51
|
+
flowType: 'implicit',
|
|
52
|
+
};
|
|
53
|
+
exports.DEFAULT_REALTIME_OPTIONS = {};
|
|
54
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":";;;AAGA,uCAA2C;AAC3C,uCAAmC;AAEnC,IAAI,MAAM,GAAG,EAAE,CAAA;AACf,aAAa;AACb,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;IAC/B,MAAM,GAAG,MAAM,CAAA;CAChB;KAAM,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;IAC1C,MAAM,GAAG,KAAK,CAAA;CACf;KAAM,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,OAAO,KAAK,aAAa,EAAE;IAClF,MAAM,GAAG,cAAc,CAAA;CACxB;KAAM;IACL,MAAM,GAAG,MAAM,CAAA;CAChB;AAED,MAAM,QAAQ,GAAG,GAAG,EAAE;IACpB,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,EAAE,CAAA;KACV;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IACrD,MAAM,KAAK,GAAG,IAAA,yBAAe,EAAC,YAAY,CAAC,CAAA;IAC3C,IAAI,KAAK,EAAE;QACT,YAAY,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAA;QACtD,OAAO,KAAK,CAAA;KACb;IACD,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,CAAA;IAC7D,IAAI,UAAU,EAAE;QACd,OAAO,UAAU,CAAA;KAClB;IACD,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAEY,QAAA,eAAe,GAAG;IAC7B,eAAe,EAAE,eAAe,MAAM,IAAI,iBAAO,EAAE;IACnD,cAAc,EAAE,QAAQ,EAAE;IAC1B,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;CACrD,CAAA;AAEY,QAAA,sBAAsB,GAAG;IACpC,OAAO,EAAE,uBAAe;CACzB,CAAA;AAEY,QAAA,kBAAkB,GAAG;IAChC,MAAM,EAAE,EAAE;CACX,CAAA;AAEY,QAAA,oBAAoB,GAA8B;IAC7D,gBAAgB,EAAE,IAAI;IACtB,cAAc,EAAE,IAAI;IACpB,kBAAkB,EAAE,IAAI;IACxB,QAAQ,EAAE,UAAU;CACrB,CAAA;AAEY,QAAA,wBAAwB,GAA0B,EAAE,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
type Fetch = typeof fetch;
|
|
2
|
+
export declare const resolveFetch: (customFetch?: Fetch) => Fetch;
|
|
3
|
+
export declare const resolveHeadersConstructor: () => any;
|
|
4
|
+
export declare const fetchWithAuth: (supabaseKey: string, getAccessToken: () => Promise<string | null>, 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":"AAGA,KAAK,KAAK,GAAG,OAAO,KAAK,CAAA;AAEzB,eAAO,MAAM,YAAY,iBAAkB,KAAK,KAAG,KAUlD,CAAA;AAED,eAAO,MAAM,yBAAyB,WAMrC,CAAA;AAED,eAAO,MAAM,aAAa,gBACX,MAAM,kBACH,MAAM,QAAQ,MAAM,GAAG,IAAI,CAAC,gBAC9B,KAAK,KAClB,KAmBF,CAAA"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
exports.fetchWithAuth = exports.resolveHeadersConstructor = exports.resolveFetch = void 0;
|
|
36
|
+
// @ts-ignore
|
|
37
|
+
const node_fetch_1 = __importStar(require("@data-loom/node-fetch"));
|
|
38
|
+
const resolveFetch = (customFetch) => {
|
|
39
|
+
let _fetch;
|
|
40
|
+
if (customFetch) {
|
|
41
|
+
_fetch = customFetch;
|
|
42
|
+
}
|
|
43
|
+
else if (typeof fetch === 'undefined') {
|
|
44
|
+
_fetch = node_fetch_1.default;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
_fetch = fetch;
|
|
48
|
+
}
|
|
49
|
+
return (...args) => _fetch(...args);
|
|
50
|
+
};
|
|
51
|
+
exports.resolveFetch = resolveFetch;
|
|
52
|
+
const resolveHeadersConstructor = () => {
|
|
53
|
+
if (typeof Headers === 'undefined') {
|
|
54
|
+
return node_fetch_1.Headers;
|
|
55
|
+
}
|
|
56
|
+
return Headers;
|
|
57
|
+
};
|
|
58
|
+
exports.resolveHeadersConstructor = resolveHeadersConstructor;
|
|
59
|
+
const fetchWithAuth = (supabaseKey, getAccessToken, customFetch) => {
|
|
60
|
+
const fetch = (0, exports.resolveFetch)(customFetch);
|
|
61
|
+
const HeadersConstructor = (0, exports.resolveHeadersConstructor)();
|
|
62
|
+
return (input, init) => __awaiter(void 0, void 0, void 0, function* () {
|
|
63
|
+
var _a;
|
|
64
|
+
const accessToken = (_a = (yield getAccessToken())) !== null && _a !== void 0 ? _a : supabaseKey;
|
|
65
|
+
let headers = new HeadersConstructor(init === null || init === void 0 ? void 0 : init.headers);
|
|
66
|
+
if (!headers.has('apikey')) {
|
|
67
|
+
headers.set('apikey', supabaseKey);
|
|
68
|
+
}
|
|
69
|
+
// TODO check
|
|
70
|
+
// if (!headers.has('Authorization')) {
|
|
71
|
+
// headers.set('Authorization', `Bearer ${accessToken}`)
|
|
72
|
+
// }
|
|
73
|
+
return fetch(input, Object.assign(Object.assign({}, init), { headers }));
|
|
74
|
+
});
|
|
75
|
+
};
|
|
76
|
+
exports.fetchWithAuth = fetchWithAuth;
|
|
77
|
+
//# sourceMappingURL=fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/utils/fetch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,aAAa;AACb,oEAA8E;AAIvE,MAAM,YAAY,GAAG,CAAC,WAAmB,EAAS,EAAE;IACzD,IAAI,MAAa,CAAA;IACjB,IAAI,WAAW,EAAE;QACf,MAAM,GAAG,WAAW,CAAA;KACrB;SAAM,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;QACvC,MAAM,GAAG,oBAA6B,CAAA;KACvC;SAAM;QACL,MAAM,GAAG,KAAK,CAAA;KACf;IACD,OAAO,CAAC,GAAG,IAAuB,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAA;AACxD,CAAC,CAAA;AAVY,QAAA,YAAY,gBAUxB;AAEM,MAAM,yBAAyB,GAAG,GAAG,EAAE;IAC5C,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;QAClC,OAAO,oBAAgB,CAAA;KACxB;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AANY,QAAA,yBAAyB,6BAMrC;AAEM,MAAM,aAAa,GAAG,CAC3B,WAAmB,EACnB,cAA4C,EAC5C,WAAmB,EACZ,EAAE;IACT,MAAM,KAAK,GAAG,IAAA,oBAAY,EAAC,WAAW,CAAC,CAAA;IACvC,MAAM,kBAAkB,GAAG,IAAA,iCAAyB,GAAE,CAAA;IAEtD,OAAO,CAAO,KAAK,EAAE,IAAI,EAAE,EAAE;;QAC3B,MAAM,WAAW,GAAG,MAAA,CAAC,MAAM,cAAc,EAAE,CAAC,mCAAI,WAAW,CAAA;QAC3D,IAAI,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAC,CAAA;QAEnD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAC1B,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;SACnC;QAED,aAAa;QACb,uCAAuC;QACvC,0DAA0D;QAC1D,IAAI;QAEJ,OAAO,KAAK,CAAC,KAAK,kCAAO,IAAI,KAAE,OAAO,IAAG,CAAA;IAC3C,CAAC,CAAA,CAAA;AACH,CAAC,CAAA;AAvBY,QAAA,aAAa,iBAuBzB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SupabaseClientOptions } from './types';
|
|
2
|
+
export declare function uuid(): string;
|
|
3
|
+
export declare function getQueryFromUrl(query: string): string | null;
|
|
4
|
+
export declare function stripTrailingSlash(url: string): string;
|
|
5
|
+
export declare const isBrowser: () => boolean;
|
|
6
|
+
export declare function applySettingDefaults<Database = any, SchemaName extends string & keyof Database = 'public' extends keyof Database ? 'public' : string & keyof Database>(options: SupabaseClientOptions<SchemaName>, defaults: SupabaseClientOptions<any>): Required<SupabaseClientOptions<SchemaName>>;
|
|
7
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE/C,wBAAgB,IAAI,WAMnB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK5D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,eAAO,MAAM,SAAS,eAAsC,CAAA;AAE5D,wBAAgB,oBAAoB,CAClC,QAAQ,GAAG,GAAG,EACd,UAAU,SAAS,MAAM,GAAG,MAAM,QAAQ,GAAG,QAAQ,SAAS,MAAM,QAAQ,GACxE,QAAQ,GACR,MAAM,GAAG,MAAM,QAAQ,EAE3B,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,EAC1C,QAAQ,EAAE,qBAAqB,CAAC,GAAG,CAAC,GACnC,QAAQ,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CA0C7C"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.applySettingDefaults = exports.isBrowser = exports.stripTrailingSlash = exports.getQueryFromUrl = exports.uuid = void 0;
|
|
13
|
+
function uuid() {
|
|
14
|
+
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
15
|
+
var r = (Math.random() * 16) | 0, v = c == 'x' ? r : (r & 0x3) | 0x8;
|
|
16
|
+
return v.toString(16);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
exports.uuid = uuid;
|
|
20
|
+
function getQueryFromUrl(query) {
|
|
21
|
+
const urlParams = new URLSearchParams(window.location.search);
|
|
22
|
+
const sudaToken = urlParams.get(query);
|
|
23
|
+
return sudaToken;
|
|
24
|
+
}
|
|
25
|
+
exports.getQueryFromUrl = getQueryFromUrl;
|
|
26
|
+
function stripTrailingSlash(url) {
|
|
27
|
+
return url.replace(/\/$/, '');
|
|
28
|
+
}
|
|
29
|
+
exports.stripTrailingSlash = stripTrailingSlash;
|
|
30
|
+
const isBrowser = () => typeof window !== 'undefined';
|
|
31
|
+
exports.isBrowser = isBrowser;
|
|
32
|
+
function applySettingDefaults(options, defaults) {
|
|
33
|
+
const { db: dbOptions, auth: authOptions, realtime: realtimeOptions, global: globalOptions, } = options;
|
|
34
|
+
const { db: DEFAULT_DB_OPTIONS, auth: DEFAULT_AUTH_OPTIONS, realtime: DEFAULT_REALTIME_OPTIONS, global: DEFAULT_GLOBAL_OPTIONS, } = defaults;
|
|
35
|
+
const result = {
|
|
36
|
+
db: Object.assign(Object.assign({}, DEFAULT_DB_OPTIONS), dbOptions),
|
|
37
|
+
auth: Object.assign(Object.assign({}, DEFAULT_AUTH_OPTIONS), authOptions),
|
|
38
|
+
realtime: Object.assign(Object.assign({}, DEFAULT_REALTIME_OPTIONS), realtimeOptions),
|
|
39
|
+
global: Object.assign(Object.assign({}, DEFAULT_GLOBAL_OPTIONS), globalOptions),
|
|
40
|
+
accessToken: () => __awaiter(this, void 0, void 0, function* () { return ''; }),
|
|
41
|
+
};
|
|
42
|
+
if (options.accessToken) {
|
|
43
|
+
result.accessToken = options.accessToken;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
// hack around Required<>
|
|
47
|
+
delete result.accessToken;
|
|
48
|
+
}
|
|
49
|
+
return result;
|
|
50
|
+
}
|
|
51
|
+
exports.applySettingDefaults = applySettingDefaults;
|
|
52
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,SAAgB,IAAI;IAClB,OAAO,sCAAsC,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;QACxE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAC9B,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAA;QACpC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACvB,CAAC,CAAC,CAAA;AACJ,CAAC;AAND,oBAMC;AAED,SAAgB,eAAe,CAAC,KAAa;IAC3C,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC7D,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAEtC,OAAO,SAAS,CAAA;AAClB,CAAC;AALD,0CAKC;AAED,SAAgB,kBAAkB,CAAC,GAAW;IAC5C,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAC/B,CAAC;AAFD,gDAEC;AAEM,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,OAAO,MAAM,KAAK,WAAW,CAAA;AAA/C,QAAA,SAAS,aAAsC;AAE5D,SAAgB,oBAAoB,CAMlC,OAA0C,EAC1C,QAAoC;IAEpC,MAAM,EACJ,EAAE,EAAE,SAAS,EACb,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,aAAa,GACtB,GAAG,OAAO,CAAA;IACX,MAAM,EACJ,EAAE,EAAE,kBAAkB,EACtB,IAAI,EAAE,oBAAoB,EAC1B,QAAQ,EAAE,wBAAwB,EAClC,MAAM,EAAE,sBAAsB,GAC/B,GAAG,QAAQ,CAAA;IAEZ,MAAM,MAAM,GAAgD;QAC1D,EAAE,kCACG,kBAAkB,GAClB,SAAS,CACb;QACD,IAAI,kCACC,oBAAoB,GACpB,WAAW,CACf;QACD,QAAQ,kCACH,wBAAwB,GACxB,eAAe,CACnB;QACD,MAAM,kCACD,sBAAsB,GACtB,aAAa,CACjB;QACD,WAAW,EAAE,GAAS,EAAE,gDAAC,OAAA,EAAE,CAAA,GAAA;KAC5B,CAAA;IAED,IAAI,OAAO,CAAC,WAAW,EAAE;QACvB,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;KACzC;SAAM;QACL,yBAAyB;QACzB,OAAQ,MAAc,CAAC,WAAW,CAAA;KACnC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAlDD,oDAkDC"}
|