@outbuild/supa-store 0.0.7 → 0.0.9

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.
@@ -8,25 +8,20 @@ const INITIAL_STATE = new InjectionToken('SupaStoreState', {
8
8
  return {
9
9
  client: createClient(supabaseUrl, supabaseKey),
10
10
  session: undefined,
11
- authState: null
11
+ authState: { old: null, new: null },
12
12
  };
13
13
  },
14
14
  });
15
- function withSupaStore() {
16
- return signalStoreFeature(withState(() => inject(INITIAL_STATE)), withMethods((store) => ({
17
- initSession: async () => {
18
- console.log('initSession');
19
- console.log('store.client()', store.client());
20
- const { data: { session } } = await store.client().auth.getSession();
21
- console.log('session', session);
22
- patchState(store, { session: session });
23
- }
24
- })), withHooks({
25
- onInit(store) {
26
- store.initSession();
27
- store.client().auth.onAuthStateChange(res => patchState(store, { authState: res }));
28
- }
29
- }));
30
- }
15
+ export const withSupaStore = () => signalStoreFeature(withState(() => inject(INITIAL_STATE)), withMethods((store) => ({
16
+ initSession: async () => {
17
+ const { data: { session } } = await store.client().auth.getSession();
18
+ patchState(store, { session: session });
19
+ }
20
+ })), withHooks({
21
+ onInit(store) {
22
+ store.initSession();
23
+ store.client().auth.onAuthStateChange(state => patchState(store, { authState: { old: store.authState().new, new: state } }));
24
+ }
25
+ }));
31
26
  export const SupaStore = signalStore(withSupaStore());
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwYS1zdG9yZS5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL29iLXN1cGEtc3RvcmUvc3JjL2xpYi9zdXBhLXN0b3JlLnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sRUFBNEMsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDOUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFRaEYsTUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQWlCLGdCQUFnQixFQUFFO0lBQ3pFLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDWixNQUFNLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO1FBQ2pFLE9BQU87WUFDTCxNQUFNLEVBQUUsWUFBWSxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7WUFDOUMsT0FBTyxFQUFFLFNBQVM7WUFDbEIsU0FBUyxFQUFFLElBQUk7U0FDaEIsQ0FBQTtJQUNILENBQUM7Q0FDRixDQUFDLENBQUM7QUFFSCxTQUFTLGFBQWE7SUFFcEIsT0FBTyxrQkFBa0IsQ0FFdkIsU0FBUyxDQUFpQixHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsRUFFdEQsV0FBVyxDQUFDLENBQUUsS0FBSyxFQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3hCLFdBQVcsRUFBRSxLQUFLLElBQUksRUFBRTtZQUN0QixPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFBO1lBQzFCLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUE7WUFDN0MsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFDLEdBQUcsTUFBTSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBO1lBQ25FLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1lBQy9CLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBa0IsRUFBRSxDQUFDLENBQUE7UUFDcEQsQ0FBQztLQUNGLENBQUMsQ0FBQyxFQUVILFNBQVMsQ0FBQztRQUNSLE1BQU0sQ0FBQyxLQUFLO1lBQ1YsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFBO1lBQ25CLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUNyRixDQUFDO0tBQ0YsQ0FBQyxDQUVILENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FDbEMsYUFBYSxFQUFFLENBQ2hCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHBhdGNoU3RhdGUsIHNpZ25hbFN0b3JlLCBzaWduYWxTdG9yZUZlYXR1cmUsIHdpdGhIb29rcywgd2l0aE1ldGhvZHMsIHdpdGhTdGF0ZSB9IGZyb20gJ0BuZ3J4L3NpZ25hbHMnO1xyXG5pbXBvcnQgeyBBdXRoQ2hhbmdlRXZlbnQsIFNlc3Npb24sIFN1cGFiYXNlQ2xpZW50LCBjcmVhdGVDbGllbnQgfSBmcm9tICdAc3VwYWJhc2Uvc3VwYWJhc2UtanMnXHJcbmltcG9ydCB7IFNVUEFCQVNFX0NSRURFTlRJQUxTIH0gZnJvbSAnLi9jb21tb24vdG9rZW4vc3VwYWJhc2UtY3JlZGVudGlhbHMudG9rZW4nXHJcblxyXG5leHBvcnQgdHlwZSBTdXBhU3RvcmVTdGF0ZSA9IHtcclxuICBjbGllbnQ6IFN1cGFiYXNlQ2xpZW50XHJcbiAgc2Vzc2lvbjogU2Vzc2lvbiB8IHVuZGVmaW5lZCB8IG51bGxcclxuICBhdXRoU3RhdGU6IEF1dGhDaGFuZ2VFdmVudCB8IG51bGxcclxufVxyXG5cclxuY29uc3QgSU5JVElBTF9TVEFURSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTdXBhU3RvcmVTdGF0ZT4oJ1N1cGFTdG9yZVN0YXRlJywge1xyXG4gIGZhY3Rvcnk6ICgpID0+IHtcclxuICAgIGNvbnN0IHsgc3VwYWJhc2VVcmwsIHN1cGFiYXNlS2V5IH0gPSBpbmplY3QoU1VQQUJBU0VfQ1JFREVOVElBTFMpXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBjbGllbnQ6IGNyZWF0ZUNsaWVudChzdXBhYmFzZVVybCwgc3VwYWJhc2VLZXkpLFxyXG4gICAgICBzZXNzaW9uOiB1bmRlZmluZWQsXHJcbiAgICAgIGF1dGhTdGF0ZTogbnVsbFxyXG4gICAgfVxyXG4gIH0sXHJcbn0pO1xyXG5cclxuZnVuY3Rpb24gd2l0aFN1cGFTdG9yZSgpIHtcclxuXHJcbiAgcmV0dXJuIHNpZ25hbFN0b3JlRmVhdHVyZShcclxuXHJcbiAgICB3aXRoU3RhdGU8U3VwYVN0b3JlU3RhdGU+KCgpID0+IGluamVjdChJTklUSUFMX1NUQVRFKSksXHJcblxyXG4gICAgd2l0aE1ldGhvZHMoKCBzdG9yZSApID0+ICh7XHJcbiAgICAgIGluaXRTZXNzaW9uOiBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ2luaXRTZXNzaW9uJylcclxuICAgICAgICBjb25zb2xlLmxvZygnc3RvcmUuY2xpZW50KCknLCBzdG9yZS5jbGllbnQoKSlcclxuICAgICAgICBjb25zdCB7IGRhdGE6IHsgc2Vzc2lvbiB9fSA9IGF3YWl0IHN0b3JlLmNsaWVudCgpLmF1dGguZ2V0U2Vzc2lvbigpXHJcbiAgICAgICAgY29uc29sZS5sb2coJ3Nlc3Npb24nLCBzZXNzaW9uKVxyXG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgc2Vzc2lvbjogc2Vzc2lvbiBhcyBTZXNzaW9uIH0pXHJcbiAgICAgIH1cclxuICAgIH0pKSxcclxuXHJcbiAgICB3aXRoSG9va3Moe1xyXG4gICAgICBvbkluaXQoc3RvcmUpIHtcclxuICAgICAgICBzdG9yZS5pbml0U2Vzc2lvbigpXHJcbiAgICAgICAgc3RvcmUuY2xpZW50KCkuYXV0aC5vbkF1dGhTdGF0ZUNoYW5nZShyZXMgPT4gcGF0Y2hTdGF0ZShzdG9yZSwgeyBhdXRoU3RhdGU6IHJlcyB9KSlcclxuICAgICAgfVxyXG4gICAgfSlcclxuXHJcbiAgKVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgU3VwYVN0b3JlID0gc2lnbmFsU3RvcmUoXHJcbiAgd2l0aFN1cGFTdG9yZSgpXHJcbilcclxuIl19
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwYS1zdG9yZS5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL29iLXN1cGEtc3RvcmUvc3JjL2xpYi9zdXBhLXN0b3JlLnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sRUFBNEMsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDOUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFXaEYsTUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQWlCLGdCQUFnQixFQUFFO0lBQ3pFLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDWixNQUFNLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO1FBQ2pFLE9BQU87WUFDTCxNQUFNLEVBQUUsWUFBWSxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7WUFDOUMsT0FBTyxFQUFFLFNBQVM7WUFDbEIsU0FBUyxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFO1NBQ3BDLENBQUE7SUFDSCxDQUFDO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUVuRCxTQUFTLENBQWtCLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUV2RCxXQUFXLENBQUMsQ0FBRSxLQUFLLEVBQUcsRUFBRSxDQUFDLENBQUM7SUFFeEIsV0FBVyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3RCLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBQyxHQUFHLE1BQU0sS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUNuRSxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQWtCLEVBQUUsQ0FBQyxDQUFBO0lBQ3BELENBQUM7Q0FFRixDQUFDLENBQUMsRUFFSCxTQUFTLENBQUM7SUFDUixNQUFNLENBQUMsS0FBSztRQUNWLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUNuQixLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQTtJQUM3SCxDQUFDO0NBQ0YsQ0FBQyxDQUVILENBQUE7QUFHRCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUNsQyxhQUFhLEVBQUUsQ0FDaEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgcGF0Y2hTdGF0ZSwgc2lnbmFsU3RvcmUsIHNpZ25hbFN0b3JlRmVhdHVyZSwgd2l0aEhvb2tzLCB3aXRoTWV0aG9kcywgd2l0aFN0YXRlIH0gZnJvbSAnQG5ncngvc2lnbmFscyc7XHJcbmltcG9ydCB7IEF1dGhDaGFuZ2VFdmVudCwgU2Vzc2lvbiwgU3VwYWJhc2VDbGllbnQsIGNyZWF0ZUNsaWVudCB9IGZyb20gJ0BzdXBhYmFzZS9zdXBhYmFzZS1qcydcclxuaW1wb3J0IHsgU1VQQUJBU0VfQ1JFREVOVElBTFMgfSBmcm9tICcuL2NvbW1vbi90b2tlbi9zdXBhYmFzZS1jcmVkZW50aWFscy50b2tlbidcclxuXHJcbmV4cG9ydCB0eXBlIFN1cGFTdG9yZVN0YXRlID0ge1xyXG4gIGNsaWVudDogU3VwYWJhc2VDbGllbnRcclxuICBzZXNzaW9uOiBTZXNzaW9uIHwgdW5kZWZpbmVkIHwgbnVsbFxyXG4gIGF1dGhTdGF0ZToge1xyXG4gICAgb2xkOiBBdXRoQ2hhbmdlRXZlbnQgfCBudWxsLFxyXG4gICAgbmV3OiBBdXRoQ2hhbmdlRXZlbnQgfCBudWxsLFxyXG4gIH1cclxufVxyXG5cclxuY29uc3QgSU5JVElBTF9TVEFURSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTdXBhU3RvcmVTdGF0ZT4oJ1N1cGFTdG9yZVN0YXRlJywge1xyXG4gIGZhY3Rvcnk6ICgpID0+IHtcclxuICAgIGNvbnN0IHsgc3VwYWJhc2VVcmwsIHN1cGFiYXNlS2V5IH0gPSBpbmplY3QoU1VQQUJBU0VfQ1JFREVOVElBTFMpXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBjbGllbnQ6IGNyZWF0ZUNsaWVudChzdXBhYmFzZVVybCwgc3VwYWJhc2VLZXkpLFxyXG4gICAgICBzZXNzaW9uOiB1bmRlZmluZWQsXHJcbiAgICAgIGF1dGhTdGF0ZTogeyBvbGQ6IG51bGwsIG5ldzogbnVsbCB9LFxyXG4gICAgfVxyXG4gIH0sXHJcbn0pO1xyXG5cclxuZXhwb3J0IGNvbnN0IHdpdGhTdXBhU3RvcmUgPSAoKSA9PiBzaWduYWxTdG9yZUZlYXR1cmUoXHJcblxyXG4gIHdpdGhTdGF0ZTwgU3VwYVN0b3JlU3RhdGU+KCgpID0+IGluamVjdChJTklUSUFMX1NUQVRFKSksXHJcblxyXG4gIHdpdGhNZXRob2RzKCggc3RvcmUgKSA9PiAoe1xyXG5cclxuICAgIGluaXRTZXNzaW9uOiBhc3luYyAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHsgZGF0YTogeyBzZXNzaW9uIH19ID0gYXdhaXQgc3RvcmUuY2xpZW50KCkuYXV0aC5nZXRTZXNzaW9uKClcclxuICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBzZXNzaW9uOiBzZXNzaW9uIGFzIFNlc3Npb24gfSlcclxuICAgIH1cclxuXHJcbiAgfSkpLFxyXG5cclxuICB3aXRoSG9va3Moe1xyXG4gICAgb25Jbml0KHN0b3JlKSB7XHJcbiAgICAgIHN0b3JlLmluaXRTZXNzaW9uKClcclxuICAgICAgc3RvcmUuY2xpZW50KCkuYXV0aC5vbkF1dGhTdGF0ZUNoYW5nZShzdGF0ZSA9PiBwYXRjaFN0YXRlKHN0b3JlLCB7IGF1dGhTdGF0ZTogeyBvbGQ6IHN0b3JlLmF1dGhTdGF0ZSgpLm5ldywgbmV3OiBzdGF0ZSB9fSkpXHJcbiAgICB9XHJcbiAgfSlcclxuXHJcbilcclxuXHJcblxyXG5leHBvcnQgY29uc3QgU3VwYVN0b3JlID0gc2lnbmFsU3RvcmUoXHJcbiAgd2l0aFN1cGFTdG9yZSgpXHJcbilcclxuIl19
@@ -10,26 +10,21 @@ const INITIAL_STATE = new InjectionToken('SupaStoreState', {
10
10
  return {
11
11
  client: createClient(supabaseUrl, supabaseKey),
12
12
  session: undefined,
13
- authState: null
13
+ authState: { old: null, new: null },
14
14
  };
15
15
  },
16
16
  });
17
- function withSupaStore() {
18
- return signalStoreFeature(withState(() => inject(INITIAL_STATE)), withMethods((store) => ({
19
- initSession: async () => {
20
- console.log('initSession');
21
- console.log('store.client()', store.client());
22
- const { data: { session } } = await store.client().auth.getSession();
23
- console.log('session', session);
24
- patchState(store, { session: session });
25
- }
26
- })), withHooks({
27
- onInit(store) {
28
- store.initSession();
29
- store.client().auth.onAuthStateChange(res => patchState(store, { authState: res }));
30
- }
31
- }));
32
- }
17
+ const withSupaStore = () => signalStoreFeature(withState(() => inject(INITIAL_STATE)), withMethods((store) => ({
18
+ initSession: async () => {
19
+ const { data: { session } } = await store.client().auth.getSession();
20
+ patchState(store, { session: session });
21
+ }
22
+ })), withHooks({
23
+ onInit(store) {
24
+ store.initSession();
25
+ store.client().auth.onAuthStateChange(state => patchState(store, { authState: { old: store.authState().new, new: state } }));
26
+ }
27
+ }));
33
28
  const SupaStore = signalStore(withSupaStore());
34
29
 
35
30
  const provideSupaStore = (supabaseUrl, supabaseKey) => makeEnvironmentProviders([
@@ -48,5 +43,5 @@ const provideSupaStore = (supabaseUrl, supabaseKey) => makeEnvironmentProviders(
48
43
  * Generated bundle index. Do not edit.
49
44
  */
50
45
 
51
- export { SupaStore, provideSupaStore };
46
+ export { SupaStore, provideSupaStore, withSupaStore };
52
47
  //# sourceMappingURL=outbuild-supa-store.mjs.map
@@ -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/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\n\r\nexport const SUPABASE_CREDENTIALS = new InjectionToken<{\r\n supabaseUrl: string,\r\n supabaseKey: string\r\n}>('SUPABASE_CREDENTIALS')\r\n","import { inject, InjectionToken } from '@angular/core';\r\nimport { patchState, signalStore, signalStoreFeature, withHooks, withMethods, withState } from '@ngrx/signals';\r\nimport { AuthChangeEvent, Session, SupabaseClient, createClient } from '@supabase/supabase-js'\r\nimport { SUPABASE_CREDENTIALS } from './common/token/supabase-credentials.token'\r\n\r\nexport type SupaStoreState = {\r\n client: SupabaseClient\r\n session: Session | undefined | null\r\n authState: AuthChangeEvent | null\r\n}\r\n\r\nconst INITIAL_STATE = new InjectionToken<SupaStoreState>('SupaStoreState', {\r\n factory: () => {\r\n const { supabaseUrl, supabaseKey } = inject(SUPABASE_CREDENTIALS)\r\n return {\r\n client: createClient(supabaseUrl, supabaseKey),\r\n session: undefined,\r\n authState: null\r\n }\r\n },\r\n});\r\n\r\nfunction withSupaStore() {\r\n\r\n return signalStoreFeature(\r\n\r\n withState<SupaStoreState>(() => inject(INITIAL_STATE)),\r\n\r\n withMethods(( store ) => ({\r\n initSession: async () => {\r\n console.log('initSession')\r\n console.log('store.client()', store.client())\r\n const { data: { session }} = await store.client().auth.getSession()\r\n console.log('session', session)\r\n patchState(store, { session: session as Session })\r\n }\r\n })),\r\n\r\n withHooks({\r\n onInit(store) {\r\n store.initSession()\r\n store.client().auth.onAuthStateChange(res => patchState(store, { authState: res }))\r\n }\r\n })\r\n\r\n )\r\n}\r\n\r\nexport const SupaStore = signalStore(\r\n withSupaStore()\r\n)\r\n","import { EnvironmentProviders, makeEnvironmentProviders } from \"@angular/core\"\r\nimport { SupaStore } from \"./supa-store.store\"\r\nimport { SUPABASE_CREDENTIALS } from \"./common/token/supabase-credentials.token\"\r\n\r\nexport const provideSupaStore = (supabaseUrl: string, supabaseKey: string): EnvironmentProviders => makeEnvironmentProviders([\r\n {\r\n provide: SUPABASE_CREDENTIALS,\r\n useValue: { supabaseUrl, supabaseKey }\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\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAEO,MAAM,oBAAoB,GAAG,IAAI,cAAc,CAGnD,sBAAsB,CAAC;;ACM1B,MAAM,aAAa,GAAG,IAAI,cAAc,CAAiB,gBAAgB,EAAE;IACzE,OAAO,EAAE,MAAK;QACZ,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAA;QACjE,OAAO;AACL,YAAA,MAAM,EAAE,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC;AAC9C,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,SAAS,EAAE,IAAI;SAChB,CAAA;KACF;AACF,CAAA,CAAC,CAAC;AAEH,SAAS,aAAa,GAAA;IAEpB,OAAO,kBAAkB,CAEvB,SAAS,CAAiB,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,EAEtD,WAAW,CAAC,CAAE,KAAK,MAAO;QACxB,WAAW,EAAE,YAAW;AACtB,YAAA,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;YAC1B,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;AAC7C,YAAA,MAAM,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAC,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;AACnE,YAAA,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;YAC/B,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAkB,EAAE,CAAC,CAAA;SACnD;KACF,CAAC,CAAC,EAEH,SAAS,CAAC;AACR,QAAA,MAAM,CAAC,KAAK,EAAA;YACV,KAAK,CAAC,WAAW,EAAE,CAAA;YACnB,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;SACpF;AACF,KAAA,CAAC,CAEH,CAAA;AACH,CAAC;MAEY,SAAS,GAAG,WAAW,CAClC,aAAa,EAAE;;AC7CV,MAAM,gBAAgB,GAAG,CAAC,WAAmB,EAAE,WAAmB,KAA2B,wBAAwB,CAAC;AAC3H,IAAA;AACE,QAAA,OAAO,EAAE,oBAAoB;AAC7B,QAAA,QAAQ,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE;AACvC,KAAA;IACD,SAAS;AACV,CAAA;;ACVD;;AAEG;;ACFH;;AAEG;;;;"}
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/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\n\r\nexport const SUPABASE_CREDENTIALS = new InjectionToken<{\r\n supabaseUrl: string,\r\n supabaseKey: string\r\n}>('SUPABASE_CREDENTIALS')\r\n","import { inject, InjectionToken } from '@angular/core';\r\nimport { patchState, signalStore, signalStoreFeature, withHooks, withMethods, withState } from '@ngrx/signals';\r\nimport { AuthChangeEvent, Session, SupabaseClient, createClient } from '@supabase/supabase-js'\r\nimport { SUPABASE_CREDENTIALS } from './common/token/supabase-credentials.token'\r\n\r\nexport type SupaStoreState = {\r\n client: SupabaseClient\r\n session: Session | undefined | null\r\n authState: {\r\n old: AuthChangeEvent | null,\r\n new: AuthChangeEvent | null,\r\n }\r\n}\r\n\r\nconst INITIAL_STATE = new InjectionToken<SupaStoreState>('SupaStoreState', {\r\n factory: () => {\r\n const { supabaseUrl, supabaseKey } = inject(SUPABASE_CREDENTIALS)\r\n return {\r\n client: createClient(supabaseUrl, supabaseKey),\r\n session: undefined,\r\n authState: { old: null, new: null },\r\n }\r\n },\r\n});\r\n\r\nexport const withSupaStore = () => signalStoreFeature(\r\n\r\n withState< SupaStoreState>(() => inject(INITIAL_STATE)),\r\n\r\n withMethods(( store ) => ({\r\n\r\n initSession: async () => {\r\n const { data: { session }} = await store.client().auth.getSession()\r\n patchState(store, { session: session as Session })\r\n }\r\n\r\n })),\r\n\r\n withHooks({\r\n onInit(store) {\r\n store.initSession()\r\n store.client().auth.onAuthStateChange(state => patchState(store, { authState: { old: store.authState().new, new: state }}))\r\n }\r\n })\r\n\r\n)\r\n\r\n\r\nexport const SupaStore = signalStore(\r\n withSupaStore()\r\n)\r\n","import { EnvironmentProviders, makeEnvironmentProviders } from \"@angular/core\"\r\nimport { SupaStore } from \"./supa-store.store\"\r\nimport { SUPABASE_CREDENTIALS } from \"./common/token/supabase-credentials.token\"\r\n\r\nexport const provideSupaStore = (supabaseUrl: string, supabaseKey: string): EnvironmentProviders => makeEnvironmentProviders([\r\n {\r\n provide: SUPABASE_CREDENTIALS,\r\n useValue: { supabaseUrl, supabaseKey }\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\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAEO,MAAM,oBAAoB,GAAG,IAAI,cAAc,CAGnD,sBAAsB,CAAC;;ACS1B,MAAM,aAAa,GAAG,IAAI,cAAc,CAAiB,gBAAgB,EAAE;IACzE,OAAO,EAAE,MAAK;QACZ,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAA;QACjE,OAAO;AACL,YAAA,MAAM,EAAE,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC;AAC9C,YAAA,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE;SACpC,CAAA;KACF;AACF,CAAA,CAAC,CAAC;AAEU,MAAA,aAAa,GAAG,MAAM,kBAAkB,CAEnD,SAAS,CAAkB,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,EAEvD,WAAW,CAAC,CAAE,KAAK,MAAO;IAExB,WAAW,EAAE,YAAW;AACtB,QAAA,MAAM,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAC,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;QACnE,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAkB,EAAE,CAAC,CAAA;KACnD;CAEF,CAAC,CAAC,EAEH,SAAS,CAAC;AACR,IAAA,MAAM,CAAC,KAAK,EAAA;QACV,KAAK,CAAC,WAAW,EAAE,CAAA;AACnB,QAAA,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAC,CAAC,CAAC,CAAA;KAC5H;AACF,CAAA,CAAC,EAEH;MAGY,SAAS,GAAG,WAAW,CAClC,aAAa,EAAE;;AC7CV,MAAM,gBAAgB,GAAG,CAAC,WAAmB,EAAE,WAAmB,KAA2B,wBAAwB,CAAC;AAC3H,IAAA;AACE,QAAA,OAAO,EAAE,oBAAoB;AAC7B,QAAA,QAAQ,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE;AACvC,KAAA;IACD,SAAS;AACV,CAAA;;ACVD;;AAEG;;ACFH;;AAEG;;;;"}
@@ -2,15 +2,38 @@ import { AuthChangeEvent, Session, SupabaseClient } from '@supabase/supabase-js'
2
2
  export type SupaStoreState = {
3
3
  client: SupabaseClient;
4
4
  session: Session | undefined | null;
5
- authState: AuthChangeEvent | null;
5
+ authState: {
6
+ old: AuthChangeEvent | null;
7
+ new: AuthChangeEvent | null;
8
+ };
6
9
  };
10
+ export declare const withSupaStore: () => import("@ngrx/signals").SignalStoreFeature<import("@ngrx/signals").EmptyFeatureResult, {
11
+ state: {
12
+ client: SupabaseClient;
13
+ session: Session | undefined | null;
14
+ authState: {
15
+ old: AuthChangeEvent | null;
16
+ new: AuthChangeEvent | null;
17
+ };
18
+ };
19
+ computed: {};
20
+ methods: {
21
+ initSession: () => Promise<void>;
22
+ };
23
+ }>;
7
24
  export declare const SupaStore: import("@angular/core").Type<{
8
25
  client: import("@ngrx/signals").DeepSignal<SupabaseClient<any, "public", any>>;
9
26
  session: import("@angular/core").Signal<Session | null | undefined>;
10
- authState: import("@angular/core").Signal<AuthChangeEvent | null>;
27
+ authState: import("@ngrx/signals").DeepSignal<{
28
+ old: AuthChangeEvent | null;
29
+ new: AuthChangeEvent | null;
30
+ }>;
11
31
  initSession: () => Promise<void>;
12
32
  } & import("@ngrx/signals").StateSource<{
13
33
  client: SupabaseClient;
14
34
  session: Session | undefined | null;
15
- authState: AuthChangeEvent | null;
35
+ authState: {
36
+ old: AuthChangeEvent | null;
37
+ new: AuthChangeEvent | null;
38
+ };
16
39
  }>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@outbuild/supa-store",
3
- "version": "0.0.7",
3
+ "version": "0.0.9",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.2.0",
6
6
  "@angular/core": "^18.2.0",
@@ -28,4 +28,4 @@
28
28
  "default": "./fesm2022/outbuild-supa-store.mjs"
29
29
  }
30
30
  }
31
- }
31
+ }