@streamlayer/sdk-web-api 0.8.0 → 0.9.0

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@streamlayer/sdk-web-api",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "type": "module",
5
5
  "main": "./src/index.js",
6
6
  "typings": "./src/index.d.ts",
@@ -1,8 +1,6 @@
1
- import { nanoquery } from '@nanostores/query';
2
1
  import { Events } from '@streamlayer/sl-eslib/sports/events/events_connect';
3
2
  import { Client } from '@streamlayer/sl-eslib/sdkSettings/client/client_connect';
4
3
  export { $user } from './user';
5
- const [createFetcherStore] = nanoquery();
6
4
  export const $retrieveEventId = ($providerStreamId, transport)=>{
7
5
  const { client, queryKey } = transport.createPromiseClient(Events, {
8
6
  method: 'retrieveEventId',
@@ -10,7 +8,7 @@ export const $retrieveEventId = ($providerStreamId, transport)=>{
10
8
  $providerStreamId
11
9
  ]
12
10
  });
13
- return createFetcherStore(queryKey, {
11
+ return transport.nanoquery.createFetcherStore(queryKey, {
14
12
  fetcher: async (_, __, id)=>{
15
13
  if (!id) {
16
14
  return '';
@@ -29,7 +27,7 @@ export const $streamSettings = (slStreamId, transport)=>{
29
27
  slStreamId
30
28
  ]
31
29
  });
32
- return createFetcherStore(queryKey, {
30
+ return transport.nanoquery.createFetcherStore(queryKey, {
33
31
  fetcher: async (_, __, id)=>{
34
32
  const res = await client.getStream({
35
33
  id
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/sdk-web-api/src/grpc/queries/event.ts"],"sourcesContent":["import { nanoquery } from '@nanostores/query'\nimport { ReadableAtom } from 'nanostores'\nimport { Events } from '@streamlayer/sl-eslib/sports/events/events_connect'\nimport { Client } from '@streamlayer/sl-eslib/sdkSettings/client/client_connect'\n\nimport { Transport } from '../transport'\n\nexport { $user } from './user'\n\nconst [createFetcherStore] = nanoquery()\n\nexport const $retrieveEventId = ($providerStreamId: ReadableAtom<string>, transport: Transport) => {\n const { client, queryKey } = transport.createPromiseClient(Events, {\n method: 'retrieveEventId',\n params: [$providerStreamId],\n })\n\n return createFetcherStore(queryKey, {\n fetcher: async (_: string, __: string, id: string) => {\n if (!id) {\n return ''\n }\n\n const res = await client.retrieveEventId({\n id,\n })\n\n return (res.data?.id as unknown as string) || ''\n },\n })\n}\n\nexport const $streamSettings = (slStreamId: ReadableAtom<string>, transport: Transport) => {\n const { client, queryKey } = transport.createPromiseClient(Client, { method: 'getStream', params: [slStreamId] })\n\n return createFetcherStore(queryKey, {\n fetcher: async (_: string, __: string, id: string) => {\n const res = await client.getStream({\n id,\n })\n\n return res.data?.attributes\n },\n })\n}\n"],"names":["nanoquery","Events","Client","$user","createFetcherStore","$retrieveEventId","$providerStreamId","transport","client","queryKey","createPromiseClient","method","params","fetcher","_","__","id","res","retrieveEventId","data","$streamSettings","slStreamId","getStream","attributes"],"mappings":"AAAA,SAASA,SAAS,QAAQ,oBAAmB;AAE7C,SAASC,MAAM,QAAQ,qDAAoD;AAC3E,SAASC,MAAM,QAAQ,0DAAyD;AAIhF,SAASC,KAAK,QAAQ,SAAQ;AAE9B,MAAM,CAACC,mBAAmB,GAAGJ;AAE7B,OAAO,MAAMK,mBAAmB,CAACC,mBAAyCC;IACxE,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAE,GAAGF,UAAUG,mBAAmB,CAACT,QAAQ;QACjEU,QAAQ;QACRC,QAAQ;YAACN;SAAkB;IAC7B;IAEA,OAAOF,mBAAmBK,UAAU;QAClCI,SAAS,OAAOC,GAAWC,IAAYC;YACrC,IAAI,CAACA,IAAI;gBACP,OAAO;YACT;YAEA,MAAMC,MAAM,MAAMT,OAAOU,eAAe,CAAC;gBACvCF;YACF;YAEA,OAAO,CAACC,IAAIE,IAAI,EAAEH,EAAuB,KAAK;QAChD;IACF;AACF,EAAC;AAED,OAAO,MAAMI,kBAAkB,CAACC,YAAkCd;IAChE,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAE,GAAGF,UAAUG,mBAAmB,CAACR,QAAQ;QAAES,QAAQ;QAAaC,QAAQ;YAACS;SAAW;IAAC;IAE/G,OAAOjB,mBAAmBK,UAAU;QAClCI,SAAS,OAAOC,GAAWC,IAAYC;YACrC,MAAMC,MAAM,MAAMT,OAAOc,SAAS,CAAC;gBACjCN;YACF;YAEA,OAAOC,IAAIE,IAAI,EAAEI;QACnB;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../../../../packages/sdk-web-api/src/grpc/queries/event.ts"],"sourcesContent":["import { ReadableAtom } from 'nanostores'\nimport { Events } from '@streamlayer/sl-eslib/sports/events/events_connect'\nimport { Client } from '@streamlayer/sl-eslib/sdkSettings/client/client_connect'\n\nimport { Transport } from '../transport'\n\nexport { $user } from './user'\n\nexport const $retrieveEventId = ($providerStreamId: ReadableAtom<string>, transport: Transport) => {\n const { client, queryKey } = transport.createPromiseClient(Events, {\n method: 'retrieveEventId',\n params: [$providerStreamId],\n })\n\n return transport.nanoquery.createFetcherStore(queryKey, {\n fetcher: async (_: string, __: string, id: string) => {\n if (!id) {\n return ''\n }\n\n const res = await client.retrieveEventId({\n id,\n })\n\n return (res.data?.id as unknown as string) || ''\n },\n })\n}\n\nexport const $streamSettings = (slStreamId: ReadableAtom<string>, transport: Transport) => {\n const { client, queryKey } = transport.createPromiseClient(Client, { method: 'getStream', params: [slStreamId] })\n\n return transport.nanoquery.createFetcherStore(queryKey, {\n fetcher: async (_: string, __: string, id: string) => {\n const res = await client.getStream({\n id,\n })\n\n return res.data?.attributes\n },\n })\n}\n"],"names":["Events","Client","$user","$retrieveEventId","$providerStreamId","transport","client","queryKey","createPromiseClient","method","params","nanoquery","createFetcherStore","fetcher","_","__","id","res","retrieveEventId","data","$streamSettings","slStreamId","getStream","attributes"],"mappings":"AACA,SAASA,MAAM,QAAQ,qDAAoD;AAC3E,SAASC,MAAM,QAAQ,0DAAyD;AAIhF,SAASC,KAAK,QAAQ,SAAQ;AAE9B,OAAO,MAAMC,mBAAmB,CAACC,mBAAyCC;IACxE,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAE,GAAGF,UAAUG,mBAAmB,CAACR,QAAQ;QACjES,QAAQ;QACRC,QAAQ;YAACN;SAAkB;IAC7B;IAEA,OAAOC,UAAUM,SAAS,CAACC,kBAAkB,CAACL,UAAU;QACtDM,SAAS,OAAOC,GAAWC,IAAYC;YACrC,IAAI,CAACA,IAAI;gBACP,OAAO;YACT;YAEA,MAAMC,MAAM,MAAMX,OAAOY,eAAe,CAAC;gBACvCF;YACF;YAEA,OAAO,CAACC,IAAIE,IAAI,EAAEH,EAAuB,KAAK;QAChD;IACF;AACF,EAAC;AAED,OAAO,MAAMI,kBAAkB,CAACC,YAAkChB;IAChE,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAE,GAAGF,UAAUG,mBAAmB,CAACP,QAAQ;QAAEQ,QAAQ;QAAaC,QAAQ;YAACW;SAAW;IAAC;IAE/G,OAAOhB,UAAUM,SAAS,CAACC,kBAAkB,CAACL,UAAU;QACtDM,SAAS,OAAOC,GAAWC,IAAYC;YACrC,MAAMC,MAAM,MAAMX,OAAOgB,SAAS,CAAC;gBACjCN;YACF;YAEA,OAAOC,IAAIE,IAAI,EAAEI;QACnB;IACF;AACF,EAAC"}
@@ -1,7 +1,5 @@
1
- import { nanoquery } from '@nanostores/query';
2
1
  import { Client } from '@streamlayer/sl-eslib/sdkSettings/client/client_connect';
3
2
  export { $user } from './user';
4
- const [createFetcherStore] = nanoquery();
5
3
  export const $organizationSettings = ($enabled, transport)=>{
6
4
  const { client, queryKey } = transport.createPromiseClient(Client, {
7
5
  method: 'getOrganization',
@@ -9,7 +7,7 @@ export const $organizationSettings = ($enabled, transport)=>{
9
7
  $enabled
10
8
  ]
11
9
  });
12
- return createFetcherStore(queryKey, {
10
+ return transport.nanoquery.createFetcherStore(queryKey, {
13
11
  fetcher: async ()=>{
14
12
  const res = await client.getOrganization({});
15
13
  return res.data ? {
@@ -26,7 +24,7 @@ export const $organizationAdvertising = ($enabled, transport)=>{
26
24
  $enabled
27
25
  ]
28
26
  });
29
- return createFetcherStore(queryKey, {
27
+ return transport.nanoquery.createFetcherStore(queryKey, {
30
28
  fetcher: async ()=>{
31
29
  const res = await client.getOrganizationAdvertising({});
32
30
  return res.data?.attributes;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/sdk-web-api/src/grpc/queries/organization.ts"],"sourcesContent":["import { nanoquery } from '@nanostores/query'\nimport { Client } from '@streamlayer/sl-eslib/sdkSettings/client/client_connect'\nimport { ReadableAtom } from 'nanostores'\n\nimport { Transport } from '../transport'\n\nexport { $user } from './user'\n\nconst [createFetcherStore] = nanoquery()\n\nexport const $organizationSettings = ($enabled: ReadableAtom<string>, transport: Transport) => {\n const { client, queryKey } = transport.createPromiseClient(Client, { method: 'getOrganization', params: [$enabled] })\n\n return createFetcherStore(queryKey, {\n fetcher: async () => {\n const res = await client.getOrganization({})\n\n return res.data\n ? {\n ...res.data.attributes,\n id: res.data.id,\n }\n : null\n },\n })\n}\n\nexport const $organizationAdvertising = ($enabled: ReadableAtom<string>, transport: Transport) => {\n const { client, queryKey } = transport.createPromiseClient(Client, {\n method: 'getOrganizationAdvertising',\n params: [$enabled],\n })\n\n return createFetcherStore(queryKey, {\n fetcher: async () => {\n const res = await client.getOrganizationAdvertising({})\n\n return res.data?.attributes\n },\n })\n}\n"],"names":["nanoquery","Client","$user","createFetcherStore","$organizationSettings","$enabled","transport","client","queryKey","createPromiseClient","method","params","fetcher","res","getOrganization","data","attributes","id","$organizationAdvertising","getOrganizationAdvertising"],"mappings":"AAAA,SAASA,SAAS,QAAQ,oBAAmB;AAC7C,SAASC,MAAM,QAAQ,0DAAyD;AAKhF,SAASC,KAAK,QAAQ,SAAQ;AAE9B,MAAM,CAACC,mBAAmB,GAAGH;AAE7B,OAAO,MAAMI,wBAAwB,CAACC,UAAgCC;IACpE,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAE,GAAGF,UAAUG,mBAAmB,CAACR,QAAQ;QAAES,QAAQ;QAAmBC,QAAQ;YAACN;SAAS;IAAC;IAEnH,OAAOF,mBAAmBK,UAAU;QAClCI,SAAS;YACP,MAAMC,MAAM,MAAMN,OAAOO,eAAe,CAAC,CAAC;YAE1C,OAAOD,IAAIE,IAAI,GACX;gBACE,GAAGF,IAAIE,IAAI,CAACC,UAAU;gBACtBC,IAAIJ,IAAIE,IAAI,CAACE,EAAE;YACjB,IACA;QACN;IACF;AACF,EAAC;AAED,OAAO,MAAMC,2BAA2B,CAACb,UAAgCC;IACvE,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAE,GAAGF,UAAUG,mBAAmB,CAACR,QAAQ;QACjES,QAAQ;QACRC,QAAQ;YAACN;SAAS;IACpB;IAEA,OAAOF,mBAAmBK,UAAU;QAClCI,SAAS;YACP,MAAMC,MAAM,MAAMN,OAAOY,0BAA0B,CAAC,CAAC;YAErD,OAAON,IAAIE,IAAI,EAAEC;QACnB;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../../../../packages/sdk-web-api/src/grpc/queries/organization.ts"],"sourcesContent":["import { Client } from '@streamlayer/sl-eslib/sdkSettings/client/client_connect'\nimport { ReadableAtom } from 'nanostores'\n\nimport { Transport } from '../transport'\n\nexport { $user } from './user'\n\nexport const $organizationSettings = ($enabled: ReadableAtom<string>, transport: Transport) => {\n const { client, queryKey } = transport.createPromiseClient(Client, { method: 'getOrganization', params: [$enabled] })\n\n return transport.nanoquery.createFetcherStore(queryKey, {\n fetcher: async () => {\n const res = await client.getOrganization({})\n\n return res.data\n ? {\n ...res.data.attributes,\n id: res.data.id,\n }\n : null\n },\n })\n}\n\nexport const $organizationAdvertising = ($enabled: ReadableAtom<string>, transport: Transport) => {\n const { client, queryKey } = transport.createPromiseClient(Client, {\n method: 'getOrganizationAdvertising',\n params: [$enabled],\n })\n\n return transport.nanoquery.createFetcherStore(queryKey, {\n fetcher: async () => {\n const res = await client.getOrganizationAdvertising({})\n\n return res.data?.attributes\n },\n })\n}\n"],"names":["Client","$user","$organizationSettings","$enabled","transport","client","queryKey","createPromiseClient","method","params","nanoquery","createFetcherStore","fetcher","res","getOrganization","data","attributes","id","$organizationAdvertising","getOrganizationAdvertising"],"mappings":"AAAA,SAASA,MAAM,QAAQ,0DAAyD;AAKhF,SAASC,KAAK,QAAQ,SAAQ;AAE9B,OAAO,MAAMC,wBAAwB,CAACC,UAAgCC;IACpE,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAE,GAAGF,UAAUG,mBAAmB,CAACP,QAAQ;QAAEQ,QAAQ;QAAmBC,QAAQ;YAACN;SAAS;IAAC;IAEnH,OAAOC,UAAUM,SAAS,CAACC,kBAAkB,CAACL,UAAU;QACtDM,SAAS;YACP,MAAMC,MAAM,MAAMR,OAAOS,eAAe,CAAC,CAAC;YAE1C,OAAOD,IAAIE,IAAI,GACX;gBACE,GAAGF,IAAIE,IAAI,CAACC,UAAU;gBACtBC,IAAIJ,IAAIE,IAAI,CAACE,EAAE;YACjB,IACA;QACN;IACF;AACF,EAAC;AAED,OAAO,MAAMC,2BAA2B,CAACf,UAAgCC;IACvE,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAE,GAAGF,UAAUG,mBAAmB,CAACP,QAAQ;QACjEQ,QAAQ;QACRC,QAAQ;YAACN;SAAS;IACpB;IAEA,OAAOC,UAAUM,SAAS,CAACC,kBAAkB,CAACL,UAAU;QACtDM,SAAS;YACP,MAAMC,MAAM,MAAMR,OAAOc,0BAA0B,CAAC,CAAC;YAErD,OAAON,IAAIE,IAAI,EAAEC;QACnB;IACF;AACF,EAAC"}
@@ -1,7 +1,5 @@
1
- import { nanoquery } from '@nanostores/query';
2
1
  import { Users } from '@streamlayer/sl-eslib/users/users_connect';
3
2
  import { Client } from '@streamlayer/sl-eslib/sdkSettings/client/client_connect';
4
- const [createFetcherStore, createMutatorStore] = nanoquery();
5
3
  // user query
6
4
  // cache user
7
5
  // invalidate token
@@ -15,7 +13,7 @@ export const $user = ($userToken, transport)=>{
15
13
  $userToken
16
14
  ]
17
15
  });
18
- return createFetcherStore(queryKey, {
16
+ return transport.nanoquery.createFetcherStore(queryKey, {
19
17
  fetcher: ()=>client.me({})
20
18
  });
21
19
  };
@@ -23,7 +21,7 @@ export const $bypassLogin = (transport)=>{
23
21
  const { client, queryKeyStr } = transport.createPromiseClient(Users, {
24
22
  method: 'bypassAuth'
25
23
  });
26
- return createMutatorStore(async ({ data: { userKey, schema, init }, getCacheUpdater })=>{
24
+ return transport.nanoquery.createMutatorStore(async ({ data: { userKey, schema, init }, getCacheUpdater })=>{
27
25
  const [updateCache] = getCacheUpdater(queryKeyStr);
28
26
  const user = await client.bypassAuth({
29
27
  userKey,
@@ -47,7 +45,7 @@ export const $userSettings = ($userToken, transport)=>{
47
45
  $userToken
48
46
  ]
49
47
  });
50
- return createFetcherStore(queryKey, {
48
+ return transport.nanoquery.createFetcherStore(queryKey, {
51
49
  fetcher: async ()=>{
52
50
  const data = await client.get({});
53
51
  return data.data?.attributes;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/sdk-web-api/src/grpc/queries/user.ts"],"sourcesContent":["import { nanoquery } from '@nanostores/query'\nimport { ReadableAtom } from 'nanostores'\nimport { Users } from '@streamlayer/sl-eslib/users/users_connect'\nimport type { BypassAuthRequest, BypassAuthResponse } from '@streamlayer/sl-eslib/users/users_pb'\nimport { Client } from '@streamlayer/sl-eslib/sdkSettings/client/client_connect'\nimport { PlainMessage } from '@bufbuild/protobuf'\n\nimport { Transport } from '../transport'\n\nconst [createFetcherStore, createMutatorStore] = nanoquery()\n\n// user query\n// cache user\n// invalidate token\n// login\n// save token\n// called on update user key\nexport const $user = ($userToken: ReadableAtom<string>, transport: Transport) => {\n const { queryKey, client } = transport.createPromiseClient(Users, { method: 'me', params: [$userToken] })\n\n return createFetcherStore(queryKey, {\n fetcher: () => client.me({}),\n })\n}\n\nexport const $bypassLogin = (transport: Transport) => {\n const { client, queryKeyStr } = transport.createPromiseClient(Users, { method: 'bypassAuth' })\n\n return createMutatorStore<PlainMessage<BypassAuthRequest>, PlainMessage<BypassAuthResponse>>(\n async ({ data: { userKey, schema, init }, getCacheUpdater }) => {\n const [updateCache] = getCacheUpdater(queryKeyStr)\n const user = await client.bypassAuth({ userKey, schema, init })\n\n updateCache(user)\n\n return user\n },\n )\n}\n\nexport const bypassAuth = (transport: Transport, params: { userKey?: string; schema?: string; init?: boolean }) => {\n const { client } = transport.createPromiseClient(Users, { method: 'bypassAuth' })\n\n return client.bypassAuth(params)\n}\n\nexport const $userSettings = (\n $userToken: ReadableAtom<string>, // sl user token\n transport: Transport,\n) => {\n const { client, queryKey } = transport.createPromiseClient(Client, { method: 'get', params: [$userToken] })\n\n return createFetcherStore(queryKey, {\n fetcher: async () => {\n const data = await client.get({})\n\n return data.data?.attributes\n },\n })\n}\n\nexport const register = (transport: Transport, phone: string) => {\n const { client } = transport.createPromiseClient(Users, { method: 'register' })\n\n return client.register({ id: phone })\n}\n"],"names":["nanoquery","Users","Client","createFetcherStore","createMutatorStore","$user","$userToken","transport","queryKey","client","createPromiseClient","method","params","fetcher","me","$bypassLogin","queryKeyStr","data","userKey","schema","init","getCacheUpdater","updateCache","user","bypassAuth","$userSettings","get","attributes","register","phone","id"],"mappings":"AAAA,SAASA,SAAS,QAAQ,oBAAmB;AAE7C,SAASC,KAAK,QAAQ,4CAA2C;AAEjE,SAASC,MAAM,QAAQ,0DAAyD;AAKhF,MAAM,CAACC,oBAAoBC,mBAAmB,GAAGJ;AAEjD,aAAa;AACb,aAAa;AACb,mBAAmB;AACnB,QAAQ;AACR,aAAa;AACb,4BAA4B;AAC5B,OAAO,MAAMK,QAAQ,CAACC,YAAkCC;IACtD,MAAM,EAAEC,QAAQ,EAAEC,MAAM,EAAE,GAAGF,UAAUG,mBAAmB,CAACT,OAAO;QAAEU,QAAQ;QAAMC,QAAQ;YAACN;SAAW;IAAC;IAEvG,OAAOH,mBAAmBK,UAAU;QAClCK,SAAS,IAAMJ,OAAOK,EAAE,CAAC,CAAC;IAC5B;AACF,EAAC;AAED,OAAO,MAAMC,eAAe,CAACR;IAC3B,MAAM,EAAEE,MAAM,EAAEO,WAAW,EAAE,GAAGT,UAAUG,mBAAmB,CAACT,OAAO;QAAEU,QAAQ;IAAa;IAE5F,OAAOP,mBACL,OAAO,EAAEa,MAAM,EAAEC,OAAO,EAAEC,MAAM,EAAEC,IAAI,EAAE,EAAEC,eAAe,EAAE;QACzD,MAAM,CAACC,YAAY,GAAGD,gBAAgBL;QACtC,MAAMO,OAAO,MAAMd,OAAOe,UAAU,CAAC;YAAEN;YAASC;YAAQC;QAAK;QAE7DE,YAAYC;QAEZ,OAAOA;IACT;AAEJ,EAAC;AAED,OAAO,MAAMC,aAAa,CAACjB,WAAsBK;IAC/C,MAAM,EAAEH,MAAM,EAAE,GAAGF,UAAUG,mBAAmB,CAACT,OAAO;QAAEU,QAAQ;IAAa;IAE/E,OAAOF,OAAOe,UAAU,CAACZ;AAC3B,EAAC;AAED,OAAO,MAAMa,gBAAgB,CAC3BnB,YACAC;IAEA,MAAM,EAAEE,MAAM,EAAED,QAAQ,EAAE,GAAGD,UAAUG,mBAAmB,CAACR,QAAQ;QAAES,QAAQ;QAAOC,QAAQ;YAACN;SAAW;IAAC;IAEzG,OAAOH,mBAAmBK,UAAU;QAClCK,SAAS;YACP,MAAMI,OAAO,MAAMR,OAAOiB,GAAG,CAAC,CAAC;YAE/B,OAAOT,KAAKA,IAAI,EAAEU;QACpB;IACF;AACF,EAAC;AAED,OAAO,MAAMC,WAAW,CAACrB,WAAsBsB;IAC7C,MAAM,EAAEpB,MAAM,EAAE,GAAGF,UAAUG,mBAAmB,CAACT,OAAO;QAAEU,QAAQ;IAAW;IAE7E,OAAOF,OAAOmB,QAAQ,CAAC;QAAEE,IAAID;IAAM;AACrC,EAAC"}
1
+ {"version":3,"sources":["../../../../../../packages/sdk-web-api/src/grpc/queries/user.ts"],"sourcesContent":["import { ReadableAtom } from 'nanostores'\nimport { Users } from '@streamlayer/sl-eslib/users/users_connect'\nimport type { BypassAuthRequest, BypassAuthResponse } from '@streamlayer/sl-eslib/users/users_pb'\nimport { Client } from '@streamlayer/sl-eslib/sdkSettings/client/client_connect'\nimport { PlainMessage } from '@bufbuild/protobuf'\n\nimport { Transport } from '../transport'\n\n// user query\n// cache user\n// invalidate token\n// login\n// save token\n// called on update user key\nexport const $user = ($userToken: ReadableAtom<string>, transport: Transport) => {\n const { queryKey, client } = transport.createPromiseClient(Users, { method: 'me', params: [$userToken] })\n\n return transport.nanoquery.createFetcherStore(queryKey, {\n fetcher: () => client.me({}),\n })\n}\n\nexport const $bypassLogin = (transport: Transport) => {\n const { client, queryKeyStr } = transport.createPromiseClient(Users, { method: 'bypassAuth' })\n\n return transport.nanoquery.createMutatorStore<PlainMessage<BypassAuthRequest>, PlainMessage<BypassAuthResponse>>(\n async ({ data: { userKey, schema, init }, getCacheUpdater }) => {\n const [updateCache] = getCacheUpdater(queryKeyStr)\n const user = await client.bypassAuth({ userKey, schema, init })\n\n updateCache(user)\n\n return user\n },\n )\n}\n\nexport const bypassAuth = (transport: Transport, params: { userKey?: string; schema?: string; init?: boolean }) => {\n const { client } = transport.createPromiseClient(Users, { method: 'bypassAuth' })\n\n return client.bypassAuth(params)\n}\n\nexport const $userSettings = (\n $userToken: ReadableAtom<string>, // sl user token\n transport: Transport,\n) => {\n const { client, queryKey } = transport.createPromiseClient(Client, { method: 'get', params: [$userToken] })\n\n return transport.nanoquery.createFetcherStore(queryKey, {\n fetcher: async () => {\n const data = await client.get({})\n\n return data.data?.attributes\n },\n })\n}\n\nexport const register = (transport: Transport, phone: string) => {\n const { client } = transport.createPromiseClient(Users, { method: 'register' })\n\n return client.register({ id: phone })\n}\n"],"names":["Users","Client","$user","$userToken","transport","queryKey","client","createPromiseClient","method","params","nanoquery","createFetcherStore","fetcher","me","$bypassLogin","queryKeyStr","createMutatorStore","data","userKey","schema","init","getCacheUpdater","updateCache","user","bypassAuth","$userSettings","get","attributes","register","phone","id"],"mappings":"AACA,SAASA,KAAK,QAAQ,4CAA2C;AAEjE,SAASC,MAAM,QAAQ,0DAAyD;AAKhF,aAAa;AACb,aAAa;AACb,mBAAmB;AACnB,QAAQ;AACR,aAAa;AACb,4BAA4B;AAC5B,OAAO,MAAMC,QAAQ,CAACC,YAAkCC;IACtD,MAAM,EAAEC,QAAQ,EAAEC,MAAM,EAAE,GAAGF,UAAUG,mBAAmB,CAACP,OAAO;QAAEQ,QAAQ;QAAMC,QAAQ;YAACN;SAAW;IAAC;IAEvG,OAAOC,UAAUM,SAAS,CAACC,kBAAkB,CAACN,UAAU;QACtDO,SAAS,IAAMN,OAAOO,EAAE,CAAC,CAAC;IAC5B;AACF,EAAC;AAED,OAAO,MAAMC,eAAe,CAACV;IAC3B,MAAM,EAAEE,MAAM,EAAES,WAAW,EAAE,GAAGX,UAAUG,mBAAmB,CAACP,OAAO;QAAEQ,QAAQ;IAAa;IAE5F,OAAOJ,UAAUM,SAAS,CAACM,kBAAkB,CAC3C,OAAO,EAAEC,MAAM,EAAEC,OAAO,EAAEC,MAAM,EAAEC,IAAI,EAAE,EAAEC,eAAe,EAAE;QACzD,MAAM,CAACC,YAAY,GAAGD,gBAAgBN;QACtC,MAAMQ,OAAO,MAAMjB,OAAOkB,UAAU,CAAC;YAAEN;YAASC;YAAQC;QAAK;QAE7DE,YAAYC;QAEZ,OAAOA;IACT;AAEJ,EAAC;AAED,OAAO,MAAMC,aAAa,CAACpB,WAAsBK;IAC/C,MAAM,EAAEH,MAAM,EAAE,GAAGF,UAAUG,mBAAmB,CAACP,OAAO;QAAEQ,QAAQ;IAAa;IAE/E,OAAOF,OAAOkB,UAAU,CAACf;AAC3B,EAAC;AAED,OAAO,MAAMgB,gBAAgB,CAC3BtB,YACAC;IAEA,MAAM,EAAEE,MAAM,EAAED,QAAQ,EAAE,GAAGD,UAAUG,mBAAmB,CAACN,QAAQ;QAAEO,QAAQ;QAAOC,QAAQ;YAACN;SAAW;IAAC;IAEzG,OAAOC,UAAUM,SAAS,CAACC,kBAAkB,CAACN,UAAU;QACtDO,SAAS;YACP,MAAMK,OAAO,MAAMX,OAAOoB,GAAG,CAAC,CAAC;YAE/B,OAAOT,KAAKA,IAAI,EAAEU;QACpB;IACF;AACF,EAAC;AAED,OAAO,MAAMC,WAAW,CAACxB,WAAsByB;IAC7C,MAAM,EAAEvB,MAAM,EAAE,GAAGF,UAAUG,mBAAmB,CAACP,OAAO;QAAEQ,QAAQ;IAAW;IAE7E,OAAOF,OAAOsB,QAAQ,CAAC;QAAEE,IAAID;IAAM;AACrC,EAAC"}
@@ -3,6 +3,7 @@ import { Interceptor, PromiseClient, UnaryRequest, StreamRequest } from '@bufbui
3
3
  import type { ServiceType } from '@bufbuild/protobuf';
4
4
  import { createGrpcWebTransport } from '@bufbuild/connect-web';
5
5
  import type { KeyInput } from '@nanostores/query';
6
+ import { nanoquery } from '@nanostores/query';
6
7
  type KnownHeaders = {
7
8
  authorization?: string;
8
9
  sdk?: string;
@@ -15,11 +16,18 @@ declare global {
15
16
  __GRPC_DEVTOOLS_EXTENSION__?: () => import('@bufbuild/connect').Interceptor;
16
17
  }
17
18
  }
19
+ type NanoqueryReturnType = ReturnType<typeof nanoquery>;
20
+ type NanoqueryObjectType = {
21
+ createFetcherStore: NanoqueryReturnType[0];
22
+ createMutatorStore: NanoqueryReturnType[1];
23
+ utils: NanoqueryReturnType[2];
24
+ };
18
25
  /**
19
26
  * transport wrapper, initialize grpc transport, store headers and connect interceptors
20
27
  */
21
28
  export declare class Transport {
22
29
  readonly transport: ReturnType<typeof createGrpcWebTransport>;
30
+ readonly nanoquery: NanoqueryObjectType;
23
31
  protected interceptors: Interceptor[];
24
32
  private readonly $headers;
25
33
  private clients;
@@ -2,9 +2,7 @@ import { MapStore, createMapStore } from '@streamlayer/sdk-web-interfaces';
2
2
  import { createRouterTransport } from '@connectrpc/connect';
3
3
  import { createPromiseClient } from '@bufbuild/connect';
4
4
  import { createGrpcWebTransport } from '@bufbuild/connect-web';
5
- const initialStore = {
6
- sdk: process.env.SDK_KEY
7
- };
5
+ import { nanoquery } from '@nanostores/query';
8
6
  /**
9
7
  * transport wrapper, initialize grpc transport, store headers and connect interceptors
10
8
  */ export class Transport {
@@ -81,9 +79,15 @@ const initialStore = {
81
79
  });
82
80
  }
83
81
  };
84
- this.$headers = new MapStore(createMapStore(initialStore));
82
+ this.$headers = new MapStore(createMapStore({}));
85
83
  this.initInterceptors();
86
84
  this.clients = new Map();
85
+ const [createFetcherStore, createMutatorStore, utils] = nanoquery();
86
+ this.nanoquery = {
87
+ createFetcherStore,
88
+ createMutatorStore,
89
+ utils
90
+ };
87
91
  this.transport = createGrpcWebTransport({
88
92
  baseUrl: process.env.NX_GRPC_HOST || 'https://grpc-web.next.streamlayer.io:443',
89
93
  interceptors: this.interceptors,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../packages/sdk-web-api/src/grpc/transport.ts"],"sourcesContent":["import { MapStore, createMapStore } from '@streamlayer/sdk-web-interfaces'\n\nimport { createRouterTransport, ConnectRouter } from '@connectrpc/connect'\nimport { Interceptor, createPromiseClient, PromiseClient, UnaryRequest, StreamRequest } from '@bufbuild/connect'\nimport type { ServiceType } from '@bufbuild/protobuf'\nimport { createGrpcWebTransport } from '@bufbuild/connect-web'\nimport type { KeyInput } from '@nanostores/query'\n\ntype KnownHeaders = {\n authorization?: string\n sdk?: string\n} & Record<string, string>\n\nconst initialStore: KnownHeaders = {\n sdk: process.env.SDK_KEY,\n}\n\nexport type GrpcTransport = Transport['transport']\n\ntype ReservedHeaders = 'sdk' | 'authorization'\ntype ExcludeReservedHeaders<T> = ReservedHeaders extends T ? never : T & T extends ReservedHeaders ? never : T\n\ndeclare global {\n interface Window {\n __GRPC_DEVTOOLS_EXTENSION__?: () => import('@bufbuild/connect').Interceptor\n }\n}\n\n/**\n * transport wrapper, initialize grpc transport, store headers and connect interceptors\n */\nexport class Transport {\n public readonly transport: ReturnType<typeof createGrpcWebTransport>\n protected interceptors: Interceptor[] = []\n private readonly $headers: MapStore<KnownHeaders>\n private clients: Map<keyof ServiceType['methods'], PromiseClient<ServiceType>>\n\n constructor() {\n this.$headers = new MapStore<KnownHeaders>(createMapStore(initialStore))\n this.initInterceptors()\n this.clients = new Map()\n\n this.transport = createGrpcWebTransport({\n baseUrl: process.env.NX_GRPC_HOST || 'https://grpc-web.next.streamlayer.io:443',\n interceptors: this.interceptors,\n useBinaryFormat: true,\n })\n }\n\n registerInterceptor = (interceptor: Interceptor) => {\n this.interceptors.push(interceptor)\n }\n\n removeInterceptor = (interceptor: Interceptor) => {\n this.interceptors = this.interceptors.filter((i) => i !== interceptor)\n }\n\n getClient = <T extends ServiceType>(service: T): PromiseClient<T> => {\n const serviceName = service.typeName\n\n if (this.clients.has(serviceName)) {\n return this.clients.get(serviceName) as PromiseClient<T>\n }\n\n const client = createPromiseClient(service, this.transport)\n\n this.clients.set(serviceName, client)\n\n return client\n }\n\n createPromiseClient = <T extends ServiceType>(\n service: T,\n { params = [], method }: { params?: KeyInput; method: keyof T['methods'] },\n ) => {\n const client = this.getClient(service)\n\n const methodName = service.methods[method].name\n const queryKey = [\n service.typeName,\n methodName.charAt(0).toLowerCase() + methodName.slice(1),\n ...(Array.isArray(params) ? params : [params]),\n ]\n\n return { client, queryKey, queryKeyStr: queryKey.toString() }\n }\n\n setSdkKey = (sdkKey: string) => {\n this.$headers.setValue('sdk', sdkKey)\n }\n\n setAuth = (token: string) => {\n this.$headers.setValue('authorization', token)\n }\n\n setHeader = <T extends keyof KnownHeaders = string>(name: ExcludeReservedHeaders<T>, value: string) =>\n this.$headers.setValue<string>(name, value)\n\n getHeader = (name: keyof KnownHeaders) => this.$headers.getValue(name)\n\n getHeaders = () => this.$headers.getValues()\n\n initInterceptors = () => {\n if (this.interceptors.length !== 0) {\n return\n }\n\n const auth: Interceptor = (next) => async (req) => {\n const headers = this.$headers.getValues()\n\n for (const header in headers) {\n req.header.set(header, headers[header])\n }\n try {\n return await next(req)\n } catch (err) {\n // eslint-disable-next-line no-console\n console.log({ err }, 'catch err') // logout and something like this\n\n throw err\n }\n }\n\n this.interceptors.push(auth)\n\n if (window.__GRPC_DEVTOOLS_EXTENSION__) {\n this.interceptors.push(window.__GRPC_DEVTOOLS_EXTENSION__())\n } else {\n window.addEventListener('grpc_devtools_loaded', () => {\n if (window.__GRPC_DEVTOOLS_EXTENSION__) {\n this.interceptors.push(window.__GRPC_DEVTOOLS_EXTENSION__())\n }\n })\n }\n }\n}\n\nexport class MockTransport extends Transport {\n public declare transport: ReturnType<typeof createRouterTransport>\n public calls: Array<UnaryRequest | StreamRequest>\n\n constructor(transport: (router: ConnectRouter) => void) {\n super()\n\n this.calls = []\n this.interceptors.push((next) => (req) => {\n this.calls.push(req)\n\n return next(req)\n })\n this.transport = createRouterTransport(transport, {\n transport: {\n interceptors: this.interceptors,\n },\n })\n }\n}\n"],"names":["MapStore","createMapStore","createRouterTransport","createPromiseClient","createGrpcWebTransport","initialStore","sdk","process","env","SDK_KEY","Transport","constructor","interceptors","registerInterceptor","interceptor","push","removeInterceptor","filter","i","getClient","service","serviceName","typeName","clients","has","get","client","transport","set","params","method","methodName","methods","name","queryKey","charAt","toLowerCase","slice","Array","isArray","queryKeyStr","toString","setSdkKey","sdkKey","$headers","setValue","setAuth","token","setHeader","value","getHeader","getValue","getHeaders","getValues","initInterceptors","length","auth","next","req","headers","header","err","console","log","window","__GRPC_DEVTOOLS_EXTENSION__","addEventListener","Map","baseUrl","NX_GRPC_HOST","useBinaryFormat","MockTransport","calls"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,cAAc,QAAQ,kCAAiC;AAE1E,SAASC,qBAAqB,QAAuB,sBAAqB;AAC1E,SAAsBC,mBAAmB,QAAoD,oBAAmB;AAEhH,SAASC,sBAAsB,QAAQ,wBAAuB;AAQ9D,MAAMC,eAA6B;IACjCC,KAAKC,QAAQC,GAAG,CAACC,OAAO;AAC1B;AAaA;;CAEC,GACD,OAAO,MAAMC;IAMXC,aAAc;aAJJC,eAA8B,EAAE;aAgB1CC,sBAAsB,CAACC;YACrB,IAAI,CAACF,YAAY,CAACG,IAAI,CAACD;QACzB;aAEAE,oBAAoB,CAACF;YACnB,IAAI,CAACF,YAAY,GAAG,IAAI,CAACA,YAAY,CAACK,MAAM,CAAC,CAACC,IAAMA,MAAMJ;QAC5D;aAEAK,YAAY,CAAwBC;YAClC,MAAMC,cAAcD,QAAQE,QAAQ;YAEpC,IAAI,IAAI,CAACC,OAAO,CAACC,GAAG,CAACH,cAAc;gBACjC,OAAO,IAAI,CAACE,OAAO,CAACE,GAAG,CAACJ;YAC1B;YAEA,MAAMK,SAASvB,oBAAoBiB,SAAS,IAAI,CAACO,SAAS;YAE1D,IAAI,CAACJ,OAAO,CAACK,GAAG,CAACP,aAAaK;YAE9B,OAAOA;QACT;aAEAvB,sBAAsB,CACpBiB,SACA,EAAES,SAAS,EAAE,EAAEC,MAAM,EAAqD;YAE1E,MAAMJ,SAAS,IAAI,CAACP,SAAS,CAACC;YAE9B,MAAMW,aAAaX,QAAQY,OAAO,CAACF,OAAO,CAACG,IAAI;YAC/C,MAAMC,WAAW;gBACfd,QAAQE,QAAQ;gBAChBS,WAAWI,MAAM,CAAC,GAAGC,WAAW,KAAKL,WAAWM,KAAK,CAAC;mBAClDC,MAAMC,OAAO,CAACV,UAAUA,SAAS;oBAACA;iBAAO;aAC9C;YAED,OAAO;gBAAEH;gBAAQQ;gBAAUM,aAAaN,SAASO,QAAQ;YAAG;QAC9D;aAEAC,YAAY,CAACC;YACX,IAAI,CAACC,QAAQ,CAACC,QAAQ,CAAC,OAAOF;QAChC;aAEAG,UAAU,CAACC;YACT,IAAI,CAACH,QAAQ,CAACC,QAAQ,CAAC,iBAAiBE;QAC1C;aAEAC,YAAY,CAAwCf,MAAiCgB,QACnF,IAAI,CAACL,QAAQ,CAACC,QAAQ,CAASZ,MAAMgB;aAEvCC,YAAY,CAACjB,OAA6B,IAAI,CAACW,QAAQ,CAACO,QAAQ,CAAClB;aAEjEmB,aAAa,IAAM,IAAI,CAACR,QAAQ,CAACS,SAAS;aAE1CC,mBAAmB;YACjB,IAAI,IAAI,CAAC1C,YAAY,CAAC2C,MAAM,KAAK,GAAG;gBAClC;YACF;YAEA,MAAMC,OAAoB,CAACC,OAAS,OAAOC;oBACzC,MAAMC,UAAU,IAAI,CAACf,QAAQ,CAACS,SAAS;oBAEvC,IAAK,MAAMO,UAAUD,QAAS;wBAC5BD,IAAIE,MAAM,CAAChC,GAAG,CAACgC,QAAQD,OAAO,CAACC,OAAO;oBACxC;oBACA,IAAI;wBACF,OAAO,MAAMH,KAAKC;oBACpB,EAAE,OAAOG,KAAK;wBACZ,sCAAsC;wBACtCC,QAAQC,GAAG,CAAC;4BAAEF;wBAAI,GAAG,aAAa,iCAAiC;;wBAEnE,MAAMA;oBACR;gBACF;YAEA,IAAI,CAACjD,YAAY,CAACG,IAAI,CAACyC;YAEvB,IAAIQ,OAAOC,2BAA2B,EAAE;gBACtC,IAAI,CAACrD,YAAY,CAACG,IAAI,CAACiD,OAAOC,2BAA2B;YAC3D,OAAO;gBACLD,OAAOE,gBAAgB,CAAC,wBAAwB;oBAC9C,IAAIF,OAAOC,2BAA2B,EAAE;wBACtC,IAAI,CAACrD,YAAY,CAACG,IAAI,CAACiD,OAAOC,2BAA2B;oBAC3D;gBACF;YACF;QACF;QAhGE,IAAI,CAACrB,QAAQ,GAAG,IAAI5C,SAAuBC,eAAeI;QAC1D,IAAI,CAACiD,gBAAgB;QACrB,IAAI,CAAC/B,OAAO,GAAG,IAAI4C;QAEnB,IAAI,CAACxC,SAAS,GAAGvB,uBAAuB;YACtCgE,SAAS7D,QAAQC,GAAG,CAAC6D,YAAY,IAAI;YACrCzD,cAAc,IAAI,CAACA,YAAY;YAC/B0D,iBAAiB;QACnB;IACF;AAwFF;AAEA,OAAO,MAAMC,sBAAsB7D;IAIjCC,YAAYgB,SAA0C,CAAE;QACtD,KAAK;QAEL,IAAI,CAAC6C,KAAK,GAAG,EAAE;QACf,IAAI,CAAC5D,YAAY,CAACG,IAAI,CAAC,CAAC0C,OAAS,CAACC;gBAChC,IAAI,CAACc,KAAK,CAACzD,IAAI,CAAC2C;gBAEhB,OAAOD,KAAKC;YACd;QACA,IAAI,CAAC/B,SAAS,GAAGzB,sBAAsByB,WAAW;YAChDA,WAAW;gBACTf,cAAc,IAAI,CAACA,YAAY;YACjC;QACF;IACF;AACF"}
1
+ {"version":3,"sources":["../../../../../packages/sdk-web-api/src/grpc/transport.ts"],"sourcesContent":["import { MapStore, createMapStore } from '@streamlayer/sdk-web-interfaces'\n\nimport { createRouterTransport, ConnectRouter } from '@connectrpc/connect'\nimport { Interceptor, createPromiseClient, PromiseClient, UnaryRequest, StreamRequest } from '@bufbuild/connect'\nimport type { ServiceType } from '@bufbuild/protobuf'\nimport { createGrpcWebTransport } from '@bufbuild/connect-web'\nimport type { KeyInput } from '@nanostores/query'\nimport { nanoquery } from '@nanostores/query'\n\ntype KnownHeaders = {\n authorization?: string\n sdk?: string\n} & Record<string, string>\n\nexport type GrpcTransport = Transport['transport']\n\ntype ReservedHeaders = 'sdk' | 'authorization'\ntype ExcludeReservedHeaders<T> = ReservedHeaders extends T ? never : T & T extends ReservedHeaders ? never : T\n\ndeclare global {\n interface Window {\n __GRPC_DEVTOOLS_EXTENSION__?: () => import('@bufbuild/connect').Interceptor\n }\n}\ntype NanoqueryReturnType = ReturnType<typeof nanoquery>\ntype NanoqueryObjectType = {\n createFetcherStore: NanoqueryReturnType[0]\n createMutatorStore: NanoqueryReturnType[1]\n utils: NanoqueryReturnType[2]\n}\n/**\n * transport wrapper, initialize grpc transport, store headers and connect interceptors\n */\nexport class Transport {\n public readonly transport: ReturnType<typeof createGrpcWebTransport>\n public readonly nanoquery: NanoqueryObjectType\n\n protected interceptors: Interceptor[] = []\n private readonly $headers: MapStore<KnownHeaders>\n private clients: Map<keyof ServiceType['methods'], PromiseClient<ServiceType>>\n\n constructor() {\n this.$headers = new MapStore<KnownHeaders>(createMapStore({}))\n this.initInterceptors()\n this.clients = new Map()\n const [createFetcherStore, createMutatorStore, utils] = nanoquery()\n\n this.nanoquery = { createFetcherStore, createMutatorStore, utils }\n\n this.transport = createGrpcWebTransport({\n baseUrl: process.env.NX_GRPC_HOST || 'https://grpc-web.next.streamlayer.io:443',\n interceptors: this.interceptors,\n useBinaryFormat: true,\n })\n }\n\n registerInterceptor = (interceptor: Interceptor) => {\n this.interceptors.push(interceptor)\n }\n\n removeInterceptor = (interceptor: Interceptor) => {\n this.interceptors = this.interceptors.filter((i) => i !== interceptor)\n }\n\n getClient = <T extends ServiceType>(service: T): PromiseClient<T> => {\n const serviceName = service.typeName\n\n if (this.clients.has(serviceName)) {\n return this.clients.get(serviceName) as PromiseClient<T>\n }\n\n const client = createPromiseClient(service, this.transport)\n\n this.clients.set(serviceName, client)\n\n return client\n }\n\n createPromiseClient = <T extends ServiceType>(\n service: T,\n { params = [], method }: { params?: KeyInput; method: keyof T['methods'] },\n ) => {\n const client = this.getClient(service)\n\n const methodName = service.methods[method].name\n const queryKey = [\n service.typeName,\n methodName.charAt(0).toLowerCase() + methodName.slice(1),\n ...(Array.isArray(params) ? params : [params]),\n ]\n\n return { client, queryKey, queryKeyStr: queryKey.toString() }\n }\n\n setSdkKey = (sdkKey: string) => {\n this.$headers.setValue('sdk', sdkKey)\n }\n\n setAuth = (token: string) => {\n this.$headers.setValue('authorization', token)\n }\n\n setHeader = <T extends keyof KnownHeaders = string>(name: ExcludeReservedHeaders<T>, value: string) =>\n this.$headers.setValue<string>(name, value)\n\n getHeader = (name: keyof KnownHeaders) => this.$headers.getValue(name)\n\n getHeaders = () => this.$headers.getValues()\n\n initInterceptors = () => {\n if (this.interceptors.length !== 0) {\n return\n }\n\n const auth: Interceptor = (next) => async (req) => {\n const headers = this.$headers.getValues()\n\n for (const header in headers) {\n req.header.set(header, headers[header])\n }\n try {\n return await next(req)\n } catch (err) {\n // eslint-disable-next-line no-console\n console.log({ err }, 'catch err') // logout and something like this\n\n throw err\n }\n }\n\n this.interceptors.push(auth)\n\n if (window.__GRPC_DEVTOOLS_EXTENSION__) {\n this.interceptors.push(window.__GRPC_DEVTOOLS_EXTENSION__())\n } else {\n window.addEventListener('grpc_devtools_loaded', () => {\n if (window.__GRPC_DEVTOOLS_EXTENSION__) {\n this.interceptors.push(window.__GRPC_DEVTOOLS_EXTENSION__())\n }\n })\n }\n }\n}\n\nexport class MockTransport extends Transport {\n public declare transport: ReturnType<typeof createRouterTransport>\n public calls: Array<UnaryRequest | StreamRequest>\n\n constructor(transport: (router: ConnectRouter) => void) {\n super()\n\n this.calls = []\n this.interceptors.push((next) => (req) => {\n this.calls.push(req)\n\n return next(req)\n })\n this.transport = createRouterTransport(transport, {\n transport: {\n interceptors: this.interceptors,\n },\n })\n }\n}\n"],"names":["MapStore","createMapStore","createRouterTransport","createPromiseClient","createGrpcWebTransport","nanoquery","Transport","constructor","interceptors","registerInterceptor","interceptor","push","removeInterceptor","filter","i","getClient","service","serviceName","typeName","clients","has","get","client","transport","set","params","method","methodName","methods","name","queryKey","charAt","toLowerCase","slice","Array","isArray","queryKeyStr","toString","setSdkKey","sdkKey","$headers","setValue","setAuth","token","setHeader","value","getHeader","getValue","getHeaders","getValues","initInterceptors","length","auth","next","req","headers","header","err","console","log","window","__GRPC_DEVTOOLS_EXTENSION__","addEventListener","Map","createFetcherStore","createMutatorStore","utils","baseUrl","process","env","NX_GRPC_HOST","useBinaryFormat","MockTransport","calls"],"mappings":"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"}