@outbuild/supa-store 0.0.27 → 0.0.28

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.
@@ -3,9 +3,10 @@ import { toObservable } from "@angular/core/rxjs-interop";
3
3
  import { SUPA_STORE_OPTIONS } from '../token/supabase-credentials.token';
4
4
  import { filter, firstValueFrom } from 'rxjs';
5
5
  import { patchState, signalStoreFeature, type, withHooks, withMethods } from '@ngrx/signals';
6
+ import { SupabaseService } from '../services/supabase.service';
6
7
  export const withPostAuthOptions = () => signalStoreFeature({
7
8
  state: type()
8
- }, withMethods((store, { postAuthOptions } = inject(SUPA_STORE_OPTIONS)) => ({
9
+ }, withMethods((store, { postAuthOptions } = inject(SUPA_STORE_OPTIONS), { client } = inject(SupabaseService)) => ({
9
10
  _loader: async () => {
10
11
  const { useLoader: { table, rpc } } = postAuthOptions;
11
12
  if (table || rpc) {
@@ -13,11 +14,11 @@ export const withPostAuthOptions = () => signalStoreFeature({
13
14
  if (!session)
14
15
  return;
15
16
  if (table) {
16
- const { data } = await store.client().from(table).select('*').eq('id', session?.user?.id).single();
17
+ const { data } = await client.from(table).select('*').eq('id', session?.user?.id).single();
17
18
  patchState(store, { auth: { ...store.auth(), metadata: data } });
18
19
  }
19
20
  else if (rpc) {
20
- const { data } = await store.client().rpc(rpc, { input: { user_id: session?.user?.id } });
21
+ const { data } = await client.rpc(rpc, { input: { user_id: session?.user?.id } });
21
22
  patchState(store, { auth: { ...store.auth(), metadata: data } });
22
23
  }
23
24
  else {
@@ -31,4 +32,4 @@ export const withPostAuthOptions = () => signalStoreFeature({
31
32
  store._loader();
32
33
  }
33
34
  }));
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zdC1hdXRoLWxvYWRlci5mZWF0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2Itc3VwYS1zdG9yZS9zcmMvbGliL2NvbW1vbi9mZWF0dXJlcy9wb3N0LWF1dGgtbG9hZGVyLmZlYXR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUV0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFFekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDeEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUU1RixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FFekQ7SUFDRSxLQUFLLEVBQUUsSUFBSSxFQUFrQjtDQUM5QixFQUVELFdBQVcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLGVBQWUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRXhFLE9BQU8sRUFBRSxLQUFLLElBQUksRUFBRTtRQUVsQixNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFDLEdBQUcsZUFBZSxDQUFBO1FBRXBELElBQUksS0FBSyxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBRWpCLE1BQU0sT0FBTyxHQUFHLE1BQU0sY0FBYyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssU0FBUyxDQUFDLENBQXdCLENBQUMsQ0FBQTtZQUNwSSxJQUFJLENBQUMsT0FBTztnQkFBRSxPQUFNO1lBRXBCLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1YsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFBO2dCQUNsRyxVQUFVLENBQUMsS0FBSyxFQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFDLENBQUMsQ0FBQTtZQUNsRSxDQUFDO2lCQUFNLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ2YsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBQyxDQUFDLENBQUE7Z0JBQ3hGLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUMsQ0FBQyxDQUFBO1lBQ2pFLENBQUM7aUJBQU0sQ0FBQztnQkFDTixVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyxFQUFDLENBQUMsQ0FBQTtZQUNoRSxDQUFDO1FBRUgsQ0FBQztJQUNILENBQUM7Q0FFRixDQUFDLENBQUMsRUFFSCxTQUFTLENBQUM7SUFFUixNQUFNLENBQUMsS0FBSztRQUVWLHlDQUF5QztRQUN6QyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUE7SUFFakIsQ0FBQztDQUVGLENBQUMsQ0FFSCxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgU2Vzc2lvbiB9IGZyb20gJ0BzdXBhYmFzZS9zdXBhYmFzZS1qcydcclxuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wXCJcclxuaW1wb3J0IHsgU3VwYVN0b3JlU3RhdGUgfSBmcm9tICcuLi90eXBlL3N1cGEtc3RvcmUudHlwZXMnXHJcbmltcG9ydCB7IFNVUEFfU1RPUkVfT1BUSU9OUyB9IGZyb20gJy4uL3Rva2VuL3N1cGFiYXNlLWNyZWRlbnRpYWxzLnRva2VuJ1xyXG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0VmFsdWVGcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgcGF0Y2hTdGF0ZSwgc2lnbmFsU3RvcmVGZWF0dXJlLCB0eXBlLCB3aXRoSG9va3MsIHdpdGhNZXRob2RzIH0gZnJvbSAnQG5ncngvc2lnbmFscydcclxuXHJcbmV4cG9ydCBjb25zdCB3aXRoUG9zdEF1dGhPcHRpb25zID0gKCkgPT4gc2lnbmFsU3RvcmVGZWF0dXJlKFxyXG5cclxuICB7XHJcbiAgICBzdGF0ZTogdHlwZTxTdXBhU3RvcmVTdGF0ZT4oKVxyXG4gIH0sXHJcblxyXG4gIHdpdGhNZXRob2RzKChzdG9yZSwgeyBwb3N0QXV0aE9wdGlvbnMgfSA9IGluamVjdChTVVBBX1NUT1JFX09QVElPTlMpKSA9PiAoe1xyXG5cclxuICAgIF9sb2FkZXI6IGFzeW5jICgpID0+IHtcclxuXHJcbiAgICAgIGNvbnN0IHsgdXNlTG9hZGVyOiB7IHRhYmxlLCBycGMgfX0gPSBwb3N0QXV0aE9wdGlvbnNcclxuXHJcbiAgICAgIGlmICh0YWJsZSB8fCBycGMpIHtcclxuXHJcbiAgICAgICAgY29uc3Qgc2Vzc2lvbiA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRvT2JzZXJ2YWJsZShzdG9yZS5hdXRoLnNlc3Npb24pLnBpcGUoZmlsdGVyKHJlcyA9PiByZXMgIT09IHVuZGVmaW5lZCkpIGFzIE9ic2VydmFibGU8U2Vzc2lvbj4pXHJcbiAgICAgICAgaWYgKCFzZXNzaW9uKSByZXR1cm5cclxuXHJcbiAgICAgICAgaWYgKHRhYmxlKSB7XHJcbiAgICAgICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHN0b3JlLmNsaWVudCgpLmZyb20odGFibGUpLnNlbGVjdCgnKicpLmVxKCdpZCcsIHNlc3Npb24/LnVzZXI/LmlkKS5zaW5nbGUoKVxyXG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgIHsgYXV0aDogeyAuLi5zdG9yZS5hdXRoKCksIG1ldGFkYXRhOiBkYXRhIH19KVxyXG4gICAgICAgIH0gZWxzZSBpZiAocnBjKSB7XHJcbiAgICAgICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHN0b3JlLmNsaWVudCgpLnJwYyhycGMsIHsgaW5wdXQ6IHsgdXNlcl9pZDogc2Vzc2lvbj8udXNlcj8uaWQgfX0pXHJcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IGF1dGg6IHsgLi4uc3RvcmUuYXV0aCgpLCBtZXRhZGF0YTogZGF0YSB9fSlcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBhdXRoOiB7IC4uLnN0b3JlLmF1dGgoKSwgbWV0YWRhdGE6IG51bGx9fSlcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcbiAgICB9LFxyXG5cclxuICB9KSksXHJcblxyXG4gIHdpdGhIb29rcyh7XHJcblxyXG4gICAgb25Jbml0KHN0b3JlKSB7XHJcblxyXG4gICAgICAvKiBBdXRvIExvYWQgQWRkaXRpb25hbCBVc2VyIEF1dGggRGF0YSAqL1xyXG4gICAgICBzdG9yZS5fbG9hZGVyKClcclxuXHJcbiAgICB9XHJcblxyXG4gIH0pXHJcblxyXG4pXHJcbiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zdC1hdXRoLWxvYWRlci5mZWF0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2Itc3VwYS1zdG9yZS9zcmMvbGliL2NvbW1vbi9mZWF0dXJlcy9wb3N0LWF1dGgtbG9hZGVyLmZlYXR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUV0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFFekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDeEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM1RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFFOUQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBRXpEO0lBQ0UsS0FBSyxFQUFFLElBQUksRUFBa0I7Q0FDOUIsRUFFRCxXQUFXLENBQUMsQ0FDVixLQUFLLEVBQ0wsRUFBRSxlQUFlLEVBQUUsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsRUFDaEQsRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLEVBQ3BDLEVBQUUsQ0FBQyxDQUFDO0lBRUosT0FBTyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBRWxCLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUMsR0FBRyxlQUFlLENBQUE7UUFFcEQsSUFBSSxLQUFLLElBQUksR0FBRyxFQUFFLENBQUM7WUFFakIsTUFBTSxPQUFPLEdBQUcsTUFBTSxjQUFjLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxTQUFTLENBQUMsQ0FBd0IsQ0FBQyxDQUFBO1lBQ3BJLElBQUksQ0FBQyxPQUFPO2dCQUFFLE9BQU07WUFFcEIsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDVixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUE7Z0JBQzFGLFVBQVUsQ0FBQyxLQUFLLEVBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUMsQ0FBQyxDQUFBO1lBQ2xFLENBQUM7aUJBQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztnQkFDZixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFDLENBQUMsQ0FBQTtnQkFDaEYsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBQyxDQUFDLENBQUE7WUFDakUsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLEVBQUMsQ0FBQyxDQUFBO1lBQ2hFLENBQUM7UUFFSCxDQUFDO0lBQ0gsQ0FBQztDQUVGLENBQUMsQ0FBQyxFQUVILFNBQVMsQ0FBQztJQUVSLE1BQU0sQ0FBQyxLQUFLO1FBRVYseUNBQXlDO1FBQ3pDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUVqQixDQUFDO0NBRUYsQ0FBQyxDQUVILENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBTZXNzaW9uIH0gZnJvbSAnQHN1cGFiYXNlL3N1cGFiYXNlLWpzJ1xyXG5pbXBvcnQgeyB0b09ic2VydmFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3BcIlxyXG5pbXBvcnQgeyBTdXBhU3RvcmVTdGF0ZSB9IGZyb20gJy4uL3R5cGUvc3VwYS1zdG9yZS50eXBlcydcclxuaW1wb3J0IHsgU1VQQV9TVE9SRV9PUFRJT05TIH0gZnJvbSAnLi4vdG9rZW4vc3VwYWJhc2UtY3JlZGVudGlhbHMudG9rZW4nXHJcbmltcG9ydCB7IGZpbHRlciwgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBwYXRjaFN0YXRlLCBzaWduYWxTdG9yZUZlYXR1cmUsIHR5cGUsIHdpdGhIb29rcywgd2l0aE1ldGhvZHMgfSBmcm9tICdAbmdyeC9zaWduYWxzJ1xyXG5pbXBvcnQgeyBTdXBhYmFzZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zdXBhYmFzZS5zZXJ2aWNlJ1xyXG5cclxuZXhwb3J0IGNvbnN0IHdpdGhQb3N0QXV0aE9wdGlvbnMgPSAoKSA9PiBzaWduYWxTdG9yZUZlYXR1cmUoXHJcblxyXG4gIHtcclxuICAgIHN0YXRlOiB0eXBlPFN1cGFTdG9yZVN0YXRlPigpXHJcbiAgfSxcclxuXHJcbiAgd2l0aE1ldGhvZHMoKFxyXG4gICAgc3RvcmUsXHJcbiAgICB7IHBvc3RBdXRoT3B0aW9ucyB9ID0gaW5qZWN0KFNVUEFfU1RPUkVfT1BUSU9OUyksXHJcbiAgICB7IGNsaWVudCB9ID0gaW5qZWN0KFN1cGFiYXNlU2VydmljZSlcclxuICApID0+ICh7XHJcblxyXG4gICAgX2xvYWRlcjogYXN5bmMgKCkgPT4ge1xyXG5cclxuICAgICAgY29uc3QgeyB1c2VMb2FkZXI6IHsgdGFibGUsIHJwYyB9fSA9IHBvc3RBdXRoT3B0aW9uc1xyXG5cclxuICAgICAgaWYgKHRhYmxlIHx8IHJwYykge1xyXG5cclxuICAgICAgICBjb25zdCBzZXNzaW9uID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odG9PYnNlcnZhYmxlKHN0b3JlLmF1dGguc2Vzc2lvbikucGlwZShmaWx0ZXIocmVzID0+IHJlcyAhPT0gdW5kZWZpbmVkKSkgYXMgT2JzZXJ2YWJsZTxTZXNzaW9uPilcclxuICAgICAgICBpZiAoIXNlc3Npb24pIHJldHVyblxyXG5cclxuICAgICAgICBpZiAodGFibGUpIHtcclxuICAgICAgICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgY2xpZW50LmZyb20odGFibGUpLnNlbGVjdCgnKicpLmVxKCdpZCcsIHNlc3Npb24/LnVzZXI/LmlkKS5zaW5nbGUoKVxyXG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgIHsgYXV0aDogeyAuLi5zdG9yZS5hdXRoKCksIG1ldGFkYXRhOiBkYXRhIH19KVxyXG4gICAgICAgIH0gZWxzZSBpZiAocnBjKSB7XHJcbiAgICAgICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IGNsaWVudC5ycGMocnBjLCB7IGlucHV0OiB7IHVzZXJfaWQ6IHNlc3Npb24/LnVzZXI/LmlkIH19KVxyXG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBhdXRoOiB7IC4uLnN0b3JlLmF1dGgoKSwgbWV0YWRhdGE6IGRhdGEgfX0pXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgYXV0aDogeyAuLi5zdG9yZS5hdXRoKCksIG1ldGFkYXRhOiBudWxsfX0pXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgfSkpLFxyXG5cclxuICB3aXRoSG9va3Moe1xyXG5cclxuICAgIG9uSW5pdChzdG9yZSkge1xyXG5cclxuICAgICAgLyogQXV0byBMb2FkIEFkZGl0aW9uYWwgVXNlciBBdXRoIERhdGEgKi9cclxuICAgICAgc3RvcmUuX2xvYWRlcigpXHJcblxyXG4gICAgfVxyXG5cclxuICB9KVxyXG5cclxuKVxyXG4iXX0=
@@ -1,26 +1,33 @@
1
1
  import { inject } from '@angular/core';
2
- import { INITIAL_STATE } from '../token/initial-state.token';
2
+ import { withDevtools } from '@angular-architects/ngrx-toolkit';
3
3
  import { withPostAuthOptions } from '../features/post-auth-loader.feature';
4
4
  import { patchState, signalStoreFeature, withHooks, withMethods, withState } from '@ngrx/signals';
5
- export const withSupaStoreCore = () => signalStoreFeature(
6
- // withDevtools('supaStore'),
7
- withState(() => inject(INITIAL_STATE)), withPostAuthOptions(), withMethods(store => ({
5
+ import { SupabaseService } from '../services/supabase.service';
6
+ export const withSupaStoreCore = () => signalStoreFeature(withDevtools('supaStore'), withState({
7
+ // client,
8
+ auth: {
9
+ session: undefined,
10
+ user: undefined,
11
+ metadata: undefined,
12
+ state: { prev: null, curr: null }
13
+ }
14
+ }), withPostAuthOptions(), withMethods((store, { client } = inject(SupabaseService)) => ({
8
15
  _initSession: async () => {
9
- const { data: { session }, error } = await store.client().auth.getSession();
16
+ const { data: { session }, error } = await client.auth.getSession();
10
17
  patchState(store, { auth: { ...store.auth(), session } });
11
18
  },
12
19
  _initUser: async () => {
13
- const { data: { user }, error } = await store.client().auth.getUser();
20
+ const { data: { user }, error } = await client.auth.getUser();
14
21
  patchState(store, { auth: { ...store.auth(), user } });
15
22
  }
16
23
  })), withHooks({
17
- onInit(store) {
24
+ onInit(store, { client } = inject(SupabaseService)) {
18
25
  /* Listen For Auth Atate Changes */
19
- store.client().auth.onAuthStateChange(state => patchState(store, { auth: { ...store.auth(), state: { prev: store.auth.state.curr(), curr: state } } }));
26
+ client.auth.onAuthStateChange(state => patchState(store, { auth: { ...store.auth(), state: { prev: store.auth.state.curr(), curr: state } } }));
20
27
  /* Init Supabase Session */
21
28
  store._initSession();
22
29
  /* Init Supabase User */
23
30
  store._initUser();
24
31
  }
25
32
  }));
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwYS1zdG9yZS1jb3JlLmZlYXR1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYi1zdXBhLXN0b3JlL3NyYy9saWIvY29tbW9uL2ZlYXR1cmVzL3N1cGEtc3RvcmUtY29yZS5mZWF0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBRTVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFBO0FBQzFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFakcsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxFQUFFLENBQUMsa0JBQWtCO0FBRXZELDZCQUE2QjtBQUM3QixTQUFTLENBQWlCLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUN0RCxtQkFBbUIsRUFBRSxFQUVyQixXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXBCLFlBQVksRUFBRSxLQUFLLElBQUksRUFBRTtRQUN2QixNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFDLEdBQUcsTUFBTSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBQzFFLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBQyxDQUFDLENBQUE7SUFDMUQsQ0FBQztJQUVELFNBQVMsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNwQixNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQ3JFLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBQyxDQUFDLENBQUE7SUFDdkQsQ0FBQztDQUVGLENBQUMsQ0FBQyxFQUVILFNBQVMsQ0FBQztJQUVSLE1BQU0sQ0FBQyxLQUFLO1FBRVYsbUNBQW1DO1FBQ25DLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFBO1FBRXRKLDJCQUEyQjtRQUMzQixLQUFLLENBQUMsWUFBWSxFQUFFLENBQUE7UUFFcEIsd0JBQXdCO1FBQ3hCLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQTtJQUVuQixDQUFDO0NBRUYsQ0FBQyxDQUVILENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgd2l0aERldnRvb2xzIH0gZnJvbSAnQGFuZ3VsYXItYXJjaGl0ZWN0cy9uZ3J4LXRvb2xraXQnXHJcbmltcG9ydCB7IElOSVRJQUxfU1RBVEUgfSBmcm9tICcuLi90b2tlbi9pbml0aWFsLXN0YXRlLnRva2VuJ1xyXG5pbXBvcnQgeyBTdXBhU3RvcmVTdGF0ZSB9IGZyb20gJy4uL3R5cGUvc3VwYS1zdG9yZS50eXBlcydcclxuaW1wb3J0IHsgd2l0aFBvc3RBdXRoT3B0aW9ucyB9IGZyb20gJy4uL2ZlYXR1cmVzL3Bvc3QtYXV0aC1sb2FkZXIuZmVhdHVyZSdcclxuaW1wb3J0IHsgcGF0Y2hTdGF0ZSwgc2lnbmFsU3RvcmVGZWF0dXJlLCB3aXRoSG9va3MsIHdpdGhNZXRob2RzLCB3aXRoU3RhdGUgfSBmcm9tICdAbmdyeC9zaWduYWxzJ1xyXG5cclxuZXhwb3J0IGNvbnN0IHdpdGhTdXBhU3RvcmVDb3JlID0gKCkgPT4gc2lnbmFsU3RvcmVGZWF0dXJlKFxyXG5cclxuICAvLyB3aXRoRGV2dG9vbHMoJ3N1cGFTdG9yZScpLFxyXG4gIHdpdGhTdGF0ZTxTdXBhU3RvcmVTdGF0ZT4oKCkgPT4gaW5qZWN0KElOSVRJQUxfU1RBVEUpKSxcclxuICB3aXRoUG9zdEF1dGhPcHRpb25zKCksXHJcblxyXG4gIHdpdGhNZXRob2RzKHN0b3JlID0+ICh7XHJcblxyXG4gICAgX2luaXRTZXNzaW9uOiBhc3luYyAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHsgZGF0YTogeyBzZXNzaW9uIH0sIGVycm9yfSA9IGF3YWl0IHN0b3JlLmNsaWVudCgpLmF1dGguZ2V0U2Vzc2lvbigpXHJcbiAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgYXV0aDogeyAuLi5zdG9yZS5hdXRoKCksIHNlc3Npb24gfX0pXHJcbiAgICB9LFxyXG5cclxuICAgIF9pbml0VXNlcjogYXN5bmMgKCkgPT4ge1xyXG4gICAgICBjb25zdCB7IGRhdGE6IHsgdXNlciB9LCBlcnJvciB9ID0gYXdhaXQgc3RvcmUuY2xpZW50KCkuYXV0aC5nZXRVc2VyKClcclxuICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBhdXRoOiB7IC4uLnN0b3JlLmF1dGgoKSwgdXNlciB9fSlcclxuICAgIH1cclxuXHJcbiAgfSkpLFxyXG5cclxuICB3aXRoSG9va3Moe1xyXG5cclxuICAgIG9uSW5pdChzdG9yZSkge1xyXG5cclxuICAgICAgLyogTGlzdGVuIEZvciBBdXRoIEF0YXRlIENoYW5nZXMgKi9cclxuICAgICAgc3RvcmUuY2xpZW50KCkuYXV0aC5vbkF1dGhTdGF0ZUNoYW5nZShzdGF0ZSA9PiBwYXRjaFN0YXRlKHN0b3JlLCB7IGF1dGg6IHsgLi4uc3RvcmUuYXV0aCgpLCBzdGF0ZTogeyBwcmV2OiBzdG9yZS5hdXRoLnN0YXRlLmN1cnIoKSwgY3Vycjogc3RhdGUgfSB9fSkpXHJcblxyXG4gICAgICAvKiBJbml0IFN1cGFiYXNlIFNlc3Npb24gKi9cclxuICAgICAgc3RvcmUuX2luaXRTZXNzaW9uKClcclxuXHJcbiAgICAgIC8qIEluaXQgU3VwYWJhc2UgVXNlciAqL1xyXG4gICAgICBzdG9yZS5faW5pdFVzZXIoKVxyXG5cclxuICAgIH1cclxuXHJcbiAgfSlcclxuXHJcbilcclxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwYS1zdG9yZS1jb3JlLmZlYXR1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYi1zdXBhLXN0b3JlL3NyYy9saWIvY29tbW9uL2ZlYXR1cmVzL3N1cGEtc3RvcmUtY29yZS5mZWF0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBRy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFBO0FBQzFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDakcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBRTlELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUV2RCxZQUFZLENBQUMsV0FBVyxDQUFDLEVBQ3pCLFNBQVMsQ0FBaUI7SUFDeEIsVUFBVTtJQUNWLElBQUksRUFBRTtRQUNKLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLElBQUksRUFBRSxTQUFTO1FBQ2YsUUFBUSxFQUFFLFNBQVM7UUFDbkIsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO0tBQ2xDO0NBQ0YsQ0FBQyxFQUNGLG1CQUFtQixFQUFFLEVBRXJCLFdBQVcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUU1RCxZQUFZLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDdkIsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBQyxHQUFHLE1BQU0sTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUNsRSxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUMsQ0FBQyxDQUFBO0lBQzFELENBQUM7SUFFRCxTQUFTLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDcEIsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUM3RCxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUMsQ0FBQyxDQUFBO0lBQ3ZELENBQUM7Q0FFRixDQUFDLENBQUMsRUFFSCxTQUFTLENBQUM7SUFFUixNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUMsTUFBTSxFQUFDLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQztRQUU5QyxtQ0FBbUM7UUFDbkMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUE7UUFFOUksMkJBQTJCO1FBQzNCLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUVwQix3QkFBd0I7UUFDeEIsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFBO0lBRW5CLENBQUM7Q0FFRixDQUFDLENBRUgsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyB3aXRoRGV2dG9vbHMgfSBmcm9tICdAYW5ndWxhci1hcmNoaXRlY3RzL25ncngtdG9vbGtpdCdcclxuaW1wb3J0IHsgSU5JVElBTF9TVEFURSB9IGZyb20gJy4uL3Rva2VuL2luaXRpYWwtc3RhdGUudG9rZW4nXHJcbmltcG9ydCB7IFN1cGFTdG9yZVN0YXRlIH0gZnJvbSAnLi4vdHlwZS9zdXBhLXN0b3JlLnR5cGVzJ1xyXG5pbXBvcnQgeyB3aXRoUG9zdEF1dGhPcHRpb25zIH0gZnJvbSAnLi4vZmVhdHVyZXMvcG9zdC1hdXRoLWxvYWRlci5mZWF0dXJlJ1xyXG5pbXBvcnQgeyBwYXRjaFN0YXRlLCBzaWduYWxTdG9yZUZlYXR1cmUsIHdpdGhIb29rcywgd2l0aE1ldGhvZHMsIHdpdGhTdGF0ZSB9IGZyb20gJ0BuZ3J4L3NpZ25hbHMnXHJcbmltcG9ydCB7IFN1cGFiYXNlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3N1cGFiYXNlLnNlcnZpY2UnXHJcblxyXG5leHBvcnQgY29uc3Qgd2l0aFN1cGFTdG9yZUNvcmUgPSAoKSA9PiBzaWduYWxTdG9yZUZlYXR1cmUoXHJcblxyXG4gIHdpdGhEZXZ0b29scygnc3VwYVN0b3JlJyksXHJcbiAgd2l0aFN0YXRlPFN1cGFTdG9yZVN0YXRlPih7XHJcbiAgICAvLyBjbGllbnQsXHJcbiAgICBhdXRoOiB7XHJcbiAgICAgIHNlc3Npb246IHVuZGVmaW5lZCxcclxuICAgICAgdXNlcjogdW5kZWZpbmVkLFxyXG4gICAgICBtZXRhZGF0YTogdW5kZWZpbmVkLFxyXG4gICAgICBzdGF0ZTogeyBwcmV2OiBudWxsLCBjdXJyOiBudWxsIH1cclxuICAgIH1cclxuICB9KSxcclxuICB3aXRoUG9zdEF1dGhPcHRpb25zKCksXHJcblxyXG4gIHdpdGhNZXRob2RzKChzdG9yZSwgeyBjbGllbnQgfSA9IGluamVjdChTdXBhYmFzZVNlcnZpY2UpKSA9PiAoe1xyXG5cclxuICAgIF9pbml0U2Vzc2lvbjogYXN5bmMgKCkgPT4ge1xyXG4gICAgICBjb25zdCB7IGRhdGE6IHsgc2Vzc2lvbiB9LCBlcnJvcn0gPSBhd2FpdCBjbGllbnQuYXV0aC5nZXRTZXNzaW9uKClcclxuICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBhdXRoOiB7IC4uLnN0b3JlLmF1dGgoKSwgc2Vzc2lvbiB9fSlcclxuICAgIH0sXHJcblxyXG4gICAgX2luaXRVc2VyOiBhc3luYyAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHsgZGF0YTogeyB1c2VyIH0sIGVycm9yIH0gPSBhd2FpdCBjbGllbnQuYXV0aC5nZXRVc2VyKClcclxuICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBhdXRoOiB7IC4uLnN0b3JlLmF1dGgoKSwgdXNlciB9fSlcclxuICAgIH1cclxuXHJcbiAgfSkpLFxyXG5cclxuICB3aXRoSG9va3Moe1xyXG5cclxuICAgIG9uSW5pdChzdG9yZSwge2NsaWVudH0gPSBpbmplY3QoU3VwYWJhc2VTZXJ2aWNlKSkge1xyXG5cclxuICAgICAgLyogTGlzdGVuIEZvciBBdXRoIEF0YXRlIENoYW5nZXMgKi9cclxuICAgICAgY2xpZW50LmF1dGgub25BdXRoU3RhdGVDaGFuZ2Uoc3RhdGUgPT4gcGF0Y2hTdGF0ZShzdG9yZSwgeyBhdXRoOiB7IC4uLnN0b3JlLmF1dGgoKSwgc3RhdGU6IHsgcHJldjogc3RvcmUuYXV0aC5zdGF0ZS5jdXJyKCksIGN1cnI6IHN0YXRlIH0gfX0pKVxyXG5cclxuICAgICAgLyogSW5pdCBTdXBhYmFzZSBTZXNzaW9uICovXHJcbiAgICAgIHN0b3JlLl9pbml0U2Vzc2lvbigpXHJcblxyXG4gICAgICAvKiBJbml0IFN1cGFiYXNlIFVzZXIgKi9cclxuICAgICAgc3RvcmUuX2luaXRVc2VyKClcclxuXHJcbiAgICB9XHJcblxyXG4gIH0pXHJcblxyXG4pXHJcbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { inject, Injectable } from '@angular/core';
2
+ import { SUPA_STORE_OPTIONS } from '../token/supabase-credentials.token';
3
+ import { createClient } from '@supabase/supabase-js';
4
+ import * as i0 from "@angular/core";
5
+ export class SupabaseService {
6
+ supaStoreOptions = inject(SUPA_STORE_OPTIONS);
7
+ client = createClient(this.supaStoreOptions?.supabaseUrl, this.supaStoreOptions?.supabaseKey);
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: SupabaseService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
9
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: SupabaseService, providedIn: 'root' });
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: SupabaseService, decorators: [{
12
+ type: Injectable,
13
+ args: [{
14
+ providedIn: 'root'
15
+ }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwYWJhc2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29iLXN1cGEtc3RvcmUvc3JjL2xpYi9jb21tb24vc2VydmljZXMvc3VwYWJhc2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFrQixNQUFNLHVCQUF1QixDQUFBOztBQUtwRSxNQUFNLE9BQU8sZUFBZTtJQUVuQixnQkFBZ0IsR0FBUyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtJQUNuRCxNQUFNLEdBQW1CLFlBQVksQ0FDMUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFdBQVcsRUFDbEMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFdBQVcsQ0FDbkMsQ0FBQTt1R0FOVSxlQUFlOzJHQUFmLGVBQWUsY0FGZCxNQUFNOzsyRkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTVVBBX1NUT1JFX09QVElPTlMgfSBmcm9tICcuLi90b2tlbi9zdXBhYmFzZS1jcmVkZW50aWFscy50b2tlbidcclxuaW1wb3J0IHsgY3JlYXRlQ2xpZW50LCBTdXBhYmFzZUNsaWVudCB9IGZyb20gJ0BzdXBhYmFzZS9zdXBhYmFzZS1qcydcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFN1cGFiYXNlU2VydmljZSB7XHJcblxyXG4gIHB1YmxpYyBzdXBhU3RvcmVPcHRpb25zICAgICAgID0gaW5qZWN0KFNVUEFfU1RPUkVfT1BUSU9OUylcclxuICBwdWJsaWMgY2xpZW50OiBTdXBhYmFzZUNsaWVudCA9IGNyZWF0ZUNsaWVudChcclxuICAgIHRoaXMuc3VwYVN0b3JlT3B0aW9ucz8uc3VwYWJhc2VVcmwsXHJcbiAgICB0aGlzLnN1cGFTdG9yZU9wdGlvbnM/LnN1cGFiYXNlS2V5XHJcbiAgKVxyXG5cclxufVxyXG4iXX0=
@@ -1,12 +1,10 @@
1
- import { inject, InjectionToken } from "@angular/core";
2
- import { SUPA_STORE_OPTIONS } from "./supabase-credentials.token";
3
- import { createClient } from "@supabase/supabase-js";
1
+ import { InjectionToken } from "@angular/core";
4
2
  export const INITIAL_STATE = new InjectionToken('SupaStoreState', {
5
3
  factory: () => {
6
- const { supabaseUrl, supabaseKey } = inject(SUPA_STORE_OPTIONS);
7
- const client = createClient(supabaseUrl, supabaseKey);
4
+ // const { supabaseUrl, supabaseKey } = inject(SUPA_STORE_OPTIONS)
5
+ // const client = createClient(supabaseUrl, supabaseKey)
8
6
  return {
9
- client,
7
+ // client,
10
8
  auth: {
11
9
  session: undefined,
12
10
  user: undefined,
@@ -16,4 +14,4 @@ export const INITIAL_STATE = new InjectionToken('SupaStoreState', {
16
14
  };
17
15
  },
18
16
  });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbC1zdGF0ZS50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29iLXN1cGEtc3RvcmUvc3JjL2xpYi9jb21tb24vdG9rZW4vaW5pdGlhbC1zdGF0ZS50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFHcEQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUFpQixnQkFBZ0IsRUFBRTtJQUNoRixPQUFPLEVBQUUsR0FBRyxFQUFFO1FBRVosTUFBTSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUMvRCxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFBO1FBRXJELE9BQU87WUFDTCxNQUFNO1lBQ04sSUFBSSxFQUFFO2dCQUNKLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixJQUFJLEVBQUUsU0FBUztnQkFDZixRQUFRLEVBQUUsU0FBUztnQkFDbkIsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO2FBQ2xDO1NBQ0YsQ0FBQTtJQUVILENBQUM7Q0FDRixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGlvblRva2VuIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxyXG5pbXBvcnQgeyBTVVBBX1NUT1JFX09QVElPTlMgfSBmcm9tIFwiLi9zdXBhYmFzZS1jcmVkZW50aWFscy50b2tlblwiXHJcbmltcG9ydCB7IGNyZWF0ZUNsaWVudCB9IGZyb20gXCJAc3VwYWJhc2Uvc3VwYWJhc2UtanNcIlxyXG5pbXBvcnQgeyBTdXBhU3RvcmVTdGF0ZSB9IGZyb20gXCIuLi90eXBlL3N1cGEtc3RvcmUudHlwZXNcIlxyXG5cclxuZXhwb3J0IGNvbnN0IElOSVRJQUxfU1RBVEUgPSBuZXcgSW5qZWN0aW9uVG9rZW48U3VwYVN0b3JlU3RhdGU+KCdTdXBhU3RvcmVTdGF0ZScsIHtcclxuICBmYWN0b3J5OiAoKSA9PiB7XHJcblxyXG4gICAgY29uc3QgeyBzdXBhYmFzZVVybCwgc3VwYWJhc2VLZXkgfSA9IGluamVjdChTVVBBX1NUT1JFX09QVElPTlMpXHJcbiAgICBjb25zdCBjbGllbnQgPSBjcmVhdGVDbGllbnQoc3VwYWJhc2VVcmwsIHN1cGFiYXNlS2V5KVxyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGNsaWVudCxcclxuICAgICAgYXV0aDoge1xyXG4gICAgICAgIHNlc3Npb246IHVuZGVmaW5lZCxcclxuICAgICAgICB1c2VyOiB1bmRlZmluZWQsXHJcbiAgICAgICAgbWV0YWRhdGE6IHVuZGVmaW5lZCxcclxuICAgICAgICBzdGF0ZTogeyBwcmV2OiBudWxsLCBjdXJyOiBudWxsIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9LFxyXG59KVxyXG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbC1zdGF0ZS50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29iLXN1cGEtc3RvcmUvc3JjL2xpYi9jb21tb24vdG9rZW4vaW5pdGlhbC1zdGF0ZS50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBS3RELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsZ0JBQWdCLEVBQUU7SUFDaEYsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUVaLGtFQUFrRTtRQUNsRSx3REFBd0Q7UUFFeEQsT0FBTztZQUNMLFVBQVU7WUFDVixJQUFJLEVBQUU7Z0JBQ0osT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLElBQUksRUFBRSxTQUFTO2dCQUNmLFFBQVEsRUFBRSxTQUFTO2dCQUNuQixLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7YUFDbEM7U0FDRixDQUFBO0lBRUgsQ0FBQztDQUNGLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXHJcbmltcG9ydCB7IFNVUEFfU1RPUkVfT1BUSU9OUyB9IGZyb20gXCIuL3N1cGFiYXNlLWNyZWRlbnRpYWxzLnRva2VuXCJcclxuaW1wb3J0IHsgY3JlYXRlQ2xpZW50IH0gZnJvbSBcIkBzdXBhYmFzZS9zdXBhYmFzZS1qc1wiXHJcbmltcG9ydCB7IFN1cGFTdG9yZVN0YXRlIH0gZnJvbSBcIi4uL3R5cGUvc3VwYS1zdG9yZS50eXBlc1wiXHJcblxyXG5leHBvcnQgY29uc3QgSU5JVElBTF9TVEFURSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTdXBhU3RvcmVTdGF0ZT4oJ1N1cGFTdG9yZVN0YXRlJywge1xyXG4gIGZhY3Rvcnk6ICgpID0+IHtcclxuXHJcbiAgICAvLyBjb25zdCB7IHN1cGFiYXNlVXJsLCBzdXBhYmFzZUtleSB9ID0gaW5qZWN0KFNVUEFfU1RPUkVfT1BUSU9OUylcclxuICAgIC8vIGNvbnN0IGNsaWVudCA9IGNyZWF0ZUNsaWVudChzdXBhYmFzZVVybCwgc3VwYWJhc2VLZXkpXHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgLy8gY2xpZW50LFxyXG4gICAgICBhdXRoOiB7XHJcbiAgICAgICAgc2Vzc2lvbjogdW5kZWZpbmVkLFxyXG4gICAgICAgIHVzZXI6IHVuZGVmaW5lZCxcclxuICAgICAgICBtZXRhZGF0YTogdW5kZWZpbmVkLFxyXG4gICAgICAgIHN0YXRlOiB7IHByZXY6IG51bGwsIGN1cnI6IG51bGwgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH0sXHJcbn0pXHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwYS1zdG9yZS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29iLXN1cGEtc3RvcmUvc3JjL2xpYi9jb21tb24vdHlwZS9zdXBhLXN0b3JlLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdXRoQ2hhbmdlRXZlbnQsIFNlc3Npb24sIFN1cGFiYXNlQ2xpZW50LCBVc2VyIH0gZnJvbSBcIkBzdXBhYmFzZS9zdXBhYmFzZS1qc1wiXHJcblxyXG5leHBvcnQgdHlwZSBTdXBhU3RvcmVTdGF0ZSA9IHtcclxuICBjbGllbnQ6IFN1cGFiYXNlQ2xpZW50XHJcbiAgYXV0aDoge1xyXG4gICAgc2Vzc2lvbjogU2Vzc2lvbiB8IHVuZGVmaW5lZCB8IG51bGxcclxuICAgIHVzZXI6IFVzZXIgfCB1bmRlZmluZWQgfCBudWxsXHJcbiAgICBtZXRhZGF0YTogdW5rbm93biB8IHVuZGVmaW5lZCB8IG51bGxcclxuICAgIHN0YXRlOiB7XHJcbiAgICAgIHByZXY6IEF1dGhDaGFuZ2VFdmVudCB8IG51bGwsXHJcbiAgICAgIGN1cnI6IEF1dGhDaGFuZ2VFdmVudCB8IG51bGwsXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBTdXBhU3RvcmVPcHRpb25zID0ge1xyXG4gIHN1cGFiYXNlVXJsOiBzdHJpbmcsXHJcbiAgc3VwYWJhc2VLZXk6IHN0cmluZyxcclxuICBwb3N0QXV0aE9wdGlvbnM6IHtcclxuICAgIHVzZUxvYWRlcjogeyB0YWJsZTogc3RyaW5nOyBycGM/OiBuZXZlciB9IHwgeyBycGM6IHN0cmluZzsgdGFibGU/OiBuZXZlciB9IHwgeyBycGM6IG51bGw7IHRhYmxlPzogbnVsbCB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwYS1zdG9yZS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29iLXN1cGEtc3RvcmUvc3JjL2xpYi9jb21tb24vdHlwZS9zdXBhLXN0b3JlLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdXRoQ2hhbmdlRXZlbnQsIFNlc3Npb24sIFN1cGFiYXNlQ2xpZW50LCBVc2VyIH0gZnJvbSBcIkBzdXBhYmFzZS9zdXBhYmFzZS1qc1wiXHJcblxyXG5leHBvcnQgdHlwZSBTdXBhU3RvcmVTdGF0ZSA9IHtcclxuICAvLyBjbGllbnQ6IFN1cGFiYXNlQ2xpZW50XHJcbiAgYXV0aDoge1xyXG4gICAgc2Vzc2lvbjogU2Vzc2lvbiB8IHVuZGVmaW5lZCB8IG51bGxcclxuICAgIHVzZXI6IFVzZXIgfCB1bmRlZmluZWQgfCBudWxsXHJcbiAgICBtZXRhZGF0YTogdW5rbm93biB8IHVuZGVmaW5lZCB8IG51bGxcclxuICAgIHN0YXRlOiB7XHJcbiAgICAgIHByZXY6IEF1dGhDaGFuZ2VFdmVudCB8IG51bGwsXHJcbiAgICAgIGN1cnI6IEF1dGhDaGFuZ2VFdmVudCB8IG51bGwsXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBTdXBhU3RvcmVPcHRpb25zID0ge1xyXG4gIHN1cGFiYXNlVXJsOiBzdHJpbmcsXHJcbiAgc3VwYWJhc2VLZXk6IHN0cmluZyxcclxuICBwb3N0QXV0aE9wdGlvbnM6IHtcclxuICAgIHVzZUxvYWRlcjogeyB0YWJsZTogc3RyaW5nOyBycGM/OiBuZXZlciB9IHwgeyBycGM6IHN0cmluZzsgdGFibGU/OiBuZXZlciB9IHwgeyBycGM6IG51bGw7IHRhYmxlPzogbnVsbCB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,31 +1,30 @@
1
1
  import { signalStoreFeature, type, withMethods, patchState, withHooks, withState, signalStore } from '@ngrx/signals';
2
- import { InjectionToken, inject, makeEnvironmentProviders } from '@angular/core';
3
- import { createClient } from '@supabase/supabase-js';
2
+ import * as i0 from '@angular/core';
3
+ import { InjectionToken, inject, Injectable, makeEnvironmentProviders } from '@angular/core';
4
+ import { withDevtools } from '@angular-architects/ngrx-toolkit';
4
5
  import { toObservable } from '@angular/core/rxjs-interop';
5
6
  import { firstValueFrom, filter } from 'rxjs';
7
+ import { createClient } from '@supabase/supabase-js';
6
8
  import { merge } from 'lodash-es';
7
9
 
8
10
  const SUPA_STORE_OPTIONS = new InjectionToken('SUPA_STORE_OPTIONS');
9
11
 
10
- const INITIAL_STATE = new InjectionToken('SupaStoreState', {
11
- factory: () => {
12
- const { supabaseUrl, supabaseKey } = inject(SUPA_STORE_OPTIONS);
13
- const client = createClient(supabaseUrl, supabaseKey);
14
- return {
15
- client,
16
- auth: {
17
- session: undefined,
18
- user: undefined,
19
- metadata: undefined,
20
- state: { prev: null, curr: null }
21
- }
22
- };
23
- },
24
- });
12
+ class SupabaseService {
13
+ supaStoreOptions = inject(SUPA_STORE_OPTIONS);
14
+ client = createClient(this.supaStoreOptions?.supabaseUrl, this.supaStoreOptions?.supabaseKey);
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: SupabaseService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
16
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: SupabaseService, providedIn: 'root' });
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: SupabaseService, decorators: [{
19
+ type: Injectable,
20
+ args: [{
21
+ providedIn: 'root'
22
+ }]
23
+ }] });
25
24
 
26
25
  const withPostAuthOptions = () => signalStoreFeature({
27
26
  state: type()
28
- }, withMethods((store, { postAuthOptions } = inject(SUPA_STORE_OPTIONS)) => ({
27
+ }, withMethods((store, { postAuthOptions } = inject(SUPA_STORE_OPTIONS), { client } = inject(SupabaseService)) => ({
29
28
  _loader: async () => {
30
29
  const { useLoader: { table, rpc } } = postAuthOptions;
31
30
  if (table || rpc) {
@@ -33,11 +32,11 @@ const withPostAuthOptions = () => signalStoreFeature({
33
32
  if (!session)
34
33
  return;
35
34
  if (table) {
36
- const { data } = await store.client().from(table).select('*').eq('id', session?.user?.id).single();
35
+ const { data } = await client.from(table).select('*').eq('id', session?.user?.id).single();
37
36
  patchState(store, { auth: { ...store.auth(), metadata: data } });
38
37
  }
39
38
  else if (rpc) {
40
- const { data } = await store.client().rpc(rpc, { input: { user_id: session?.user?.id } });
39
+ const { data } = await client.rpc(rpc, { input: { user_id: session?.user?.id } });
41
40
  patchState(store, { auth: { ...store.auth(), metadata: data } });
42
41
  }
43
42
  else {
@@ -52,21 +51,27 @@ const withPostAuthOptions = () => signalStoreFeature({
52
51
  }
53
52
  }));
54
53
 
55
- const withSupaStoreCore = () => signalStoreFeature(
56
- // withDevtools('supaStore'),
57
- withState(() => inject(INITIAL_STATE)), withPostAuthOptions(), withMethods(store => ({
54
+ const withSupaStoreCore = () => signalStoreFeature(withDevtools('supaStore'), withState({
55
+ // client,
56
+ auth: {
57
+ session: undefined,
58
+ user: undefined,
59
+ metadata: undefined,
60
+ state: { prev: null, curr: null }
61
+ }
62
+ }), withPostAuthOptions(), withMethods((store, { client } = inject(SupabaseService)) => ({
58
63
  _initSession: async () => {
59
- const { data: { session }, error } = await store.client().auth.getSession();
64
+ const { data: { session }, error } = await client.auth.getSession();
60
65
  patchState(store, { auth: { ...store.auth(), session } });
61
66
  },
62
67
  _initUser: async () => {
63
- const { data: { user }, error } = await store.client().auth.getUser();
68
+ const { data: { user }, error } = await client.auth.getUser();
64
69
  patchState(store, { auth: { ...store.auth(), user } });
65
70
  }
66
71
  })), withHooks({
67
- onInit(store) {
72
+ onInit(store, { client } = inject(SupabaseService)) {
68
73
  /* Listen For Auth Atate Changes */
69
- store.client().auth.onAuthStateChange(state => patchState(store, { auth: { ...store.auth(), state: { prev: store.auth.state.curr(), curr: state } } }));
74
+ client.auth.onAuthStateChange(state => patchState(store, { auth: { ...store.auth(), state: { prev: store.auth.state.curr(), curr: state } } }));
70
75
  /* Init Supabase Session */
71
76
  store._initSession();
72
77
  /* Init Supabase User */
@@ -1 +1 @@
1
- {"version":3,"file":"outbuild-supa-store.mjs","sources":["../../../projects/ob-supa-store/src/lib/common/token/supabase-credentials.token.ts","../../../projects/ob-supa-store/src/lib/common/token/initial-state.token.ts","../../../projects/ob-supa-store/src/lib/common/features/post-auth-loader.feature.ts","../../../projects/ob-supa-store/src/lib/common/features/supa-store-core.feature.ts","../../../projects/ob-supa-store/src/lib/supa-store.store.ts","../../../projects/ob-supa-store/src/lib/supa-store.provider.ts","../../../projects/ob-supa-store/src/public-api.ts","../../../projects/ob-supa-store/src/outbuild-supa-store.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\"\r\nimport { SupaStoreOptions } from \"../type/supa-store.types\"\r\n\r\nexport const SUPA_STORE_OPTIONS = new InjectionToken<SupaStoreOptions>('SUPA_STORE_OPTIONS')\r\n","import { inject, InjectionToken } from \"@angular/core\"\r\nimport { SUPA_STORE_OPTIONS } from \"./supabase-credentials.token\"\r\nimport { createClient } from \"@supabase/supabase-js\"\r\nimport { SupaStoreState } from \"../type/supa-store.types\"\r\n\r\nexport const INITIAL_STATE = new InjectionToken<SupaStoreState>('SupaStoreState', {\r\n factory: () => {\r\n\r\n const { supabaseUrl, supabaseKey } = inject(SUPA_STORE_OPTIONS)\r\n const client = createClient(supabaseUrl, supabaseKey)\r\n\r\n return {\r\n client,\r\n auth: {\r\n session: undefined,\r\n user: undefined,\r\n metadata: undefined,\r\n state: { prev: null, curr: null }\r\n }\r\n }\r\n\r\n },\r\n})\r\n","import { inject } from '@angular/core'\r\nimport { Session } from '@supabase/supabase-js'\r\nimport { toObservable } from \"@angular/core/rxjs-interop\"\r\nimport { SupaStoreState } from '../type/supa-store.types'\r\nimport { SUPA_STORE_OPTIONS } from '../token/supabase-credentials.token'\r\nimport { filter, firstValueFrom, Observable } from 'rxjs'\r\nimport { patchState, signalStoreFeature, type, withHooks, withMethods } from '@ngrx/signals'\r\n\r\nexport const withPostAuthOptions = () => signalStoreFeature(\r\n\r\n {\r\n state: type<SupaStoreState>()\r\n },\r\n\r\n withMethods((store, { postAuthOptions } = inject(SUPA_STORE_OPTIONS)) => ({\r\n\r\n _loader: async () => {\r\n\r\n const { useLoader: { table, rpc }} = postAuthOptions\r\n\r\n if (table || rpc) {\r\n\r\n const session = await firstValueFrom(toObservable(store.auth.session).pipe(filter(res => res !== undefined)) as Observable<Session>)\r\n if (!session) return\r\n\r\n if (table) {\r\n const { data } = await store.client().from(table).select('*').eq('id', session?.user?.id).single()\r\n patchState(store, { auth: { ...store.auth(), metadata: data }})\r\n } else if (rpc) {\r\n const { data } = await store.client().rpc(rpc, { input: { user_id: session?.user?.id }})\r\n patchState(store, { auth: { ...store.auth(), metadata: data }})\r\n } else {\r\n patchState(store, { auth: { ...store.auth(), metadata: null}})\r\n }\r\n\r\n }\r\n },\r\n\r\n })),\r\n\r\n withHooks({\r\n\r\n onInit(store) {\r\n\r\n /* Auto Load Additional User Auth Data */\r\n store._loader()\r\n\r\n }\r\n\r\n })\r\n\r\n)\r\n","import { inject } from '@angular/core';\r\nimport { withDevtools } from '@angular-architects/ngrx-toolkit'\r\nimport { INITIAL_STATE } from '../token/initial-state.token'\r\nimport { SupaStoreState } from '../type/supa-store.types'\r\nimport { withPostAuthOptions } from '../features/post-auth-loader.feature'\r\nimport { patchState, signalStoreFeature, withHooks, withMethods, withState } from '@ngrx/signals'\r\n\r\nexport const withSupaStoreCore = () => signalStoreFeature(\r\n\r\n // withDevtools('supaStore'),\r\n withState<SupaStoreState>(() => inject(INITIAL_STATE)),\r\n withPostAuthOptions(),\r\n\r\n withMethods(store => ({\r\n\r\n _initSession: async () => {\r\n const { data: { session }, error} = await store.client().auth.getSession()\r\n patchState(store, { auth: { ...store.auth(), session }})\r\n },\r\n\r\n _initUser: async () => {\r\n const { data: { user }, error } = await store.client().auth.getUser()\r\n patchState(store, { auth: { ...store.auth(), user }})\r\n }\r\n\r\n })),\r\n\r\n withHooks({\r\n\r\n onInit(store) {\r\n\r\n /* Listen For Auth Atate Changes */\r\n store.client().auth.onAuthStateChange(state => patchState(store, { auth: { ...store.auth(), state: { prev: store.auth.state.curr(), curr: state } }}))\r\n\r\n /* Init Supabase Session */\r\n store._initSession()\r\n\r\n /* Init Supabase User */\r\n store._initUser()\r\n\r\n }\r\n\r\n })\r\n\r\n)\r\n","import { signalStore } from '@ngrx/signals'\r\nimport { withSupaStoreCore } from './common/features/supa-store-core.feature'\r\n\r\nexport const SupaStore = signalStore(\r\n withSupaStoreCore()\r\n)\r\n","import { EnvironmentProviders, makeEnvironmentProviders } from \"@angular/core\"\r\nimport { SupaStore } from \"./supa-store.store\"\r\nimport { SUPA_STORE_OPTIONS } from \"./common/token/supabase-credentials.token\"\r\nimport { SupaStoreOptions } from \"./common/type/supa-store.types\"\r\nimport { merge } from \"lodash-es\"\r\n\r\nconst defaultOptions: Partial<SupaStoreOptions> = {\r\n postAuthOptions: {\r\n useLoader: { rpc: null, table: null }\r\n }\r\n}\r\n\r\nexport const provideSupaStore = (opts: SupaStoreOptions): EnvironmentProviders => {\r\n\r\n const options = merge(defaultOptions, opts)\r\n\r\n return makeEnvironmentProviders([\r\n {\r\n provide: SUPA_STORE_OPTIONS,\r\n useValue: options\r\n },\r\n SupaStore\r\n ])\r\n}\r\n","/*\r\n * Public API Surface of ob-supa-store\r\n*/\r\n\r\nexport * from './lib/supa-store.store'\r\nexport * from './lib/supa-store.provider'\r\nexport * from './lib/common/features/supa-store-core.feature'\r\nexport * from './lib/common/type/supa-store.types'\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outbuild-supa-store.mjs","sources":["../../../projects/ob-supa-store/src/lib/common/token/supabase-credentials.token.ts","../../../projects/ob-supa-store/src/lib/common/services/supabase.service.ts","../../../projects/ob-supa-store/src/lib/common/features/post-auth-loader.feature.ts","../../../projects/ob-supa-store/src/lib/common/features/supa-store-core.feature.ts","../../../projects/ob-supa-store/src/lib/supa-store.store.ts","../../../projects/ob-supa-store/src/lib/supa-store.provider.ts","../../../projects/ob-supa-store/src/public-api.ts","../../../projects/ob-supa-store/src/outbuild-supa-store.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\"\r\nimport { SupaStoreOptions } from \"../type/supa-store.types\"\r\n\r\nexport const SUPA_STORE_OPTIONS = new InjectionToken<SupaStoreOptions>('SUPA_STORE_OPTIONS')\r\n","import { inject, Injectable } from '@angular/core';\r\nimport { SUPA_STORE_OPTIONS } from '../token/supabase-credentials.token'\r\nimport { createClient, SupabaseClient } from '@supabase/supabase-js'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SupabaseService {\r\n\r\n public supaStoreOptions = inject(SUPA_STORE_OPTIONS)\r\n public client: SupabaseClient = createClient(\r\n this.supaStoreOptions?.supabaseUrl,\r\n this.supaStoreOptions?.supabaseKey\r\n )\r\n\r\n}\r\n","import { inject } from '@angular/core'\r\nimport { Session } from '@supabase/supabase-js'\r\nimport { toObservable } from \"@angular/core/rxjs-interop\"\r\nimport { SupaStoreState } from '../type/supa-store.types'\r\nimport { SUPA_STORE_OPTIONS } from '../token/supabase-credentials.token'\r\nimport { filter, firstValueFrom, Observable } from 'rxjs'\r\nimport { patchState, signalStoreFeature, type, withHooks, withMethods } from '@ngrx/signals'\r\nimport { SupabaseService } from '../services/supabase.service'\r\n\r\nexport const withPostAuthOptions = () => signalStoreFeature(\r\n\r\n {\r\n state: type<SupaStoreState>()\r\n },\r\n\r\n withMethods((\r\n store,\r\n { postAuthOptions } = inject(SUPA_STORE_OPTIONS),\r\n { client } = inject(SupabaseService)\r\n ) => ({\r\n\r\n _loader: async () => {\r\n\r\n const { useLoader: { table, rpc }} = postAuthOptions\r\n\r\n if (table || rpc) {\r\n\r\n const session = await firstValueFrom(toObservable(store.auth.session).pipe(filter(res => res !== undefined)) as Observable<Session>)\r\n if (!session) return\r\n\r\n if (table) {\r\n const { data } = await client.from(table).select('*').eq('id', session?.user?.id).single()\r\n patchState(store, { auth: { ...store.auth(), metadata: data }})\r\n } else if (rpc) {\r\n const { data } = await client.rpc(rpc, { input: { user_id: session?.user?.id }})\r\n patchState(store, { auth: { ...store.auth(), metadata: data }})\r\n } else {\r\n patchState(store, { auth: { ...store.auth(), metadata: null}})\r\n }\r\n\r\n }\r\n },\r\n\r\n })),\r\n\r\n withHooks({\r\n\r\n onInit(store) {\r\n\r\n /* Auto Load Additional User Auth Data */\r\n store._loader()\r\n\r\n }\r\n\r\n })\r\n\r\n)\r\n","import { inject } from '@angular/core';\r\nimport { withDevtools } from '@angular-architects/ngrx-toolkit'\r\nimport { INITIAL_STATE } from '../token/initial-state.token'\r\nimport { SupaStoreState } from '../type/supa-store.types'\r\nimport { withPostAuthOptions } from '../features/post-auth-loader.feature'\r\nimport { patchState, signalStoreFeature, withHooks, withMethods, withState } from '@ngrx/signals'\r\nimport { SupabaseService } from '../services/supabase.service'\r\n\r\nexport const withSupaStoreCore = () => signalStoreFeature(\r\n\r\n withDevtools('supaStore'),\r\n withState<SupaStoreState>({\r\n // client,\r\n auth: {\r\n session: undefined,\r\n user: undefined,\r\n metadata: undefined,\r\n state: { prev: null, curr: null }\r\n }\r\n }),\r\n withPostAuthOptions(),\r\n\r\n withMethods((store, { client } = inject(SupabaseService)) => ({\r\n\r\n _initSession: async () => {\r\n const { data: { session }, error} = await client.auth.getSession()\r\n patchState(store, { auth: { ...store.auth(), session }})\r\n },\r\n\r\n _initUser: async () => {\r\n const { data: { user }, error } = await client.auth.getUser()\r\n patchState(store, { auth: { ...store.auth(), user }})\r\n }\r\n\r\n })),\r\n\r\n withHooks({\r\n\r\n onInit(store, {client} = inject(SupabaseService)) {\r\n\r\n /* Listen For Auth Atate Changes */\r\n client.auth.onAuthStateChange(state => patchState(store, { auth: { ...store.auth(), state: { prev: store.auth.state.curr(), curr: state } }}))\r\n\r\n /* Init Supabase Session */\r\n store._initSession()\r\n\r\n /* Init Supabase User */\r\n store._initUser()\r\n\r\n }\r\n\r\n })\r\n\r\n)\r\n","import { signalStore } from '@ngrx/signals'\r\nimport { withSupaStoreCore } from './common/features/supa-store-core.feature'\r\n\r\nexport const SupaStore = signalStore(\r\n withSupaStoreCore()\r\n)\r\n","import { EnvironmentProviders, makeEnvironmentProviders } from \"@angular/core\"\r\nimport { SupaStore } from \"./supa-store.store\"\r\nimport { SUPA_STORE_OPTIONS } from \"./common/token/supabase-credentials.token\"\r\nimport { SupaStoreOptions } from \"./common/type/supa-store.types\"\r\nimport { merge } from \"lodash-es\"\r\n\r\nconst defaultOptions: Partial<SupaStoreOptions> = {\r\n postAuthOptions: {\r\n useLoader: { rpc: null, table: null }\r\n }\r\n}\r\n\r\nexport const provideSupaStore = (opts: SupaStoreOptions): EnvironmentProviders => {\r\n\r\n const options = merge(defaultOptions, opts)\r\n\r\n return makeEnvironmentProviders([\r\n {\r\n provide: SUPA_STORE_OPTIONS,\r\n useValue: options\r\n },\r\n SupaStore\r\n ])\r\n}\r\n","/*\r\n * Public API Surface of ob-supa-store\r\n*/\r\n\r\nexport * from './lib/supa-store.store'\r\nexport * from './lib/supa-store.provider'\r\nexport * from './lib/common/features/supa-store-core.feature'\r\nexport * from './lib/common/type/supa-store.types'\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  export declare const withSupaStoreCore: () => import("@ngrx/signals").SignalStoreFeature<import("@ngrx/signals").EmptyFeatureResult, {
2
2
  state: {
3
- client: import("@supabase/supabase-js").SupabaseClient;
4
3
  auth: {
5
4
  session: import("@supabase/auth-js").Session | undefined | null;
6
5
  user: import("@supabase/auth-js").User | undefined | null;
@@ -0,0 +1,8 @@
1
+ import { SupabaseClient } from '@supabase/supabase-js';
2
+ import * as i0 from "@angular/core";
3
+ export declare class SupabaseService {
4
+ supaStoreOptions: import("@outbuild/supa-store").SupaStoreOptions;
5
+ client: SupabaseClient;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<SupabaseService, never>;
7
+ static ɵprov: i0.ɵɵInjectableDeclaration<SupabaseService>;
8
+ }
@@ -1,6 +1,5 @@
1
- import { AuthChangeEvent, Session, SupabaseClient, User } from "@supabase/supabase-js";
1
+ import { AuthChangeEvent, Session, User } from "@supabase/supabase-js";
2
2
  export type SupaStoreState = {
3
- client: SupabaseClient;
4
3
  auth: {
5
4
  session: Session | undefined | null;
6
5
  user: User | undefined | null;
@@ -1,5 +1,4 @@
1
1
  export declare const SupaStore: import("@angular/core").Type<{
2
- client: import("@ngrx/signals").DeepSignal<import("@supabase/supabase-js").SupabaseClient<any, "public", any>>;
3
2
  auth: import("@ngrx/signals").DeepSignal<{
4
3
  session: import("@supabase/auth-js").Session | undefined | null;
5
4
  user: import("@supabase/auth-js").User | undefined | null;
@@ -10,7 +9,6 @@ export declare const SupaStore: import("@angular/core").Type<{
10
9
  };
11
10
  }>;
12
11
  } & import("@ngrx/signals").StateSource<{
13
- client: import("@supabase/supabase-js").SupabaseClient;
14
12
  auth: {
15
13
  session: import("@supabase/auth-js").Session | undefined | null;
16
14
  user: import("@supabase/auth-js").User | undefined | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@outbuild/supa-store",
3
- "version": "0.0.27",
3
+ "version": "0.0.28",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.2.0",
6
6
  "@angular/core": "^18.2.0",