@outbuild/supa-store 0.0.30 → 0.0.31

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.
@@ -14,7 +14,7 @@ export const withSupaStoreCore = () => signalStoreFeature(withDevtools('supaStor
14
14
  }
15
15
  })), withHooks({
16
16
  onInit(store) {
17
- /* Listen For Auth Atate Changes */
17
+ /* Listen For Auth State Changes */
18
18
  store.client().auth.onAuthStateChange(state => patchState(store, { auth: { ...store.auth(), state: { prev: store.auth.state.curr(), curr: state } } }));
19
19
  /* Init Supabase Session */
20
20
  store._initSession();
@@ -22,4 +22,4 @@ export const withSupaStoreCore = () => signalStoreFeature(withDevtools('supaStor
22
22
  store._initUser();
23
23
  }
24
24
  }));
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwYS1zdG9yZS1jb3JlLmZlYXR1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYi1zdXBhLXN0b3JlL3NyYy9saWIvY29tbW9uL2ZlYXR1cmVzL3N1cGEtc3RvcmUtY29yZS5mZWF0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUU1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRWpHLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUV2RCxZQUFZLENBQUMsV0FBVyxDQUFDLEVBQ3pCLFNBQVMsQ0FBaUIsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQ3RELG1CQUFtQixFQUFFLEVBRXJCLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFcEIsWUFBWSxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3ZCLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUMsR0FBRyxNQUFNLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7UUFDMUUsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFDLENBQUMsQ0FBQTtJQUMxRCxDQUFDO0lBRUQsU0FBUyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3BCLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDckUsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxFQUFDLENBQUMsQ0FBQTtJQUN2RCxDQUFDO0NBRUYsQ0FBQyxDQUFDLEVBRUgsU0FBUyxDQUFDO0lBRVIsTUFBTSxDQUFDLEtBQUs7UUFFVixtQ0FBbUM7UUFDbkMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUE7UUFFdEosMkJBQTJCO1FBQzNCLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUVwQix3QkFBd0I7UUFDeEIsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFBO0lBRW5CLENBQUM7Q0FFRixDQUFDLENBRUgsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyB3aXRoRGV2dG9vbHMgfSBmcm9tICdAYW5ndWxhci1hcmNoaXRlY3RzL25ncngtdG9vbGtpdCdcclxuaW1wb3J0IHsgSU5JVElBTF9TVEFURSB9IGZyb20gJy4uL3Rva2VuL2luaXRpYWwtc3RhdGUudG9rZW4nXHJcbmltcG9ydCB7IFN1cGFTdG9yZVN0YXRlIH0gZnJvbSAnLi4vdHlwZS9zdXBhLXN0b3JlLnR5cGVzJ1xyXG5pbXBvcnQgeyB3aXRoUG9zdEF1dGhPcHRpb25zIH0gZnJvbSAnLi4vZmVhdHVyZXMvcG9zdC1hdXRoLWxvYWRlci5mZWF0dXJlJ1xyXG5pbXBvcnQgeyBwYXRjaFN0YXRlLCBzaWduYWxTdG9yZUZlYXR1cmUsIHdpdGhIb29rcywgd2l0aE1ldGhvZHMsIHdpdGhTdGF0ZSB9IGZyb20gJ0BuZ3J4L3NpZ25hbHMnXHJcblxyXG5leHBvcnQgY29uc3Qgd2l0aFN1cGFTdG9yZUNvcmUgPSAoKSA9PiBzaWduYWxTdG9yZUZlYXR1cmUoXHJcblxyXG4gIHdpdGhEZXZ0b29scygnc3VwYVN0b3JlJyksXHJcbiAgd2l0aFN0YXRlPFN1cGFTdG9yZVN0YXRlPigoKSA9PiBpbmplY3QoSU5JVElBTF9TVEFURSkpLFxyXG4gIHdpdGhQb3N0QXV0aE9wdGlvbnMoKSxcclxuXHJcbiAgd2l0aE1ldGhvZHMoc3RvcmUgPT4gKHtcclxuXHJcbiAgICBfaW5pdFNlc3Npb246IGFzeW5jICgpID0+IHtcclxuICAgICAgY29uc3QgeyBkYXRhOiB7IHNlc3Npb24gfSwgZXJyb3J9ID0gYXdhaXQgc3RvcmUuY2xpZW50KCkuYXV0aC5nZXRTZXNzaW9uKClcclxuICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBhdXRoOiB7IC4uLnN0b3JlLmF1dGgoKSwgc2Vzc2lvbiB9fSlcclxuICAgIH0sXHJcblxyXG4gICAgX2luaXRVc2VyOiBhc3luYyAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHsgZGF0YTogeyB1c2VyIH0sIGVycm9yIH0gPSBhd2FpdCBzdG9yZS5jbGllbnQoKS5hdXRoLmdldFVzZXIoKVxyXG4gICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IGF1dGg6IHsgLi4uc3RvcmUuYXV0aCgpLCB1c2VyIH19KVxyXG4gICAgfVxyXG5cclxuICB9KSksXHJcblxyXG4gIHdpdGhIb29rcyh7XHJcblxyXG4gICAgb25Jbml0KHN0b3JlKSB7XHJcblxyXG4gICAgICAvKiBMaXN0ZW4gRm9yIEF1dGggQXRhdGUgQ2hhbmdlcyAqL1xyXG4gICAgICBzdG9yZS5jbGllbnQoKS5hdXRoLm9uQXV0aFN0YXRlQ2hhbmdlKHN0YXRlID0+IHBhdGNoU3RhdGUoc3RvcmUsIHsgYXV0aDogeyAuLi5zdG9yZS5hdXRoKCksIHN0YXRlOiB7IHByZXY6IHN0b3JlLmF1dGguc3RhdGUuY3VycigpLCBjdXJyOiBzdGF0ZSB9IH19KSlcclxuXHJcbiAgICAgIC8qIEluaXQgU3VwYWJhc2UgU2Vzc2lvbiAqL1xyXG4gICAgICBzdG9yZS5faW5pdFNlc3Npb24oKVxyXG5cclxuICAgICAgLyogSW5pdCBTdXBhYmFzZSBVc2VyICovXHJcbiAgICAgIHN0b3JlLl9pbml0VXNlcigpXHJcblxyXG4gICAgfVxyXG5cclxuICB9KVxyXG5cclxuKVxyXG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwYS1zdG9yZS1jb3JlLmZlYXR1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYi1zdXBhLXN0b3JlL3NyYy9saWIvY29tbW9uL2ZlYXR1cmVzL3N1cGEtc3RvcmUtY29yZS5mZWF0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUU1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRWpHLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUV2RCxZQUFZLENBQUMsV0FBVyxDQUFDLEVBQ3pCLFNBQVMsQ0FBaUIsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQ3RELG1CQUFtQixFQUFFLEVBRXJCLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFcEIsWUFBWSxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3ZCLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUMsR0FBRyxNQUFNLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7UUFDMUUsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFDLENBQUMsQ0FBQTtJQUMxRCxDQUFDO0lBRUQsU0FBUyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3BCLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDckUsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxFQUFDLENBQUMsQ0FBQTtJQUN2RCxDQUFDO0NBRUYsQ0FBQyxDQUFDLEVBRUgsU0FBUyxDQUFDO0lBRVIsTUFBTSxDQUFDLEtBQUs7UUFFVixtQ0FBbUM7UUFDbkMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUE7UUFFckosMkJBQTJCO1FBQzNCLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUVwQix3QkFBd0I7UUFDeEIsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFBO0lBRW5CLENBQUM7Q0FFRixDQUFDLENBRUgsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyB3aXRoRGV2dG9vbHMgfSBmcm9tICdAYW5ndWxhci1hcmNoaXRlY3RzL25ncngtdG9vbGtpdCdcclxuaW1wb3J0IHsgSU5JVElBTF9TVEFURSB9IGZyb20gJy4uL3Rva2VuL2luaXRpYWwtc3RhdGUudG9rZW4nXHJcbmltcG9ydCB7IFN1cGFTdG9yZVN0YXRlIH0gZnJvbSAnLi4vdHlwZS9zdXBhLXN0b3JlLnR5cGVzJ1xyXG5pbXBvcnQgeyB3aXRoUG9zdEF1dGhPcHRpb25zIH0gZnJvbSAnLi4vZmVhdHVyZXMvcG9zdC1hdXRoLWxvYWRlci5mZWF0dXJlJ1xyXG5pbXBvcnQgeyBwYXRjaFN0YXRlLCBzaWduYWxTdG9yZUZlYXR1cmUsIHdpdGhIb29rcywgd2l0aE1ldGhvZHMsIHdpdGhTdGF0ZSB9IGZyb20gJ0BuZ3J4L3NpZ25hbHMnXHJcblxyXG5leHBvcnQgY29uc3Qgd2l0aFN1cGFTdG9yZUNvcmUgPSAoKSA9PiBzaWduYWxTdG9yZUZlYXR1cmUoXHJcblxyXG4gIHdpdGhEZXZ0b29scygnc3VwYVN0b3JlJyksXHJcbiAgd2l0aFN0YXRlPFN1cGFTdG9yZVN0YXRlPigoKSA9PiBpbmplY3QoSU5JVElBTF9TVEFURSkpLFxyXG4gIHdpdGhQb3N0QXV0aE9wdGlvbnMoKSxcclxuXHJcbiAgd2l0aE1ldGhvZHMoc3RvcmUgPT4gKHtcclxuXHJcbiAgICBfaW5pdFNlc3Npb246IGFzeW5jICgpID0+IHtcclxuICAgICAgY29uc3QgeyBkYXRhOiB7IHNlc3Npb24gfSwgZXJyb3J9ID0gYXdhaXQgc3RvcmUuY2xpZW50KCkuYXV0aC5nZXRTZXNzaW9uKClcclxuICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBhdXRoOiB7IC4uLnN0b3JlLmF1dGgoKSwgc2Vzc2lvbiB9fSlcclxuICAgIH0sXHJcblxyXG4gICAgX2luaXRVc2VyOiBhc3luYyAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHsgZGF0YTogeyB1c2VyIH0sIGVycm9yIH0gPSBhd2FpdCBzdG9yZS5jbGllbnQoKS5hdXRoLmdldFVzZXIoKVxyXG4gICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IGF1dGg6IHsgLi4uc3RvcmUuYXV0aCgpLCB1c2VyIH19KVxyXG4gICAgfVxyXG5cclxuICB9KSksXHJcblxyXG4gIHdpdGhIb29rcyh7XHJcblxyXG4gICAgb25Jbml0KHN0b3JlKSB7XHJcblxyXG4gICAgICAvKiBMaXN0ZW4gRm9yIEF1dGggU3RhdGUgQ2hhbmdlcyAqL1xyXG4gICAgICBzdG9yZS5jbGllbnQoKS5hdXRoLm9uQXV0aFN0YXRlQ2hhbmdlKHN0YXRlID0+IHBhdGNoU3RhdGUoc3RvcmUsIHsgYXV0aDogeyAuLi5zdG9yZS5hdXRoKCksIHN0YXRlOiB7IHByZXY6IHN0b3JlLmF1dGguc3RhdGUuY3VycigpLCBjdXJyOiBzdGF0ZSB9fX0pKVxyXG5cclxuICAgICAgLyogSW5pdCBTdXBhYmFzZSBTZXNzaW9uICovXHJcbiAgICAgIHN0b3JlLl9pbml0U2Vzc2lvbigpXHJcblxyXG4gICAgICAvKiBJbml0IFN1cGFiYXNlIFVzZXIgKi9cclxuICAgICAgc3RvcmUuX2luaXRVc2VyKClcclxuXHJcbiAgICB9XHJcblxyXG4gIH0pXHJcblxyXG4pXHJcbiJdfQ==
@@ -3,8 +3,8 @@ import { SUPA_STORE_OPTIONS } from "./supabase-credentials.token";
3
3
  import { createClient } from "@supabase/supabase-js";
4
4
  export const INITIAL_STATE = new InjectionToken('SupaStoreState', {
5
5
  factory: () => {
6
- const { supabaseUrl, supabaseKey } = inject(SUPA_STORE_OPTIONS);
7
- const client = createClient(supabaseUrl, supabaseKey);
6
+ const { createClient: { supabaseUrl, supabaseKey, options } } = inject(SUPA_STORE_OPTIONS);
7
+ const client = createClient(supabaseUrl, supabaseKey, options);
8
8
  return {
9
9
  client,
10
10
  auth: {
@@ -14,6 +14,6 @@ export const INITIAL_STATE = new InjectionToken('SupaStoreState', {
14
14
  state: { prev: null, curr: null }
15
15
  }
16
16
  };
17
- },
17
+ }
18
18
  });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbC1zdGF0ZS50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29iLXN1cGEtc3RvcmUvc3JjL2xpYi9jb21tb24vdG9rZW4vaW5pdGlhbC1zdGF0ZS50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFHcEQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUFpQixnQkFBZ0IsRUFBRTtJQUNoRixPQUFPLEVBQUUsR0FBRyxFQUFFO1FBRVosTUFBTSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUMvRCxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFBO1FBRXJELE9BQU87WUFDTCxNQUFNO1lBQ04sSUFBSSxFQUFFO2dCQUNKLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixJQUFJLEVBQUUsU0FBUztnQkFDZixRQUFRLEVBQUUsU0FBUztnQkFDbkIsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO2FBQ2xDO1NBQ0YsQ0FBQTtJQUVILENBQUM7Q0FDRixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGlvblRva2VuIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxyXG5pbXBvcnQgeyBTVVBBX1NUT1JFX09QVElPTlMgfSBmcm9tIFwiLi9zdXBhYmFzZS1jcmVkZW50aWFscy50b2tlblwiXHJcbmltcG9ydCB7IGNyZWF0ZUNsaWVudCB9IGZyb20gXCJAc3VwYWJhc2Uvc3VwYWJhc2UtanNcIlxyXG5pbXBvcnQgeyBTdXBhU3RvcmVTdGF0ZSB9IGZyb20gXCIuLi90eXBlL3N1cGEtc3RvcmUudHlwZXNcIlxyXG5cclxuZXhwb3J0IGNvbnN0IElOSVRJQUxfU1RBVEUgPSBuZXcgSW5qZWN0aW9uVG9rZW48U3VwYVN0b3JlU3RhdGU+KCdTdXBhU3RvcmVTdGF0ZScsIHtcclxuICBmYWN0b3J5OiAoKSA9PiB7XHJcblxyXG4gICAgY29uc3QgeyBzdXBhYmFzZVVybCwgc3VwYWJhc2VLZXkgfSA9IGluamVjdChTVVBBX1NUT1JFX09QVElPTlMpXHJcbiAgICBjb25zdCBjbGllbnQgPSBjcmVhdGVDbGllbnQoc3VwYWJhc2VVcmwsIHN1cGFiYXNlS2V5KVxyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGNsaWVudCxcclxuICAgICAgYXV0aDoge1xyXG4gICAgICAgIHNlc3Npb246IHVuZGVmaW5lZCxcclxuICAgICAgICB1c2VyOiB1bmRlZmluZWQsXHJcbiAgICAgICAgbWV0YWRhdGE6IHVuZGVmaW5lZCxcclxuICAgICAgICBzdGF0ZTogeyBwcmV2OiBudWxsLCBjdXJyOiBudWxsIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9LFxyXG59KVxyXG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbC1zdGF0ZS50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29iLXN1cGEtc3RvcmUvc3JjL2xpYi9jb21tb24vdG9rZW4vaW5pdGlhbC1zdGF0ZS50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFHcEQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUFpQixnQkFBZ0IsRUFBRTtJQUNoRixPQUFPLEVBQUUsR0FBRyxFQUFFO1FBRVosTUFBTSxFQUFFLFlBQVksRUFBRSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEVBQUMsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUN6RixNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUU5RCxPQUFPO1lBQ0wsTUFBTTtZQUNOLElBQUksRUFBRTtnQkFDSixPQUFPLEVBQUUsU0FBUztnQkFDbEIsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRTthQUNsQztTQUNGLENBQUE7SUFFSCxDQUFDO0NBQ0YsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcclxuaW1wb3J0IHsgU1VQQV9TVE9SRV9PUFRJT05TIH0gZnJvbSBcIi4vc3VwYWJhc2UtY3JlZGVudGlhbHMudG9rZW5cIlxyXG5pbXBvcnQgeyBjcmVhdGVDbGllbnQgfSBmcm9tIFwiQHN1cGFiYXNlL3N1cGFiYXNlLWpzXCJcclxuaW1wb3J0IHsgU3VwYVN0b3JlU3RhdGUgfSBmcm9tIFwiLi4vdHlwZS9zdXBhLXN0b3JlLnR5cGVzXCJcclxuXHJcbmV4cG9ydCBjb25zdCBJTklUSUFMX1NUQVRFID0gbmV3IEluamVjdGlvblRva2VuPFN1cGFTdG9yZVN0YXRlPignU3VwYVN0b3JlU3RhdGUnLCB7XHJcbiAgZmFjdG9yeTogKCkgPT4ge1xyXG5cclxuICAgIGNvbnN0IHsgY3JlYXRlQ2xpZW50OiB7IHN1cGFiYXNlVXJsLCBzdXBhYmFzZUtleSwgb3B0aW9ucyB9fSA9IGluamVjdChTVVBBX1NUT1JFX09QVElPTlMpXHJcbiAgICBjb25zdCBjbGllbnQgPSBjcmVhdGVDbGllbnQoc3VwYWJhc2VVcmwsIHN1cGFiYXNlS2V5LCBvcHRpb25zKVxyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGNsaWVudCxcclxuICAgICAgYXV0aDoge1xyXG4gICAgICAgIHNlc3Npb246IHVuZGVmaW5lZCxcclxuICAgICAgICB1c2VyOiB1bmRlZmluZWQsXHJcbiAgICAgICAgbWV0YWRhdGE6IHVuZGVmaW5lZCxcclxuICAgICAgICBzdGF0ZTogeyBwcmV2OiBudWxsLCBjdXJyOiBudWxsIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcbn0pXHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwYS1zdG9yZS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29iLXN1cGEtc3RvcmUvc3JjL2xpYi9jb21tb24vdHlwZS9zdXBhLXN0b3JlLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdXRoQ2hhbmdlRXZlbnQsIFNlc3Npb24sIFN1cGFiYXNlQ2xpZW50LCBVc2VyIH0gZnJvbSBcIkBzdXBhYmFzZS9zdXBhYmFzZS1qc1wiXHJcblxyXG5leHBvcnQgdHlwZSBTdXBhU3RvcmVTdGF0ZSA9IHtcclxuICBjbGllbnQ6IFN1cGFiYXNlQ2xpZW50XHJcbiAgYXV0aDoge1xyXG4gICAgc2Vzc2lvbjogU2Vzc2lvbiB8IHVuZGVmaW5lZCB8IG51bGxcclxuICAgIHVzZXI6IFVzZXIgfCB1bmRlZmluZWQgfCBudWxsXHJcbiAgICBtZXRhZGF0YTogdW5rbm93biB8IHVuZGVmaW5lZCB8IG51bGxcclxuICAgIHN0YXRlOiB7XHJcbiAgICAgIHByZXY6IEF1dGhDaGFuZ2VFdmVudCB8IG51bGwsXHJcbiAgICAgIGN1cnI6IEF1dGhDaGFuZ2VFdmVudCB8IG51bGwsXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBTdXBhU3RvcmVPcHRpb25zID0ge1xyXG4gIHN1cGFiYXNlVXJsOiBzdHJpbmcsXHJcbiAgc3VwYWJhc2VLZXk6IHN0cmluZyxcclxuICBwb3N0QXV0aE9wdGlvbnM6IHtcclxuICAgIHVzZUxvYWRlcjogeyB0YWJsZTogc3RyaW5nOyBycGM/OiBuZXZlciB9IHwgeyBycGM6IHN0cmluZzsgdGFibGU/OiBuZXZlciB9IHwgeyBycGM6IG51bGw7IHRhYmxlPzogbnVsbCB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwYS1zdG9yZS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29iLXN1cGEtc3RvcmUvc3JjL2xpYi9jb21tb24vdHlwZS9zdXBhLXN0b3JlLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdXRoQ2hhbmdlRXZlbnQsIFNlc3Npb24sIFN1cGFiYXNlQ2xpZW50LCBTdXBhYmFzZUNsaWVudE9wdGlvbnMsIFVzZXIgfSBmcm9tIFwiQHN1cGFiYXNlL3N1cGFiYXNlLWpzXCJcclxuXHJcbmV4cG9ydCB0eXBlIFN1cGFTdG9yZVN0YXRlID0ge1xyXG4gIGNsaWVudDogU3VwYWJhc2VDbGllbnRcclxuICBhdXRoOiB7XHJcbiAgICBzZXNzaW9uOiBTZXNzaW9uIHwgdW5kZWZpbmVkIHwgbnVsbFxyXG4gICAgdXNlcjogVXNlciB8IHVuZGVmaW5lZCB8IG51bGxcclxuICAgIG1ldGFkYXRhOiB1bmtub3duIHwgdW5kZWZpbmVkIHwgbnVsbFxyXG4gICAgc3RhdGU6IHtcclxuICAgICAgcHJldjogQXV0aENoYW5nZUV2ZW50IHwgbnVsbCxcclxuICAgICAgY3VycjogQXV0aENoYW5nZUV2ZW50IHwgbnVsbCxcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFN1cGFTdG9yZU9wdGlvbnMgPSB7XHJcbiAgY3JlYXRlQ2xpZW50OiB7XHJcbiAgICBzdXBhYmFzZVVybDogc3RyaW5nLFxyXG4gICAgc3VwYWJhc2VLZXk6IHN0cmluZyxcclxuICAgIG9wdGlvbnM/OiBTdXBhYmFzZUNsaWVudE9wdGlvbnM8YW55PlxyXG4gIH1cclxuICBwb3N0QXV0aE9wdGlvbnM6IHtcclxuICAgIHVzZUxvYWRlcjogeyB0YWJsZTogc3RyaW5nOyBycGM/OiBuZXZlciB9IHwgeyBycGM6IHN0cmluZzsgdGFibGU/OiBuZXZlciB9IHwgeyBycGM6IG51bGw7IHRhYmxlPzogbnVsbCB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -10,8 +10,8 @@ const SUPA_STORE_OPTIONS = new InjectionToken('SUPA_STORE_OPTIONS');
10
10
 
11
11
  const INITIAL_STATE = new InjectionToken('SupaStoreState', {
12
12
  factory: () => {
13
- const { supabaseUrl, supabaseKey } = inject(SUPA_STORE_OPTIONS);
14
- const client = createClient(supabaseUrl, supabaseKey);
13
+ const { createClient: { supabaseUrl, supabaseKey, options } } = inject(SUPA_STORE_OPTIONS);
14
+ const client = createClient(supabaseUrl, supabaseKey, options);
15
15
  return {
16
16
  client,
17
17
  auth: {
@@ -21,7 +21,7 @@ const INITIAL_STATE = new InjectionToken('SupaStoreState', {
21
21
  state: { prev: null, curr: null }
22
22
  }
23
23
  };
24
- },
24
+ }
25
25
  });
26
26
 
27
27
  const withPostAuthOptions = () => signalStoreFeature({
@@ -64,7 +64,7 @@ const withSupaStoreCore = () => signalStoreFeature(withDevtools('supaStore'), wi
64
64
  }
65
65
  })), withHooks({
66
66
  onInit(store) {
67
- /* Listen For Auth Atate Changes */
67
+ /* Listen For Auth State Changes */
68
68
  store.client().auth.onAuthStateChange(state => patchState(store, { auth: { ...store.auth(), state: { prev: store.auth.state.curr(), curr: state } } }));
69
69
  /* Init Supabase Session */
70
70
  store._initSession();
@@ -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/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 { createClient: { supabaseUrl, supabaseKey, options }} = inject(SUPA_STORE_OPTIONS)\r\n const client = createClient(supabaseUrl, supabaseKey, options)\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 State 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,4 +1,4 @@
1
- import { AuthChangeEvent, Session, SupabaseClient, User } from "@supabase/supabase-js";
1
+ import { AuthChangeEvent, Session, SupabaseClient, SupabaseClientOptions, User } from "@supabase/supabase-js";
2
2
  export type SupaStoreState = {
3
3
  client: SupabaseClient;
4
4
  auth: {
@@ -12,8 +12,11 @@ export type SupaStoreState = {
12
12
  };
13
13
  };
14
14
  export type SupaStoreOptions = {
15
- supabaseUrl: string;
16
- supabaseKey: string;
15
+ createClient: {
16
+ supabaseUrl: string;
17
+ supabaseKey: string;
18
+ options?: SupabaseClientOptions<any>;
19
+ };
17
20
  postAuthOptions: {
18
21
  useLoader: {
19
22
  table: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@outbuild/supa-store",
3
- "version": "0.0.30",
3
+ "version": "0.0.31",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.2.0",
6
6
  "@angular/core": "^18.2.0",