{"version":3,"sources":["../src/domains.ts"],"sourcesContent":["import { fetcher, useFetch } from \"matsuri-hooks\";\nimport { getM2MStorageHubDomain } from \"./storage/getM2MStorageHubDomain\";\nimport {\n  type DomainRecord,\n  productionDomains,\n  developmentDomains,\n} from \"./domains-data\";\n\nexport * from \"./domains-data\";\n\n/**\n * 可能なら最新のドメインを取得し、取得出来なければリリース時のドメインを返す。\n * Q. なぜgetDomainsではなくuseDomainsなのか\n * A. M2M_COMPONENTS_ENVが設定される前に、この関数が呼び出されると常にdevelopmentになってしまうため、\n * Reactを利用するケースを考えるとコンポーネントのレンダリング時などに呼んでもらう必要がある。\n * React hookのような命名にしておくことで、Linterによってこれを強制できる。\n */\nexport const useDomains = (): DomainRecord => {\n  const env =\n    globalThis.M2M_COMPONENTS_ENV === \"production\"\n      ? \"production\"\n      : \"development\";\n  const domain = getM2MStorageHubDomain(env);\n  const { data, error } = useFetch<DomainRecord>(\n    `${domain}/api/domains/${env}`,\n  );\n  if (error || !data) {\n    return env === \"production\" ? productionDomains : developmentDomains;\n  }\n  return data;\n};\n\nexport const domainsPromise = async (\n  signal?: AbortSignal,\n): Promise<DomainRecord> => {\n  const env =\n    globalThis.M2M_COMPONENTS_ENV === \"production\"\n      ? \"production\"\n      : \"development\";\n  const domain = getM2MStorageHubDomain(env);\n  const { data, error } = await fetcher<DomainRecord>(\n    `${domain}/api/domains/${env}`,\n    {\n      // eslint-disable-next-line no-restricted-globals\n      fetch: (info, init) => fetch(info, { ...init, signal }),\n    },\n  );\n  if (error || !data) {\n    return env === \"production\" ? productionDomains : developmentDomains;\n  }\n  return data;\n};\n"],"mappings":";;;;;;;;;AAAA,SAAS,SAAS,gBAAgB;AAiB3B,IAAM,aAAa,MAAoB;AAC5C,QAAM,MACJ,WAAW,uBAAuB,eAC9B,eACA;AACN,QAAM,SAAS,uBAAuB,GAAG;AACzC,QAAM,EAAE,MAAM,MAAM,IAAI;AAAA,IACtB,GAAG,MAAM,gBAAgB,GAAG;AAAA,EAC9B;AACA,MAAI,SAAS,CAAC,MAAM;AAClB,WAAO,QAAQ,eAAe,oBAAoB;AAAA,EACpD;AACA,SAAO;AACT;AAEO,IAAM,iBAAiB,OAC5B,WAC0B;AAC1B,QAAM,MACJ,WAAW,uBAAuB,eAC9B,eACA;AACN,QAAM,SAAS,uBAAuB,GAAG;AACzC,QAAM,EAAE,MAAM,MAAM,IAAI,MAAM;AAAA,IAC5B,GAAG,MAAM,gBAAgB,GAAG;AAAA,IAC5B;AAAA;AAAA,MAEE,OAAO,CAAC,MAAM,SAAS,MAAM,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC;AAAA,IACxD;AAAA,EACF;AACA,MAAI,SAAS,CAAC,MAAM;AAClB,WAAO,QAAQ,eAAe,oBAAoB;AAAA,EACpD;AACA,SAAO;AACT;","names":[]}