@leather.io/utils
Advanced tools
| {"version":3,"file":"index.d.ts","names":[],"sources":["../src/counter.ts","../src/math/calculate-averages.ts","../src/math/fibonacci.ts","../src/math/helpers.ts","../src/math/scale-value.ts","../src/money/calculate-money.ts","../src/money/create-money.ts","../src/money/is-money.ts","../src/money/is-fiat-currency-code.ts","../src/money/unit-conversion.ts","../src/accounts/account-addresses.ts","../src/assets/sort-assets.ts","../src/assets/asset-display-name.ts","../src/assets/balance-helpers.ts","../src/assets/inscription-helpers.ts","../src/assets/asset-id.ts","../src/truncate-middle.ts","../src/time.ts","../src/market-data.ts","../src/currency-formatter/currency-formatter.types.ts","../src/currency-formatter/currency-formatter.ts","../src/flatten-object.ts","../src/special-char.ts","../src/spam-filter/spam-filter.ts","../src/extract-phrase-from-string/extract-phrase-from-string.ts","../src/px-string-to-number/px-string-to-number.ts","../src/explorer/make-stacks-tx-explorer-link.ts","../src/sanitize-content.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"} |
| import { defineConfig } from 'tsdown'; | ||
| export default defineConfig({ | ||
| entry: ['src/index.ts'], | ||
| dts: true, | ||
| external: ['dompurify'], | ||
| fixedExtension: false, | ||
| }); |
+13
-14
| > @leather.io/utils@0.49.1 build /home/runner/work/mono/mono/packages/utils | ||
| > tsup | ||
| > @leather.io/utils@0.49.2 build /home/runner/work/mono/mono/packages/utils | ||
| > tsdown | ||
| [34mCLI[39m Building entry: src/index.ts | ||
| [34mCLI[39m Using tsconfig: tsconfig.json | ||
| [34mCLI[39m tsup v8.4.0 | ||
| [34mCLI[39m Using tsup config: /home/runner/work/mono/mono/packages/utils/tsup.config.ts | ||
| [34mCLI[39m Target: es2022 | ||
| [34mESM[39m Build start | ||
| [32mESM[39m [1mdist/index.js [22m[32m73.66 KB[39m | ||
| [32mESM[39m [1mdist/index.js.map [22m[32m139.51 KB[39m | ||
| [32mESM[39m ⚡️ Build success in 79ms | ||
| [34mDTS[39m Build start | ||
| [32mDTS[39m ⚡️ Build success in 3365ms | ||
| [32mDTS[39m [1mdist/index.d.ts [22m[32m15.02 KB[39m | ||
| [34mℹ[39m tsdown [2mv0.16.5[22m powered by rolldown [2mv1.0.0-beta.50[22m | ||
| [34mℹ[39m Using tsdown config: [4m/home/runner/work/mono/mono/packages/utils/tsdown.config.ts[24m | ||
| [34mℹ[39m entry: [34msrc/index.ts[39m | ||
| [34mℹ[39m tsconfig: [34mtsconfig.json[39m | ||
| [34mℹ[39m Build start | ||
| [34mℹ[39m [2mdist/[22m[1mindex.js[22m [2m 70.55 kB[22m [2m│ gzip: 19.71 kB[22m | ||
| [34mℹ[39m [2mdist/[22mindex.js.map [2m126.67 kB[22m [2m│ gzip: 28.05 kB[22m | ||
| [34mℹ[39m [2mdist/[22mindex.d.ts.map [2m 7.69 kB[22m [2m│ gzip: 3.09 kB[22m | ||
| [34mℹ[39m [2mdist/[22m[32m[1mindex.d.ts[22m[39m [2m 16.83 kB[22m [2m│ gzip: 4.46 kB[22m | ||
| [34mℹ[39m 4 files, total: 221.74 kB | ||
| [32m✔[39m Build complete in [32m2987ms[39m |
+18
-0
@@ -371,2 +371,20 @@ # Changelog | ||
| ## [0.49.2](https://github.com/leather-io/mono/compare/@leather.io/utils-v0.49.1...@leather.io/utils-v0.49.2) (2025-12-02) | ||
| ### Bug Fixes | ||
| * tsdown upgrade ([9bd347b](https://github.com/leather-io/mono/commit/9bd347b62e2deb9f7b65fa462b5fa281f4d106aa)) | ||
| ### Dependencies | ||
| * The following workspace dependencies were updated | ||
| * dependencies | ||
| * @leather.io/constants bumped to 0.28.2 | ||
| * @leather.io/models bumped to 0.50.1 | ||
| * devDependencies | ||
| * @leather.io/test-config bumped to 0.1.1 | ||
| * @leather.io/tsconfig-config bumped to 0.11.1 | ||
| ## [0.49.1](https://github.com/leather-io/mono/compare/@leather.io/utils-v0.49.0...@leather.io/utils-v0.49.1) (2025-11-26) | ||
@@ -373,0 +391,0 @@ |
+141
-98
@@ -1,15 +0,19 @@ | ||
| import BigNumber, { BigNumber as BigNumber$1 } from 'bignumber.js'; | ||
| import { Money, MarketData, NumType, Currency, AccountId, AccountAddresses, BitcoinAddressInfo, StacksAddressInfo, CryptoAsset, BaseCryptoAssetBalance, BtcBalance, StxBalance, InscriptionMimeType, InscriptionAsset, CryptoAssetId, Sip9Asset, BitcoinNetworkModes, NetworkModes } from '@leather.io/models'; | ||
| import BigNumber, { BigNumber as BigNumber$1 } from "bignumber.js"; | ||
| import { AccountAddresses, AccountId, BaseCryptoAssetBalance, BitcoinAddressInfo, BitcoinNetworkModes, BtcBalance, CryptoAsset, CryptoAssetId, Currency, InscriptionAsset, InscriptionMimeType, MarketData, Money, NetworkModes, NumType, Sip9Asset, StacksAddressInfo, StxBalance } from "@leather.io/models"; | ||
| //#region src/counter.d.ts | ||
| declare function createCounter(startPosition?: number): { | ||
| getValue(): number; | ||
| increment(): number; | ||
| incrementBy(amount: number): number; | ||
| decrement(): number; | ||
| getValue(): number; | ||
| increment(): number; | ||
| incrementBy(amount: number): number; | ||
| decrement(): number; | ||
| }; | ||
| //#endregion | ||
| //#region src/math/calculate-averages.d.ts | ||
| declare function calculateMeanAverage(numbers: BigNumber[] | number[]): BigNumber; | ||
| //#endregion | ||
| //#region src/math/fibonacci.d.ts | ||
| declare function fibonacciGenerator(startIndex?: number): IterableIterator<number>; | ||
| //#endregion | ||
| //#region src/math/helpers.d.ts | ||
| declare function initBigNumber(num: string | number | BigNumber | bigint): BigNumber; | ||
@@ -19,8 +23,16 @@ declare function isEven(num: number): boolean; | ||
| declare function increaseValueByOneMicroStx(value: string | number | BigNumber): number; | ||
| //#endregion | ||
| //#region src/math/scale-value.d.ts | ||
| declare function scaleValue(num: number): number; | ||
| //#endregion | ||
| //#region src/money/calculate-money.d.ts | ||
| declare function baseCurrencyAmountInQuoteWithFallback(quantity: Money, marketData?: MarketData): Money; | ||
| declare function baseCurrencyAmountInQuote(quantity: Money, { pair, price }: MarketData): Money; | ||
| declare function quoteCurrencyAmountToBase(quantity: Money, { pair, price }: MarketData, decimals: number): Money; | ||
| declare function baseCurrencyAmountInQuote(quantity: Money, { | ||
| pair, | ||
| price | ||
| }: MarketData): Money; | ||
| declare function quoteCurrencyAmountToBase(quantity: Money, { | ||
| pair, | ||
| price | ||
| }: MarketData, decimals: number): Money; | ||
| declare function convertAmountToFractionalUnit(num: Money | BigNumber$1, decimals?: number): BigNumber$1; | ||
@@ -33,3 +45,4 @@ declare function convertToMoneyTypeWithDefaultOfZero(symbol: string, num?: NumType, decimals?: number): Money; | ||
| declare function maxMoney(moneyArr: Money[]): Money; | ||
| //#endregion | ||
| //#region src/money/create-money.d.ts | ||
| /** | ||
@@ -47,8 +60,11 @@ * @param value Amount described in currency's primary unit | ||
| declare function createMoney(value: NumType, symbol: Currency, resolution?: number): Money; | ||
| //#endregion | ||
| //#region src/money/is-money.d.ts | ||
| declare function isMoney(val: unknown): val is Money; | ||
| declare function isMoneyGreaterThanZero(money: Money): boolean | undefined; | ||
| //#endregion | ||
| //#region src/money/is-fiat-currency-code.d.ts | ||
| declare function isFiatCurrencyCode(code: string): boolean; | ||
| //#endregion | ||
| //#region src/money/unit-conversion.d.ts | ||
| declare function unitToFractionalUnit(decimals: number): (unit: number | string | BigNumber) => BigNumber; | ||
@@ -60,20 +76,24 @@ declare const satToBtc: (unit: number | string | BigNumber) => BigNumber; | ||
| declare function moneyToBaseUnit(sum: Money): BigNumber; | ||
| //#endregion | ||
| //#region src/accounts/account-addresses.d.ts | ||
| declare function createAccountAddresses(accountId: AccountId, btcDescriptors?: string[], stxAddress?: string): AccountAddresses; | ||
| declare function hasBitcoinAddress(account: AccountAddresses): account is AccountAddresses & { | ||
| bitcoin: BitcoinAddressInfo; | ||
| bitcoin: BitcoinAddressInfo; | ||
| }; | ||
| declare function hasStacksAddress(account: AccountAddresses): account is AccountAddresses & { | ||
| stacks: StacksAddressInfo; | ||
| stacks: StacksAddressInfo; | ||
| }; | ||
| //#endregion | ||
| //#region src/assets/sort-assets.d.ts | ||
| declare function sortAssetsByName<T extends { | ||
| name: string; | ||
| name: string; | ||
| }[]>(assets: T): T; | ||
| declare function migratePositiveAssetBalancesToTop<T extends { | ||
| balance: Money; | ||
| balance: Money; | ||
| }[]>(assets: T): T; | ||
| //#endregion | ||
| //#region src/assets/asset-display-name.d.ts | ||
| declare function getAssetDisplayName(asset: CryptoAsset): string; | ||
| //#endregion | ||
| //#region src/assets/balance-helpers.d.ts | ||
| declare function createBaseCryptoAssetBalance(totalBalance: Money, inboundBal?: Money, outboundBal?: Money): BaseCryptoAssetBalance; | ||
@@ -85,21 +105,21 @@ declare function createBtcBalance(totalBalance: Money, inboundBal?: Money, outboundBal?: Money, protectedBal?: Money, dustBal?: Money, unspendableBal?: Money): BtcBalance; | ||
| declare function aggregateStxBalances(balances: StxBalance[]): StxBalance; | ||
| declare function whenInscriptionMimeType<T>(mimeType: string, branches: { | ||
| [k in InscriptionMimeType]?: () => T; | ||
| }): T; | ||
| //#endregion | ||
| //#region src/assets/inscription-helpers.d.ts | ||
| declare function whenInscriptionMimeType<T>(mimeType: string, branches: { [k in InscriptionMimeType]?: () => T }): T; | ||
| interface CreateInscriptionData { | ||
| readonly id: string; | ||
| readonly number: number; | ||
| readonly contentSrc: string; | ||
| readonly mimeType?: string; | ||
| readonly ownerAddress: string; | ||
| readonly satPoint: string; | ||
| readonly genesisBlockHash: string; | ||
| readonly genesisTimestamp: string | number; | ||
| readonly genesisBlockHeight: number; | ||
| readonly outputValue: string; | ||
| readonly thumbnailSrc?: string; | ||
| readonly id: string; | ||
| readonly number: number; | ||
| readonly contentSrc: string; | ||
| readonly mimeType?: string; | ||
| readonly ownerAddress: string; | ||
| readonly satPoint: string; | ||
| readonly genesisBlockHash: string; | ||
| readonly genesisTimestamp: string | number; | ||
| readonly genesisBlockHeight: number; | ||
| readonly outputValue: string; | ||
| readonly thumbnailSrc?: string; | ||
| } | ||
| declare function createInscriptionAsset(data: CreateInscriptionData): InscriptionAsset; | ||
| //#endregion | ||
| //#region src/assets/asset-id.d.ts | ||
| declare function matchesAssetId(asset: CryptoAsset, assetId: CryptoAssetId): boolean; | ||
@@ -112,4 +132,4 @@ declare function isSameAssetId(assetId1: CryptoAssetId, assetId2: CryptoAssetId): boolean; | ||
| declare function parseSip9IdField(id: string): { | ||
| assetId: string; | ||
| tokenId: number; | ||
| assetId: string; | ||
| tokenId: number; | ||
| }; | ||
@@ -119,5 +139,7 @@ type SerializedCryptoAssetId = `${string}|${string}`; | ||
| declare function deserializeAssetId(serializedAssetId: SerializedCryptoAssetId): CryptoAssetId; | ||
| //#endregion | ||
| //#region src/truncate-middle.d.ts | ||
| declare function truncateMiddle(input: string, offset?: number): string; | ||
| //#endregion | ||
| //#region src/time.d.ts | ||
| declare const oneMinInMs: number; | ||
@@ -137,3 +159,4 @@ declare const fiveMinInMs: number; | ||
| declare function minutesInSec(minutes: number): number; | ||
| //#endregion | ||
| //#region src/market-data.d.ts | ||
| /** | ||
@@ -151,48 +174,54 @@ * Rebases MarketData to a different quote currency using exchange rate. | ||
| declare function invertExchangeRate(exchangeRate: MarketData): MarketData; | ||
| //#endregion | ||
| //#region src/currency-formatter/currency-formatter.types.d.ts | ||
| interface FormatAmountInput { | ||
| amount: number; | ||
| currencyCode: string; | ||
| decimals: number; | ||
| amount: number; | ||
| currencyCode: string; | ||
| decimals: number; | ||
| } | ||
| interface FormatAmountCustomOptions { | ||
| compactThreshold?: number; | ||
| showCurrency?: boolean; | ||
| approximateDust?: boolean; | ||
| compactThreshold?: number; | ||
| showCurrency?: boolean; | ||
| approximateDust?: boolean; | ||
| } | ||
| interface FormatAmountOptions extends FormatAmountCustomOptions { | ||
| preset?: CurrencyFormatterPreset; | ||
| numberFormatOptions?: Intl.NumberFormatOptions; | ||
| preset?: CurrencyFormatterPreset; | ||
| numberFormatOptions?: Intl.NumberFormatOptions; | ||
| } | ||
| type CurrencyFormatterPreset = 'price' | 'shorthand-balance' | 'pad-decimals'; | ||
| //#endregion | ||
| //#region src/currency-formatter/currency-formatter.d.ts | ||
| interface CreateCurrencyFormatterParams { | ||
| locale: string; | ||
| onError?: (error: unknown, context: { | ||
| locale: string; | ||
| onError?: (error: unknown, context: { | ||
| locale: string; | ||
| options: Intl.NumberFormatOptions; | ||
| }) => void; | ||
| options: Intl.NumberFormatOptions; | ||
| }) => void; | ||
| } | ||
| declare function createCurrencyFormatter({ locale, onError }: CreateCurrencyFormatterParams): { | ||
| formatAmount: (input: FormatAmountInput, options?: FormatAmountOptions) => string; | ||
| formatAmountWithMeta: (input: FormatAmountInput, options?: FormatAmountOptions) => { | ||
| valid: boolean; | ||
| result: string; | ||
| parts: never[]; | ||
| resolvedOptions: {}; | ||
| } | { | ||
| valid: boolean; | ||
| result: string; | ||
| parts: Intl.NumberFormatPart[]; | ||
| resolvedOptions: Intl.ResolvedNumberFormatOptions; | ||
| }; | ||
| formatPercentage: (amount: number, decimals?: number) => string; | ||
| declare function createCurrencyFormatter({ | ||
| locale, | ||
| onError | ||
| }: CreateCurrencyFormatterParams): { | ||
| formatAmount: (input: FormatAmountInput, options?: FormatAmountOptions) => string; | ||
| formatAmountWithMeta: (input: FormatAmountInput, options?: FormatAmountOptions) => { | ||
| valid: boolean; | ||
| result: string; | ||
| parts: never[]; | ||
| resolvedOptions: {}; | ||
| } | { | ||
| valid: boolean; | ||
| result: string; | ||
| parts: Intl.NumberFormatPart[]; | ||
| resolvedOptions: Intl.ResolvedNumberFormatOptions; | ||
| }; | ||
| formatPercentage: (amount: number, decimals?: number) => string; | ||
| }; | ||
| //#endregion | ||
| //#region src/flatten-object.d.ts | ||
| type ObjectValue = string | number | boolean | null | NestedObject | ObjectValue[]; | ||
| interface NestedObject { | ||
| [key: string]: ObjectValue; | ||
| [key: string]: ObjectValue; | ||
| } | ||
| interface FlattenedObject { | ||
| [key: string]: string | number | boolean | null; | ||
| [key: string]: string | number | boolean | null; | ||
| } | ||
@@ -222,23 +251,37 @@ /** | ||
| declare function flattenObject(input: ObjectValue, prefix?: string): FlattenedObject; | ||
| //#endregion | ||
| //#region src/special-char.d.ts | ||
| declare const minusSign = "\u2212"; | ||
| //#endregion | ||
| //#region src/spam-filter/spam-filter.d.ts | ||
| interface SpamFilterArgs { | ||
| input: string; | ||
| whitelist: string[]; | ||
| input: string; | ||
| whitelist: string[]; | ||
| } | ||
| declare function spamFilter({ input, whitelist }: SpamFilterArgs): string; | ||
| declare function spamFilter({ | ||
| input, | ||
| whitelist | ||
| }: SpamFilterArgs): string; | ||
| //#endregion | ||
| //#region src/extract-phrase-from-string/extract-phrase-from-string.d.ts | ||
| declare function extractPhraseFromString(value: string): string; | ||
| //#endregion | ||
| //#region src/px-string-to-number/px-string-to-number.d.ts | ||
| declare function pxStringToNumber(pxString: string): number; | ||
| //#endregion | ||
| //#region src/explorer/make-stacks-tx-explorer-link.d.ts | ||
| interface MakeStacksTxExplorerLinkArgs { | ||
| mode: BitcoinNetworkModes; | ||
| searchParams?: URLSearchParams; | ||
| txid: string; | ||
| isNakamoto?: boolean; | ||
| mode: BitcoinNetworkModes; | ||
| searchParams?: URLSearchParams; | ||
| txid: string; | ||
| isNakamoto?: boolean; | ||
| } | ||
| declare function makeStacksTxExplorerLink({ mode, searchParams, txid, isNakamoto, }: MakeStacksTxExplorerLinkArgs): string; | ||
| declare function makeStacksTxExplorerLink({ | ||
| mode, | ||
| searchParams, | ||
| txid, | ||
| isNakamoto | ||
| }: MakeStacksTxExplorerLinkArgs): string; | ||
| //#endregion | ||
| //#region src/sanitize-content.d.ts | ||
| /** | ||
@@ -249,3 +292,4 @@ * Universal sanitizer for dynamic HTML content. | ||
| declare function sanitizeContent(dirty: string): string; | ||
| //#endregion | ||
| //#region src/index.d.ts | ||
| declare function isNumber(value: unknown): value is number; | ||
@@ -282,3 +326,3 @@ declare function isString(value: unknown): value is string; | ||
| declare function propIfDefined(prop: string, value: any): { | ||
| [prop]: boolean; | ||
| [prop]: boolean; | ||
| }; | ||
@@ -289,5 +333,3 @@ declare function isHexString(value: string): boolean; | ||
| type MapFunction<T, U> = (value: T[keyof T], key: string) => U; | ||
| declare function mapObject<T extends object, U>(obj: T, mapFn: MapFunction<T, U>): { | ||
| [K in keyof T]: U; | ||
| }; | ||
| declare function mapObject<T extends object, U>(obj: T, mapFn: MapFunction<T, U>): { [K in keyof T]: U }; | ||
| declare function assertIsTruthy<T>(val: T): asserts val is NonNullable<T>; | ||
@@ -306,3 +348,4 @@ /** | ||
| declare function isNumberOrNumberList(value: unknown): value is number | number[]; | ||
| export { type CreateInscriptionData, type FormatAmountOptions, type SerializedCryptoAssetId, aggregateBaseCryptoAssetBalances, aggregateBtcBalances, aggregateStxBalances, assertExistence, assertIsTruthy, assertUnreachable, baseCurrencyAmountInQuote, baseCurrencyAmountInQuoteWithFallback, btcToSat, calculateMeanAverage, capitalize, convertAmountToBaseUnit, convertAmountToFractionalUnit, convertToMoneyTypeWithDefaultOfZero, countDecimals, createAccountAddresses, createBaseCryptoAssetBalance, createBtcBalance, createCounter, createCurrencyFormatter, createInscriptionAsset, createMoney, createMoneyFromDecimal, createNullArrayOfLength, createNumArrayOfRange, createSip9AssetId, createStxBalance, dateToUnixTimestamp, daysInMs, daysInSec, defaultWalletKeyId, delay, deserializeAssetId, ensureArray, extractPhraseFromString, fibonacciGenerator, fiveMinInMs, flattenObject, formatSip9IdField, getAssetDisplayName, getAssetId, getTicker, hasBitcoinAddress, hasStacksAddress, hexToNumber, hoursInMs, hoursInSec, increaseValueByOneMicroStx, initBigNumber, invertExchangeRate, isBigInt, isBoolean, isDefined, isEmpty, isEmptyArray, isEmptyString, isError, isEven, isFiatCurrencyCode, isFulfilled, isFunction, isHexString, isMoney, isMoneyGreaterThanZero, isNumber, isNumberOrNumberList, isObject, isRejected, isSameAsset, isSameAssetId, isString, isTypedArray, isUndefined, makeNumberRange, makeStacksTxExplorerLink, mapObject, matchesAssetId, maxMoney, microStxToStx, migratePositiveAssetBalancesToTop, minMoney, minusSign, minutesInMs, minutesInSec, moneyToBaseUnit, noop, oneDayInMs, oneMinInMs, oneWeekInMs, parseSip9IdField, propIfDefined, pxStringToNumber, quoteCurrencyAmountToBase, rebaseMarketData, removeTrailingNullCharacters, reverseBytes, safelyFormatHexTxid, sanitizeContent, satToBtc, scaleValue, secondsInMs, serializeAssetId, sortAssetsByName, spamFilter, stxToMicroStx, subtractMoney, sumMoney, sumNumbers, toHexString, truncateMiddle, undefinedIfLengthZero, uniqueArray, unitToFractionalUnit, weeksInMs, weeksInSec, whenInscriptionMimeType, whenNetwork }; | ||
| //#endregion | ||
| export { CreateInscriptionData, type FormatAmountOptions, SerializedCryptoAssetId, aggregateBaseCryptoAssetBalances, aggregateBtcBalances, aggregateStxBalances, assertExistence, assertIsTruthy, assertUnreachable, baseCurrencyAmountInQuote, baseCurrencyAmountInQuoteWithFallback, btcToSat, calculateMeanAverage, capitalize, convertAmountToBaseUnit, convertAmountToFractionalUnit, convertToMoneyTypeWithDefaultOfZero, countDecimals, createAccountAddresses, createBaseCryptoAssetBalance, createBtcBalance, createCounter, createCurrencyFormatter, createInscriptionAsset, createMoney, createMoneyFromDecimal, createNullArrayOfLength, createNumArrayOfRange, createSip9AssetId, createStxBalance, dateToUnixTimestamp, daysInMs, daysInSec, defaultWalletKeyId, delay, deserializeAssetId, ensureArray, extractPhraseFromString, fibonacciGenerator, fiveMinInMs, flattenObject, formatSip9IdField, getAssetDisplayName, getAssetId, getTicker, hasBitcoinAddress, hasStacksAddress, hexToNumber, hoursInMs, hoursInSec, increaseValueByOneMicroStx, initBigNumber, invertExchangeRate, isBigInt, isBoolean, isDefined, isEmpty, isEmptyArray, isEmptyString, isError, isEven, isFiatCurrencyCode, isFulfilled, isFunction, isHexString, isMoney, isMoneyGreaterThanZero, isNumber, isNumberOrNumberList, isObject, isRejected, isSameAsset, isSameAssetId, isString, isTypedArray, isUndefined, makeNumberRange, makeStacksTxExplorerLink, mapObject, matchesAssetId, maxMoney, microStxToStx, migratePositiveAssetBalancesToTop, minMoney, minusSign, minutesInMs, minutesInSec, moneyToBaseUnit, noop, oneDayInMs, oneMinInMs, oneWeekInMs, parseSip9IdField, propIfDefined, pxStringToNumber, quoteCurrencyAmountToBase, rebaseMarketData, removeTrailingNullCharacters, reverseBytes, safelyFormatHexTxid, sanitizeContent, satToBtc, scaleValue, secondsInMs, serializeAssetId, sortAssetsByName, spamFilter, stxToMicroStx, subtractMoney, sumMoney, sumNumbers, toHexString, truncateMiddle, undefinedIfLengthZero, uniqueArray, unitToFractionalUnit, weeksInMs, weeksInSec, whenInscriptionMimeType, whenNetwork }; | ||
| //# sourceMappingURL=index.d.ts.map |
+10
-9
@@ -5,3 +5,3 @@ { | ||
| "description": "Shared bitcoin utilities", | ||
| "version": "0.49.1", | ||
| "version": "0.49.2", | ||
| "license": "MIT", | ||
@@ -23,4 +23,4 @@ "homepage": "https://github.com/leather-io/mono/tree/dev/packages/utils", | ||
| "dompurify": "3.2.4", | ||
| "@leather.io/constants": "0.28.1", | ||
| "@leather.io/models": "0.50.0" | ||
| "@leather.io/constants": "0.28.2", | ||
| "@leather.io/models": "0.50.1" | ||
| }, | ||
@@ -30,7 +30,8 @@ "devDependencies": { | ||
| "prettier": "3.5.1", | ||
| "tsup": "8.4.0", | ||
| "typescript": "5.8.3", | ||
| "tsdown": "0.16.5", | ||
| "typescript": "5.9.3", | ||
| "vitest": "2.1.9", | ||
| "@leather.io/tsconfig-config": "0.11.0", | ||
| "@leather.io/prettier-config": "0.9.0" | ||
| "@leather.io/prettier-config": "0.9.0", | ||
| "@leather.io/tsconfig-config": "0.11.1", | ||
| "@leather.io/test-config": "0.1.1" | ||
| }, | ||
@@ -47,4 +48,4 @@ "keywords": [ | ||
| "scripts": { | ||
| "build": "tsup", | ||
| "build:watch": "tsup --watch --onSuccess 'tsup --dts-only'", | ||
| "build": "tsdown", | ||
| "build:watch": "tsdown --watch", | ||
| "format": "prettier . --write --ignore-path ../../.prettierignore", | ||
@@ -51,0 +52,0 @@ "format:check": "prettier . --check --ignore-path ../../.prettierignore", |
+5
-4
@@ -75,4 +75,5 @@ import { BigNumber } from 'bignumber.js'; | ||
| // eslint-disable-next-line @typescript-eslint/no-empty-function | ||
| export function noop() {} | ||
| export function noop() { | ||
| // expected to be empty | ||
| } | ||
@@ -102,3 +103,3 @@ export function ensureArray<T>(value: T | T[]): T[] { | ||
| export function reverseBytes(bytes: Uint8Array): Uint8Array; | ||
| export function reverseBytes(bytes: Buffer | Uint8Array) { | ||
| export function reverseBytes(bytes: Buffer | Uint8Array): Buffer | Uint8Array { | ||
| if (Buffer.isBuffer(bytes)) return Buffer.from(bytes).reverse(); | ||
@@ -164,3 +165,3 @@ return new Uint8Array(bytes.slice().reverse()); | ||
| } else if (name.length >= 3) { | ||
| name = `${getLetters(name, 3)}`; | ||
| name = getLetters(name, 3); | ||
| } | ||
@@ -167,0 +168,0 @@ return name.toUpperCase(); |
+3
-3
| { | ||
| "extends": ["@leather.io/tsconfig-config/tsconfig.base.json"], | ||
| "include": ["**/*", ".*.ts"], | ||
| "exclude": ["./dist/"], | ||
| "include": ["src/**/*"], | ||
| "compilerOptions": { | ||
| "baseUrl": "src", | ||
| "baseUrl": "./src", | ||
| "rootDir": "./src", | ||
| "types": ["vitest/globals"], | ||
@@ -8,0 +8,0 @@ "outDir": "./dist" |
+1
-1
| import { defineProject } from 'vitest/config'; | ||
| import { defaultVitestUnitTestingConfig } from '../../config/vitest-configs'; | ||
| import { defaultVitestUnitTestingConfig } from '@leather.io/test-config'; | ||
| export default defineProject({ ...defaultVitestUnitTestingConfig }); |
| import { defineConfig } from 'tsup'; | ||
| export default defineConfig({ | ||
| entry: ['src/index.ts'], | ||
| sourcemap: true, | ||
| clean: false, | ||
| dts: true, | ||
| format: 'esm', | ||
| external: ['dompurify'], | ||
| }); |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
63
1.61%416720
-2.65%8
14.29%9102
-1.66%+ Added
+ Added
- Removed
- Removed
Updated
Updated