UNPKG

@cryptopuppie/useatomicassets

Version:

Custom SWR hooks for Atomicassets api data fetching.

297 lines (252 loc) 10.2 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }// react_shim.js var _react = require('react'); var _react2 = _interopRequireDefault(_react); // src/component/provider.tsx var UseAtomicContext = _react.createContext.call(void 0, {}); var UseAtomicAssetsProvider = ({ children, endpoint }) => { return /* @__PURE__ */ _react2.default.createElement(UseAtomicContext.Provider, { value: { endpoint } }, children); }; var useAtomicContext = () => { return _react.useContext.call(void 0, UseAtomicContext); }; var provider_default = UseAtomicAssetsProvider; // src/hooks/useAtomicGetter.ts var _swr = require('swr'); var _swr2 = _interopRequireDefault(_swr); var _urljoin = require('url-join'); var _urljoin2 = _interopRequireDefault(_urljoin); // src/lib/fetcher.ts var _crossfetch = require('cross-fetch'); var _crossfetch2 = _interopRequireDefault(_crossfetch); // src/lib/error.ts var FetchError = class extends Error { constructor(message, status) { super(message); this.status = status; } }; var error_default = FetchError; // src/lib/params.ts var parseParams = (params) => { return Object.keys(params).map((key) => { return encodeURIComponent(key) + "=" + encodeURIComponent(params[key]); }).join("&"); }; var params_default = parseParams; // src/lib/fetcher.ts var fetcher = async (url, params) => { let finalUrl = url; if (params != null) { finalUrl = _urljoin2.default.call(void 0, url, params != null ? "?" + params_default(params) : ""); } const res = await _crossfetch2.default.call(void 0, finalUrl); const data = await res.json(); if (!res.ok) { throw new error_default(data.message, res.status); } return data.data; }; var fetcher_default = fetcher; // src/hooks/useAtomicGetter.ts var useAtomicGetter = (props) => { let { uri, params, endpoint } = _nullishCoalesce(props, () => ( { uri: "" })); const { endpoint: contextEndpoint } = useAtomicContext(); endpoint = _nullishCoalesce((endpoint != null ? endpoint : contextEndpoint), () => ( "")); const { data, error } = _swr2.default.call(void 0, props != null ? [_urljoin2.default.call(void 0, endpoint, uri), params] : null, fetcher_default); let isError = false; if (error != null) { isError = true; } return { data, isError, error }; }; var useAtomicGetter_default = useAtomicGetter; // src/hooks/useGetAccount.ts var useGetAccount = (account, props, options) => { const { endpoint, initialData } = _nullishCoalesce(options, () => ( {})); return useAtomicGetter_default(account != null ? { uri: `/atomicassets/v1/accounts/${account}`, params: _nullishCoalesce(props, () => ( void 0)), endpoint, initialData } : null); }; var useGetAccount_default = useGetAccount; // src/hooks/useGetAccounts.ts var useGetAccounts = (props, options) => { const { endpoint, initialData } = _nullishCoalesce(options, () => ( {})); return useAtomicGetter_default(props != null ? { uri: "/atomicassets/v1/accounts", params: props, endpoint, initialData } : null); }; var useGetAccounts_default = useGetAccounts; // src/hooks/useGetAssetID.ts var useGetAssetID = (assetId, options) => { const { endpoint, initialData } = _nullishCoalesce(options, () => ( {})); return useAtomicGetter_default(assetId != null ? { uri: `/atomciassets/v1/assets/${assetId}`, endpoint, initialData } : null); }; var useGetAssetID_default = useGetAssetID; // src/lib/data.ts function buildDataOptions(data) { const dataFields = {}; for (const row of data) { const dataType = _nullishCoalesce(row.type, () => ( "data")); if (typeof row.value === "number") { dataFields[dataType + ":number." + row.key] = String(row.value); } else if (typeof row.value === "boolean") { dataFields[dataType + ":bool." + row.key] = row.value ? "true" : "false"; } else { dataFields[dataType + "." + row.key] = row.value; } } return Object.assign({}, dataFields); } // src/hooks/useGetAssets.ts var useGetAssets = (props, dataOptions, options) => { const { endpoint, initialData } = _nullishCoalesce(options, () => ( {})); let dOptions = {}; if (dataOptions != null) { dOptions = buildDataOptions(dataOptions); } return useAtomicGetter_default(props != null ? { uri: "/atomicassets/v1/assets", params: { ...props, ...dOptions }, endpoint, initialData } : null); }; var useGetAssets_default = useGetAssets; // src/hooks/useGetCollectionName.ts var useGetCollectionName = (collectionName, options) => { const { endpoint, initialData } = _nullishCoalesce(options, () => ( {})); return useAtomicGetter_default(collectionName != null ? { uri: `/atomicassets/v1/collections/${collectionName}`, endpoint, initialData } : null); }; var useGetCollectionName_default = useGetCollectionName; // src/hooks/useGetCollections.ts var useGetCollections = (props, options) => { const { endpoint, initialData } = _nullishCoalesce(options, () => ( {})); return useAtomicGetter_default(props != null ? { uri: "/atomicassets/v1/collections", params: props, endpoint, initialData } : null); }; var useGetCollections_default = useGetCollections; // src/hooks/useGetSchemaName.ts var useGetSchemaName = (props, options) => { const { endpoint, initialData } = _nullishCoalesce(options, () => ( {})); return useAtomicGetter_default(props != null ? { uri: `/atomicassets/v1/schemas/${props.collectionName}/${props.schemaName}`, endpoint, initialData } : null); }; var useGetSchemaName_default = useGetSchemaName; // src/hooks/useGetSchemas.ts var useGetSchemas = (props, options) => { const { endpoint, initialData } = _nullishCoalesce(options, () => ( {})); return useAtomicGetter_default(props != null ? { uri: "/atomicassets/v1/schemas", params: props, endpoint, initialData } : null); }; var useGetSchemas_default = useGetSchemas; // src/hooks/useGetTemplateID.ts var useGetTemplateID = (props, options) => { const { endpoint, initialData } = _nullishCoalesce(options, () => ( {})); return useAtomicGetter_default(props != null ? { uri: `/atomicassets/v1/templates/${props.collectionName}/${props.templateID}`, endpoint, initialData } : null); }; var useGetTemplateID_default = useGetTemplateID; // src/hooks/useGetTemplates.ts var useGetTemplates = (props, options) => { const { endpoint, initialData } = _nullishCoalesce(options, () => ( {})); return useAtomicGetter_default(props != null ? { uri: "/atomicassets/v1/templates", params: props, endpoint, initialData } : null); }; var useGetTemplates_default = useGetTemplates; // src/hooks/useMarketGetSales.ts var useMarketGetSales = (props, dataOptions, options) => { const { endpoint, initialData } = _nullishCoalesce(options, () => ( {})); let dOptions = {}; if (dataOptions != null) { dOptions = buildDataOptions(dataOptions); } return useAtomicGetter_default(props != null ? { uri: "/atomicmarket/v1/sales", params: { ...props, ...dOptions }, endpoint, initialData } : null); }; var useMarketGetSales_default = useMarketGetSales; // src/typings/atomicassets-js/Enums.ts var OfferState = /* @__PURE__ */ ((OfferState2) => { OfferState2[OfferState2["Pending"] = 0] = "Pending"; OfferState2[OfferState2["Invalid"] = 1] = "Invalid"; OfferState2[OfferState2["Unknown"] = 2] = "Unknown"; OfferState2[OfferState2["Accepted"] = 3] = "Accepted"; OfferState2[OfferState2["Declined"] = 4] = "Declined"; OfferState2[OfferState2["Canceled"] = 5] = "Canceled"; return OfferState2; })(OfferState || {}); var OrderParam = /* @__PURE__ */ ((OrderParam2) => { OrderParam2["Asc"] = "asc"; OrderParam2["Desc"] = "desc"; return OrderParam2; })(OrderParam || {}); var AssetsSort = /* @__PURE__ */ ((AssetsSort2) => { AssetsSort2["AssetId"] = "asset_id"; AssetsSort2["Updated"] = "updated"; AssetsSort2["Transferred"] = "transferred"; AssetsSort2["Minted"] = "minted"; AssetsSort2["TemplateMint"] = "template_mint"; AssetsSort2["Name"] = "name"; return AssetsSort2; })(AssetsSort || {}); var CollectionsSort = /* @__PURE__ */ ((CollectionsSort2) => { CollectionsSort2["Created"] = "created"; CollectionsSort2["CollectionName"] = "collection_name"; return CollectionsSort2; })(CollectionsSort || {}); var OffersSort = /* @__PURE__ */ ((OffersSort2) => { OffersSort2["Created"] = "created"; OffersSort2["Updated"] = "updated"; return OffersSort2; })(OffersSort || {}); var SchemasSort = /* @__PURE__ */ ((SchemasSort2) => { SchemasSort2["Created"] = "created"; SchemasSort2["SchemaName"] = "schema_name"; return SchemasSort2; })(SchemasSort || {}); var TemplatesSort = /* @__PURE__ */ ((TemplatesSort2) => { TemplatesSort2["Created"] = "created"; TemplatesSort2["Name"] = "name"; return TemplatesSort2; })(TemplatesSort || {}); var TransfersSort = /* @__PURE__ */ ((TransfersSort2) => { TransfersSort2["Created"] = "created"; return TransfersSort2; })(TransfersSort || {}); exports.AssetsSort = AssetsSort; exports.CollectionsSort = CollectionsSort; exports.OfferState = OfferState; exports.OffersSort = OffersSort; exports.OrderParam = OrderParam; exports.SchemasSort = SchemasSort; exports.TemplatesSort = TemplatesSort; exports.TransfersSort = TransfersSort; exports.UseAtomicAssetsProvider = provider_default; exports.useAtomicGetter = useAtomicGetter_default; exports.useGetAccount = useGetAccount_default; exports.useGetAccounts = useGetAccounts_default; exports.useGetAssetID = useGetAssetID_default; exports.useGetAssets = useGetAssets_default; exports.useGetCollectionName = useGetCollectionName_default; exports.useGetCollections = useGetCollections_default; exports.useGetSchemaName = useGetSchemaName_default; exports.useGetSchemas = useGetSchemas_default; exports.useGetTemplateID = useGetTemplateID_default; exports.useGetTemplates = useGetTemplates_default; exports.useMarketGetSales = useMarketGetSales_default;