@outbuild/supa-store 0.0.6 → 0.0.7

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.
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from "@angular/core";
2
+ export const SUPABASE_CREDENTIALS = new InjectionToken('SUPABASE_CREDENTIALS');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwYWJhc2UtY3JlZGVudGlhbHMudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vYi1zdXBhLXN0b3JlL3NyYy9saWIvY29tbW9uL3Rva2VuL3N1cGFiYXNlLWNyZWRlbnRpYWxzLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFOUMsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBR25ELHNCQUFzQixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcclxuXHJcbmV4cG9ydCBjb25zdCBTVVBBQkFTRV9DUkVERU5USUFMUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjx7XHJcbiAgc3VwYWJhc2VVcmw6IHN0cmluZyxcclxuICBzdXBhYmFzZUtleTogc3RyaW5nXHJcbn0+KCdTVVBBQkFTRV9DUkVERU5USUFMUycpXHJcbiJdfQ==
@@ -0,0 +1,11 @@
1
+ import { makeEnvironmentProviders } from "@angular/core";
2
+ import { SupaStore } from "./supa-store.store";
3
+ import { SUPABASE_CREDENTIALS } from "./common/token/supabase-credentials.token";
4
+ export const provideSupaStore = (supabaseUrl, supabaseKey) => makeEnvironmentProviders([
5
+ {
6
+ provide: SUPABASE_CREDENTIALS,
7
+ useValue: { supabaseUrl, supabaseKey }
8
+ },
9
+ SupaStore
10
+ ]);
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwYS1zdG9yZS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL29iLXN1cGEtc3RvcmUvc3JjL2xpYi9zdXBhLXN0b3JlLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBd0Isd0JBQXdCLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDOUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFBO0FBRWhGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsV0FBbUIsRUFBRSxXQUFtQixFQUF3QixFQUFFLENBQUMsd0JBQXdCLENBQUM7SUFDM0g7UUFDRSxPQUFPLEVBQUUsb0JBQW9CO1FBQzdCLFFBQVEsRUFBRSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUU7S0FDdkM7SUFDRCxTQUFTO0NBQ1YsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnRQcm92aWRlcnMsIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcclxuaW1wb3J0IHsgU3VwYVN0b3JlIH0gZnJvbSBcIi4vc3VwYS1zdG9yZS5zdG9yZVwiXHJcbmltcG9ydCB7IFNVUEFCQVNFX0NSRURFTlRJQUxTIH0gZnJvbSBcIi4vY29tbW9uL3Rva2VuL3N1cGFiYXNlLWNyZWRlbnRpYWxzLnRva2VuXCJcclxuXHJcbmV4cG9ydCBjb25zdCBwcm92aWRlU3VwYVN0b3JlID0gKHN1cGFiYXNlVXJsOiBzdHJpbmcsIHN1cGFiYXNlS2V5OiBzdHJpbmcpOiBFbnZpcm9ubWVudFByb3ZpZGVycyA9PiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xyXG4gIHtcclxuICAgIHByb3ZpZGU6IFNVUEFCQVNFX0NSRURFTlRJQUxTLFxyXG4gICAgdXNlVmFsdWU6IHsgc3VwYWJhc2VVcmwsIHN1cGFiYXNlS2V5IH1cclxuICB9LFxyXG4gIFN1cGFTdG9yZVxyXG5dKVxyXG5cclxuIl19
@@ -0,0 +1,32 @@
1
+ import { inject, InjectionToken } from '@angular/core';
2
+ import { patchState, signalStore, signalStoreFeature, withHooks, withMethods, withState } from '@ngrx/signals';
3
+ import { createClient } from '@supabase/supabase-js';
4
+ import { SUPABASE_CREDENTIALS } from './common/token/supabase-credentials.token';
5
+ const INITIAL_STATE = new InjectionToken('SupaStoreState', {
6
+ factory: () => {
7
+ const { supabaseUrl, supabaseKey } = inject(SUPABASE_CREDENTIALS);
8
+ return {
9
+ client: createClient(supabaseUrl, supabaseKey),
10
+ session: undefined,
11
+ authState: null
12
+ };
13
+ },
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
+ }
31
+ export const SupaStore = signalStore(withSupaStore());
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwYS1zdG9yZS5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL29iLXN1cGEtc3RvcmUvc3JjL2xpYi9zdXBhLXN0b3JlLnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sRUFBNEMsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDOUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFRaEYsTUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQWlCLGdCQUFnQixFQUFFO0lBQ3pFLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDWixNQUFNLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO1FBQ2pFLE9BQU87WUFDTCxNQUFNLEVBQUUsWUFBWSxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7WUFDOUMsT0FBTyxFQUFFLFNBQVM7WUFDbEIsU0FBUyxFQUFFLElBQUk7U0FDaEIsQ0FBQTtJQUNILENBQUM7Q0FDRixDQUFDLENBQUM7QUFFSCxTQUFTLGFBQWE7SUFFcEIsT0FBTyxrQkFBa0IsQ0FFdkIsU0FBUyxDQUFpQixHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsRUFFdEQsV0FBVyxDQUFDLENBQUUsS0FBSyxFQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3hCLFdBQVcsRUFBRSxLQUFLLElBQUksRUFBRTtZQUN0QixPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFBO1lBQzFCLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUE7WUFDN0MsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFDLEdBQUcsTUFBTSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBO1lBQ25FLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1lBQy9CLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBa0IsRUFBRSxDQUFDLENBQUE7UUFDcEQsQ0FBQztLQUNGLENBQUMsQ0FBQyxFQUVILFNBQVMsQ0FBQztRQUNSLE1BQU0sQ0FBQyxLQUFLO1lBQ1YsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFBO1lBQ25CLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUNyRixDQUFDO0tBQ0YsQ0FBQyxDQUVILENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FDbEMsYUFBYSxFQUFFLENBQ2hCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHBhdGNoU3RhdGUsIHNpZ25hbFN0b3JlLCBzaWduYWxTdG9yZUZlYXR1cmUsIHdpdGhIb29rcywgd2l0aE1ldGhvZHMsIHdpdGhTdGF0ZSB9IGZyb20gJ0BuZ3J4L3NpZ25hbHMnO1xyXG5pbXBvcnQgeyBBdXRoQ2hhbmdlRXZlbnQsIFNlc3Npb24sIFN1cGFiYXNlQ2xpZW50LCBjcmVhdGVDbGllbnQgfSBmcm9tICdAc3VwYWJhc2Uvc3VwYWJhc2UtanMnXHJcbmltcG9ydCB7IFNVUEFCQVNFX0NSRURFTlRJQUxTIH0gZnJvbSAnLi9jb21tb24vdG9rZW4vc3VwYWJhc2UtY3JlZGVudGlhbHMudG9rZW4nXHJcblxyXG5leHBvcnQgdHlwZSBTdXBhU3RvcmVTdGF0ZSA9IHtcclxuICBjbGllbnQ6IFN1cGFiYXNlQ2xpZW50XHJcbiAgc2Vzc2lvbjogU2Vzc2lvbiB8IHVuZGVmaW5lZCB8IG51bGxcclxuICBhdXRoU3RhdGU6IEF1dGhDaGFuZ2VFdmVudCB8IG51bGxcclxufVxyXG5cclxuY29uc3QgSU5JVElBTF9TVEFURSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTdXBhU3RvcmVTdGF0ZT4oJ1N1cGFTdG9yZVN0YXRlJywge1xyXG4gIGZhY3Rvcnk6ICgpID0+IHtcclxuICAgIGNvbnN0IHsgc3VwYWJhc2VVcmwsIHN1cGFiYXNlS2V5IH0gPSBpbmplY3QoU1VQQUJBU0VfQ1JFREVOVElBTFMpXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBjbGllbnQ6IGNyZWF0ZUNsaWVudChzdXBhYmFzZVVybCwgc3VwYWJhc2VLZXkpLFxyXG4gICAgICBzZXNzaW9uOiB1bmRlZmluZWQsXHJcbiAgICAgIGF1dGhTdGF0ZTogbnVsbFxyXG4gICAgfVxyXG4gIH0sXHJcbn0pO1xyXG5cclxuZnVuY3Rpb24gd2l0aFN1cGFTdG9yZSgpIHtcclxuXHJcbiAgcmV0dXJuIHNpZ25hbFN0b3JlRmVhdHVyZShcclxuXHJcbiAgICB3aXRoU3RhdGU8U3VwYVN0b3JlU3RhdGU+KCgpID0+IGluamVjdChJTklUSUFMX1NUQVRFKSksXHJcblxyXG4gICAgd2l0aE1ldGhvZHMoKCBzdG9yZSApID0+ICh7XHJcbiAgICAgIGluaXRTZXNzaW9uOiBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ2luaXRTZXNzaW9uJylcclxuICAgICAgICBjb25zb2xlLmxvZygnc3RvcmUuY2xpZW50KCknLCBzdG9yZS5jbGllbnQoKSlcclxuICAgICAgICBjb25zdCB7IGRhdGE6IHsgc2Vzc2lvbiB9fSA9IGF3YWl0IHN0b3JlLmNsaWVudCgpLmF1dGguZ2V0U2Vzc2lvbigpXHJcbiAgICAgICAgY29uc29sZS5sb2coJ3Nlc3Npb24nLCBzZXNzaW9uKVxyXG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgc2Vzc2lvbjogc2Vzc2lvbiBhcyBTZXNzaW9uIH0pXHJcbiAgICAgIH1cclxuICAgIH0pKSxcclxuXHJcbiAgICB3aXRoSG9va3Moe1xyXG4gICAgICBvbkluaXQoc3RvcmUpIHtcclxuICAgICAgICBzdG9yZS5pbml0U2Vzc2lvbigpXHJcbiAgICAgICAgc3RvcmUuY2xpZW50KCkuYXV0aC5vbkF1dGhTdGF0ZUNoYW5nZShyZXMgPT4gcGF0Y2hTdGF0ZShzdG9yZSwgeyBhdXRoU3RhdGU6IHJlcyB9KSlcclxuICAgICAgfVxyXG4gICAgfSlcclxuXHJcbiAgKVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgU3VwYVN0b3JlID0gc2lnbmFsU3RvcmUoXHJcbiAgd2l0aFN1cGFTdG9yZSgpXHJcbilcclxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0YnVpbGQtc3VwYS1zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL29iLXN1cGEtc3RvcmUvc3JjL291dGJ1aWxkLXN1cGEtc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,6 @@
1
+ /*
2
+ * Public API Surface of ob-supa-store
3
+ */
4
+ export * from './lib/supa-store.store';
5
+ export * from './lib/supa-store.provider';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL29iLXN1cGEtc3RvcmUvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHdCQUF3QixDQUFBO0FBQ3RDLGNBQWMsMkJBQTJCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygb2Itc3VwYS1zdG9yZVxyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N1cGEtc3RvcmUuc3RvcmUnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N1cGEtc3RvcmUucHJvdmlkZXInXHJcbiJdfQ==
@@ -0,0 +1,52 @@
1
+ import { InjectionToken, inject, makeEnvironmentProviders } from '@angular/core';
2
+ import { signalStoreFeature, withState, withMethods, patchState, withHooks, signalStore } from '@ngrx/signals';
3
+ import { createClient } from '@supabase/supabase-js';
4
+
5
+ const SUPABASE_CREDENTIALS = new InjectionToken('SUPABASE_CREDENTIALS');
6
+
7
+ const INITIAL_STATE = new InjectionToken('SupaStoreState', {
8
+ factory: () => {
9
+ const { supabaseUrl, supabaseKey } = inject(SUPABASE_CREDENTIALS);
10
+ return {
11
+ client: createClient(supabaseUrl, supabaseKey),
12
+ session: undefined,
13
+ authState: null
14
+ };
15
+ },
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
+ }
33
+ const SupaStore = signalStore(withSupaStore());
34
+
35
+ const provideSupaStore = (supabaseUrl, supabaseKey) => makeEnvironmentProviders([
36
+ {
37
+ provide: SUPABASE_CREDENTIALS,
38
+ useValue: { supabaseUrl, supabaseKey }
39
+ },
40
+ SupaStore
41
+ ]);
42
+
43
+ /*
44
+ * Public API Surface of ob-supa-store
45
+ */
46
+
47
+ /**
48
+ * Generated bundle index. Do not edit.
49
+ */
50
+
51
+ export { SupaStore, provideSupaStore };
52
+ //# sourceMappingURL=outbuild-supa-store.mjs.map
@@ -0,0 +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;;;;"}
package/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@outbuild/supa-store" />
5
+ export * from './public-api';
@@ -0,0 +1,5 @@
1
+ import { InjectionToken } from "@angular/core";
2
+ export declare const SUPABASE_CREDENTIALS: InjectionToken<{
3
+ supabaseUrl: string;
4
+ supabaseKey: string;
5
+ }>;
@@ -0,0 +1,2 @@
1
+ import { EnvironmentProviders } from "@angular/core";
2
+ export declare const provideSupaStore: (supabaseUrl: string, supabaseKey: string) => EnvironmentProviders;
@@ -0,0 +1,16 @@
1
+ import { AuthChangeEvent, Session, SupabaseClient } from '@supabase/supabase-js';
2
+ export type SupaStoreState = {
3
+ client: SupabaseClient;
4
+ session: Session | undefined | null;
5
+ authState: AuthChangeEvent | null;
6
+ };
7
+ export declare const SupaStore: import("@angular/core").Type<{
8
+ client: import("@ngrx/signals").DeepSignal<SupabaseClient<any, "public", any>>;
9
+ session: import("@angular/core").Signal<Session | null | undefined>;
10
+ authState: import("@angular/core").Signal<AuthChangeEvent | null>;
11
+ initSession: () => Promise<void>;
12
+ } & import("@ngrx/signals").StateSource<{
13
+ client: SupabaseClient;
14
+ session: Session | undefined | null;
15
+ authState: AuthChangeEvent | null;
16
+ }>>;
package/package.json CHANGED
@@ -1,15 +1,31 @@
1
- {
2
- "name": "@outbuild/supa-store",
3
- "version": "0.0.6",
4
- "peerDependencies": {
5
- "@angular/common": "^18.2.0",
6
- "@angular/core": "^18.2.0",
7
- "@ngrx/signals": "^18.0.2",
8
- "@supabase/supabase-js": "^2.45.3",
9
- "@angular-architects/ngrx-toolkit": "18.0.3"
10
- },
11
- "dependencies": {
12
- "tslib": "^2.3.0"
13
- },
14
- "sideEffects": false
15
- }
1
+ {
2
+ "name": "@outbuild/supa-store",
3
+ "version": "0.0.7",
4
+ "peerDependencies": {
5
+ "@angular/common": "^18.2.0",
6
+ "@angular/core": "^18.2.0",
7
+ "@ngrx/signals": "^18.0.2",
8
+ "@supabase/supabase-js": "^2.45.3",
9
+ "@angular-architects/ngrx-toolkit": "18.0.3"
10
+ },
11
+ "dependencies": {
12
+ "tslib": "^2.3.0"
13
+ },
14
+ "resolutions": {
15
+ "@supabase/auth-js": "2.61.0"
16
+ },
17
+ "sideEffects": false,
18
+ "module": "fesm2022/outbuild-supa-store.mjs",
19
+ "typings": "index.d.ts",
20
+ "exports": {
21
+ "./package.json": {
22
+ "default": "./package.json"
23
+ },
24
+ ".": {
25
+ "types": "./index.d.ts",
26
+ "esm2022": "./esm2022/outbuild-supa-store.mjs",
27
+ "esm": "./esm2022/outbuild-supa-store.mjs",
28
+ "default": "./fesm2022/outbuild-supa-store.mjs"
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,2 @@
1
+ export * from './lib/supa-store.store';
2
+ export * from './lib/supa-store.provider';
package/ng-package.json DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
3
- "dest": "../../dist/ob-supa-store",
4
- "lib": {
5
- "entryFile": "src/public-api.ts"
6
- }
7
- }
@@ -1,6 +0,0 @@
1
- import { InjectionToken } from "@angular/core"
2
-
3
- export const SUPABASE_CREDENTIALS = new InjectionToken<{
4
- supabaseUrl: string,
5
- supabaseKey: string
6
- }>('SUPABASE_CREDENTIALS')
@@ -1,12 +0,0 @@
1
- import { EnvironmentProviders, makeEnvironmentProviders, ModuleWithProviders, NgModule } from "@angular/core"
2
- import { SupaStore } from "./supa-store.store"
3
- import { SUPABASE_CREDENTIALS } from "./common/token/supabase-credentials.token"
4
-
5
- export const provideSupaStore = (supabaseUrl: string, supabaseKey: string): EnvironmentProviders => makeEnvironmentProviders([
6
- {
7
- provide: SUPABASE_CREDENTIALS,
8
- useValue: { supabaseUrl, supabaseKey }
9
- },
10
- SupaStore
11
- ])
12
-
@@ -1,51 +0,0 @@
1
- import { inject, InjectionToken } from '@angular/core';
2
- import { patchState, signalStore, signalStoreFeature, withHooks, withMethods, withState } from '@ngrx/signals';
3
- import { AuthChangeEvent, Session, SupabaseClient, createClient } from '@supabase/supabase-js'
4
- import { SUPABASE_CREDENTIALS } from './common/token/supabase-credentials.token'
5
-
6
- export type SupaStoreState = {
7
- client: SupabaseClient
8
- session: Session | undefined | null
9
- authState: AuthChangeEvent | null
10
- }
11
-
12
- const INITIAL_STATE = new InjectionToken<SupaStoreState>('SupaStoreState', {
13
- factory: () => {
14
- const { supabaseUrl, supabaseKey } = inject(SUPABASE_CREDENTIALS)
15
- return {
16
- client: createClient(supabaseUrl, supabaseKey),
17
- session: undefined,
18
- authState: null
19
- }
20
- },
21
- });
22
-
23
- function withSupaStore() {
24
-
25
- return signalStoreFeature(
26
-
27
- withState<SupaStoreState>(() => inject(INITIAL_STATE)),
28
-
29
- withMethods(( store ) => ({
30
- initSession: async () => {
31
- console.log('initSession')
32
- console.log('store.client()', store.client())
33
- const { data: { session }} = await store.client().auth.getSession()
34
- console.log('session', session)
35
- patchState(store, { session: session as Session })
36
- }
37
- })),
38
-
39
- withHooks({
40
- onInit(store) {
41
- store.initSession()
42
- store.client().auth.onAuthStateChange(res => patchState(store, { authState: res }))
43
- }
44
- })
45
-
46
- )
47
- }
48
-
49
- export const SupaStore = signalStore(
50
- withSupaStore()
51
- )
package/src/public-api.ts DELETED
@@ -1,6 +0,0 @@
1
- /*
2
- * Public API Surface of ob-supa-store
3
- */
4
-
5
- export * from './lib/supa-store.store'
6
- export * from './lib/supa-store.provider'
package/tsconfig.lib.json DELETED
@@ -1,15 +0,0 @@
1
- /* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
2
- /* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
3
- {
4
- "extends": "../../tsconfig.json",
5
- "compilerOptions": {
6
- "outDir": "../../out-tsc/lib",
7
- "declaration": true,
8
- "declarationMap": true,
9
- "inlineSources": true,
10
- "types": []
11
- },
12
- "exclude": [
13
- "**/*.spec.ts"
14
- ]
15
- }
@@ -1,11 +0,0 @@
1
- /* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
2
- /* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
3
- {
4
- "extends": "./tsconfig.lib.json",
5
- "compilerOptions": {
6
- "declarationMap": false
7
- },
8
- "angularCompilerOptions": {
9
- "compilationMode": "partial"
10
- }
11
- }
@@ -1,15 +0,0 @@
1
- /* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
2
- /* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
3
- {
4
- "extends": "../../tsconfig.json",
5
- "compilerOptions": {
6
- "outDir": "../../out-tsc/spec",
7
- "types": [
8
- "jasmine"
9
- ]
10
- },
11
- "include": [
12
- "**/*.spec.ts",
13
- "**/*.d.ts"
14
- ]
15
- }