apollo-angular-signal 0.0.1 → 0.0.3

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.
@@ -40,7 +40,7 @@ function gqlAsync(fn) {
40
40
  const observable = source$();
41
41
  let sub;
42
42
  if (observable) {
43
- sub = observable.pipe(takeUntilDestroyed()).subscribe({
43
+ sub = observable.subscribe({
44
44
  next: (res) => {
45
45
  state.set({
46
46
  data: res.data,
@@ -1 +1 @@
1
- {"version":3,"file":"apollo-angular-signal.mjs","sources":["../../../projects/apollo-angular-signal/src/lib/apollo-angular-signal.ts","../../../projects/apollo-angular-signal/src/public-api.ts","../../../projects/apollo-angular-signal/src/apollo-angular-signal.ts"],"sourcesContent":["import { computed, effect, signal, type Signal } from '@angular/core';\nimport { ObservableQuery } from '@apollo/client';\nimport type { Apollo } from 'apollo-angular';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport type { Subscription, Observable } from 'rxjs';\n\nexport type GqlQueryResult<T> =\n | Apollo.QueryResult<T>\n | Apollo.SubscribeResult<T>\n | ObservableQuery.Result<T>;\n\nexport type ObservableResult<T> = Observable<GqlQueryResult<T>>;\n\ntype Maybe<T> = T | null | undefined;\n\ninterface LibResult<T> {\n data?: T;\n loading: boolean;\n hasError: boolean;\n error?: unknown;\n}\n\nexport function gqlQuery<T>(\n query: ObservableResult<T> | (() => Maybe<ObservableResult<T>>),\n): Signal<LibResult<T>> {\n if (typeof query === 'function') {\n return gqlAsync(query);\n } else {\n const state = signal<LibResult<T>>({\n loading: true,\n hasError: false,\n });\n\n query.pipe(takeUntilDestroyed()).subscribe({\n next: (res) => {\n state.set({\n data: res.data as T,\n hasError: !!res.error,\n error: res.error,\n loading: 'loading' in res ? res.loading : false,\n });\n },\n error: (error: unknown) => {\n state.set({\n loading: false,\n hasError: true,\n error,\n });\n },\n });\n\n return state;\n }\n}\n\nfunction gqlAsync<T>(\n fn: () => Maybe<ObservableResult<T>>,\n): Signal<LibResult<T>> {\n const state = signal<LibResult<T>>({\n loading: true,\n hasError: false,\n });\n\n const source$ = computed(fn);\n\n effect((onCleanup) => {\n const observable = source$();\n let sub: Maybe<Subscription>;\n if (observable) {\n sub = observable.pipe(takeUntilDestroyed()).subscribe({\n next: (res) => {\n state.set({\n data: res.data as T,\n loading: 'loading' in res ? res.loading : false,\n hasError: !!res.error,\n error: res.error,\n });\n },\n error: (error: unknown) => {\n state.set({\n loading: false,\n hasError: true,\n error,\n });\n },\n });\n }\n\n onCleanup(() => {\n sub?.unsubscribe();\n });\n });\n\n return state;\n}\n","/*\n * Public API Surface of apollo-angular-signal\n */\n\nexport * from './lib/apollo-angular-signal';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAsBM,SAAU,QAAQ,CACtB,KAA+D,EAAA;AAE/D,IAAA,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;AAC/B,QAAA,OAAO,QAAQ,CAAC,KAAK,CAAC;IACxB;SAAO;QACL,MAAM,KAAK,GAAG,MAAM,CAAe;AACjC,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,KAAK;AAChB,SAAA,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QAEF,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC;AACzC,YAAA,IAAI,EAAE,CAAC,GAAG,KAAI;gBACZ,KAAK,CAAC,GAAG,CAAC;oBACR,IAAI,EAAE,GAAG,CAAC,IAAS;AACnB,oBAAA,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK;oBACrB,KAAK,EAAE,GAAG,CAAC,KAAK;AAChB,oBAAA,OAAO,EAAE,SAAS,IAAI,GAAG,GAAG,GAAG,CAAC,OAAO,GAAG,KAAK;AAChD,iBAAA,CAAC;YACJ,CAAC;AACD,YAAA,KAAK,EAAE,CAAC,KAAc,KAAI;gBACxB,KAAK,CAAC,GAAG,CAAC;AACR,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,QAAQ,EAAE,IAAI;oBACd,KAAK;AACN,iBAAA,CAAC;YACJ,CAAC;AACF,SAAA,CAAC;AAEF,QAAA,OAAO,KAAK;IACd;AACF;AAEA,SAAS,QAAQ,CACf,EAAoC,EAAA;IAEpC,MAAM,KAAK,GAAG,MAAM,CAAe;AACjC,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,QAAQ,EAAE,KAAK;AAChB,KAAA,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAEF,IAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,mDAAC;AAE5B,IAAA,MAAM,CAAC,CAAC,SAAS,KAAI;AACnB,QAAA,MAAM,UAAU,GAAG,OAAO,EAAE;AAC5B,QAAA,IAAI,GAAwB;QAC5B,IAAI,UAAU,EAAE;YACd,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC;AACpD,gBAAA,IAAI,EAAE,CAAC,GAAG,KAAI;oBACZ,KAAK,CAAC,GAAG,CAAC;wBACR,IAAI,EAAE,GAAG,CAAC,IAAS;AACnB,wBAAA,OAAO,EAAE,SAAS,IAAI,GAAG,GAAG,GAAG,CAAC,OAAO,GAAG,KAAK;AAC/C,wBAAA,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK;wBACrB,KAAK,EAAE,GAAG,CAAC,KAAK;AACjB,qBAAA,CAAC;gBACJ,CAAC;AACD,gBAAA,KAAK,EAAE,CAAC,KAAc,KAAI;oBACxB,KAAK,CAAC,GAAG,CAAC;AACR,wBAAA,OAAO,EAAE,KAAK;AACd,wBAAA,QAAQ,EAAE,IAAI;wBACd,KAAK;AACN,qBAAA,CAAC;gBACJ,CAAC;AACF,aAAA,CAAC;QACJ;QAEA,SAAS,CAAC,MAAK;YACb,GAAG,EAAE,WAAW,EAAE;AACpB,QAAA,CAAC,CAAC;AACJ,IAAA,CAAC,CAAC;AAEF,IAAA,OAAO,KAAK;AACd;;AC9FA;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"apollo-angular-signal.mjs","sources":["../../../projects/apollo-angular-signal/src/lib/apollo-angular-signal.ts","../../../projects/apollo-angular-signal/src/public-api.ts","../../../projects/apollo-angular-signal/src/apollo-angular-signal.ts"],"sourcesContent":["import { computed, effect, signal, type Signal } from '@angular/core';\nimport { ObservableQuery } from '@apollo/client';\nimport type { Apollo } from 'apollo-angular';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport type { Subscription, Observable } from 'rxjs';\n\nexport type GqlQueryResult<T> =\n | Apollo.QueryResult<T>\n | Apollo.SubscribeResult<T>\n | ObservableQuery.Result<T>;\n\nexport type ObservableResult<T> = Observable<GqlQueryResult<T>>;\n\ntype Maybe<T> = T | null | undefined;\n\ninterface LibResult<T> {\n data?: T;\n loading: boolean;\n hasError: boolean;\n error?: unknown;\n}\n\nexport function gqlQuery<T>(\n query: ObservableResult<T> | (() => Maybe<ObservableResult<T>>),\n): Signal<LibResult<T>> {\n if (typeof query === 'function') {\n return gqlAsync(query);\n } else {\n const state = signal<LibResult<T>>({\n loading: true,\n hasError: false,\n });\n\n query.pipe(takeUntilDestroyed()).subscribe({\n next: (res) => {\n state.set({\n data: res.data as T,\n hasError: !!res.error,\n error: res.error,\n loading: 'loading' in res ? res.loading : false,\n });\n },\n error: (error: unknown) => {\n state.set({\n loading: false,\n hasError: true,\n error,\n });\n },\n });\n\n return state;\n }\n}\n\nfunction gqlAsync<T>(\n fn: () => Maybe<ObservableResult<T>>,\n): Signal<LibResult<T>> {\n const state = signal<LibResult<T>>({\n loading: true,\n hasError: false,\n });\n\n const source$ = computed(fn);\n\n effect((onCleanup) => {\n const observable = source$();\n let sub: Maybe<Subscription>;\n if (observable) {\n sub = observable.subscribe({\n next: (res) => {\n state.set({\n data: res.data as T,\n loading: 'loading' in res ? res.loading : false,\n hasError: !!res.error,\n error: res.error,\n });\n },\n error: (error: unknown) => {\n state.set({\n loading: false,\n hasError: true,\n error,\n });\n },\n });\n }\n\n onCleanup(() => {\n sub?.unsubscribe();\n });\n });\n\n return state;\n}\n","/*\n * Public API Surface of apollo-angular-signal\n */\n\nexport * from './lib/apollo-angular-signal';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAsBM,SAAU,QAAQ,CACtB,KAA+D,EAAA;AAE/D,IAAA,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;AAC/B,QAAA,OAAO,QAAQ,CAAC,KAAK,CAAC;IACxB;SAAO;QACL,MAAM,KAAK,GAAG,MAAM,CAAe;AACjC,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,KAAK;AAChB,SAAA,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QAEF,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC;AACzC,YAAA,IAAI,EAAE,CAAC,GAAG,KAAI;gBACZ,KAAK,CAAC,GAAG,CAAC;oBACR,IAAI,EAAE,GAAG,CAAC,IAAS;AACnB,oBAAA,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK;oBACrB,KAAK,EAAE,GAAG,CAAC,KAAK;AAChB,oBAAA,OAAO,EAAE,SAAS,IAAI,GAAG,GAAG,GAAG,CAAC,OAAO,GAAG,KAAK;AAChD,iBAAA,CAAC;YACJ,CAAC;AACD,YAAA,KAAK,EAAE,CAAC,KAAc,KAAI;gBACxB,KAAK,CAAC,GAAG,CAAC;AACR,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,QAAQ,EAAE,IAAI;oBACd,KAAK;AACN,iBAAA,CAAC;YACJ,CAAC;AACF,SAAA,CAAC;AAEF,QAAA,OAAO,KAAK;IACd;AACF;AAEA,SAAS,QAAQ,CACf,EAAoC,EAAA;IAEpC,MAAM,KAAK,GAAG,MAAM,CAAe;AACjC,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,QAAQ,EAAE,KAAK;AAChB,KAAA,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAEF,IAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,mDAAC;AAE5B,IAAA,MAAM,CAAC,CAAC,SAAS,KAAI;AACnB,QAAA,MAAM,UAAU,GAAG,OAAO,EAAE;AAC5B,QAAA,IAAI,GAAwB;QAC5B,IAAI,UAAU,EAAE;AACd,YAAA,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC;AACzB,gBAAA,IAAI,EAAE,CAAC,GAAG,KAAI;oBACZ,KAAK,CAAC,GAAG,CAAC;wBACR,IAAI,EAAE,GAAG,CAAC,IAAS;AACnB,wBAAA,OAAO,EAAE,SAAS,IAAI,GAAG,GAAG,GAAG,CAAC,OAAO,GAAG,KAAK;AAC/C,wBAAA,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK;wBACrB,KAAK,EAAE,GAAG,CAAC,KAAK;AACjB,qBAAA,CAAC;gBACJ,CAAC;AACD,gBAAA,KAAK,EAAE,CAAC,KAAc,KAAI;oBACxB,KAAK,CAAC,GAAG,CAAC;AACR,wBAAA,OAAO,EAAE,KAAK;AACd,wBAAA,QAAQ,EAAE,IAAI;wBACd,KAAK;AACN,qBAAA,CAAC;gBACJ,CAAC;AACF,aAAA,CAAC;QACJ;QAEA,SAAS,CAAC,MAAK;YACb,GAAG,EAAE,WAAW,EAAE;AACpB,QAAA,CAAC,CAAC;AACJ,IAAA,CAAC,CAAC;AAEF,IAAA,OAAO,KAAK;AACd;;AC9FA;;AAEG;;ACFH;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "apollo-angular-signal",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20 || ^21",
6
6
  "@angular/core": "^20 || ^21",
7
7
  "apollo-angular": "^13",
8
+ "@apollo/client": "^4",
8
9
  "rxjs": "^7"
9
10
  },
10
11
  "sideEffects": false,