Bankster library, front API version 2.
Bankster library, front API version 2.
(amount x)(amount x sc)(amount x sc rounding)Returns the amount of a scalable as a BigDecimal.
Delegates to io.randomseed.bankster.scale/amount.
Returns the amount of a scalable as a `BigDecimal`. Delegates to `io.randomseed.bankster.scale/amount`.
(auto-scaled? x)Returns true if a scalable's derived scale is auto-scaled.
Delegates to io.randomseed.bankster.scale/auto?.
Returns `true` if a scalable's derived scale is auto-scaled. Delegates to `io.randomseed.bankster.scale/auto?`.
(currency)(currency currency)(currency currency registry)Strict currency coercion (throwing).
Delegates to io.randomseed.bankster.currency/unit.
Arity:
() uses io.randomseed.bankster.currency/*default*.([currency]) resolves the given currency representation.([currency registry]) resolves using the given registry (nil -> default).Accepts currency identifiers (keyword/symbol/string/number), Currency values, and
currency maps (treated as registry lookup specs).
When a registry is consulted and no match is found, it throws. Returns nil for
nil input.
When the input is already a Currency and registry is nil, or omitted, it is
returned as-is.
When the input is a Currency but registry is explicitly given and not nil, the
given currency will be used to perform a registry lookup (and its properties will
be used as a mask).
Setting registry to true will cause a default registry to be used and lookup
enforced.
When registry is true, the default registry (global or dynamically bound) is used.
Strict currency coercion (throwing). Delegates to `io.randomseed.bankster.currency/unit`. Arity: - `()` uses `io.randomseed.bankster.currency/*default*`. - `([currency])` resolves the given currency representation. - `([currency registry])` resolves using the given registry (`nil` -> default). Accepts currency identifiers (keyword/symbol/string/number), `Currency` values, and currency maps (treated as registry lookup specs). When a registry is consulted and no match is found, it throws. Returns `nil` for `nil` input. When the input is already a `Currency` and `registry` is `nil`, or omitted, it is returned as-is. When the input is a `Currency` but registry is explicitly given and not `nil`, the given currency will be used to perform a registry lookup (and its properties will be used as a mask). Setting registry to `true` will cause a default registry to be used and lookup enforced. When `registry` is `true`, the default registry (global or dynamically bound) is used.
(currency-try)(currency-try currency)(currency-try currency registry)Non-throwing currency resolution (soft).
Delegates to io.randomseed.bankster.currency/unit-try and returns a registered
Currency or nil when it cannot be resolved.
Arity:
() uses currency/*default*.([currency]) resolves the given representation using the default registry.([currency registry]) resolves using the given registry (nil -> default).Accepts currency identifiers (keyword/symbol/string/number), Currency values, and
currency maps (treated as registry lookup specs).
When a registry is consulted and no match is found, it returns nil.
When the input is already a Currency and registry is nil or omitted, it is
returned as-is.
When the input is a Currency but registry is explicitly given and not nil, the
given currency will be used to perform a registry lookup (and its properties will
be used as a mask).
Setting registry to true will cause a default registry to be used and lookup
enforced.
When registry is true, the default registry (global or dynamically bound) is used.
Non-throwing currency resolution (soft). Delegates to `io.randomseed.bankster.currency/unit-try` and returns a registered `Currency` or `nil` when it cannot be resolved. Arity: - `()` uses `currency/*default*`. - `([currency])` resolves the given representation using the default registry. - `([currency registry])` resolves using the given registry (`nil` -> default). Accepts currency identifiers (keyword/symbol/string/number), `Currency` values, and currency maps (treated as registry lookup specs). When a registry is consulted and no match is found, it returns `nil`. When the input is already a `Currency` and `registry` is `nil` or omitted, it is returned as-is. When the input is a `Currency` but registry is explicitly given and not `nil`, the given currency will be used to perform a registry lookup (and its properties will be used as a mask). Setting registry to `true` will cause a default registry to be used and lookup enforced. When `registry` is `true`, the default registry (global or dynamically bound) is used.
(default-registry)Returns the default registry (honors registry/*default*).
Returns the default registry (honors `registry/*default*`).
(info x)(info x registry)(info x locale registry)Returns info map for currency or money.
Money values, delegates to io.randomseed.bankster.money/info.io.randomseed.bankster.currency/info.Registry arguments are ignored for Money. When registry is true, the default
registry is used.
Returns info map for currency or money. - For `Money` values, delegates to `io.randomseed.bankster.money/info`. - Otherwise delegates to `io.randomseed.bankster.currency/info`. Registry arguments are ignored for `Money`. When `registry` is `true`, the default registry is used.
(iso-currency? currency)(iso-currency? currency registry)Returns true when the given currency is a kind of ISO currency.
When registry is true, the default registry (global or dynamically bound) is used.
Returns `true` when the given currency is a kind of ISO currency. When `registry` is `true`, the default registry (global or dynamically bound) is used.
(money)(money amount)(money amount currency)(money amount currency rounding)(money amount currency registry)(money amount currency rounding registry)First-class Money constructor with amount-first argument order.
Delegates to io.randomseed.bankster.money/value and resolves currency via
io.randomseed.bankster.currency/unit when a currency argument is provided.
Arity:
() creates zero in the default currency.([amount]) delegates to unary money/value.([amount currency]) uses amount + currency.([amount currency rounding]) uses amount + currency + rounding.([amount currency registry]) uses amount + currency (resolved using registry).([amount currency rounding registry]) explicit rounding + registry for resolution.currency may be a Currency, an identifier (keyword/symbol/string/number), or a
currency map (lookup spec).
When a registry is consulted and the currency cannot be resolved, it throws.
When registry is true, the default registry (global or dynamically bound) is
used.
rounding may be a java.math.RoundingMode or a keyword/symbol/string like
"HALF_UP" (see scale/post-parse-rounding). If no default currency is configured
and the amount does not encode one, money/value will throw.
First-class Money constructor with amount-first argument order. Delegates to `io.randomseed.bankster.money/value` and resolves currency via `io.randomseed.bankster.currency/unit` when a currency argument is provided. Arity: - `()` creates zero in the default currency. - `([amount])` delegates to unary `money/value`. - `([amount currency])` uses amount + currency. - `([amount currency rounding])` uses amount + currency + rounding. - `([amount currency registry])` uses amount + currency (resolved using registry). - `([amount currency rounding registry])` explicit rounding + registry for resolution. `currency` may be a `Currency`, an identifier (keyword/symbol/string/number), or a currency map (lookup spec). When a registry is consulted and the currency cannot be resolved, it throws. When registry is `true`, the default registry (global or dynamically bound) is used. `rounding` may be a `java.math.RoundingMode` or a keyword/symbol/string like "HALF_UP" (see `scale/post-parse-rounding`). If no default currency is configured and the amount does not encode one, `money/value` will throw.
(money-try)(money-try amount)(money-try amount currency)(money-try amount currency rounding)(money-try amount currency registry)(money-try amount currency rounding registry)Non-throwing variant of resolve for currency resolution.
Uses io.randomseed.bankster.currency/unit-try and returns nil when the
currency cannot be resolved in the given (or default) registry. Accepts the same
argument shapes as resolve. Rounding is parsed.
When registry is true, the default registry (global or dynamically bound) is
used.
Non-throwing variant of `resolve` for currency resolution. Uses `io.randomseed.bankster.currency/unit-try` and returns `nil` when the currency cannot be resolved in the given (or default) registry. Accepts the same argument shapes as `resolve`. Rounding is parsed. When registry is `true`, the default registry (global or dynamically bound) is used.
(registry-or-default registry)Resolves true or nil into the current default registry, otherwise returns the
given value.
When registry is true, the default registry (global or dynamically bound) is used.
Resolves `true` or `nil` into the current default registry, otherwise returns the given value. When `registry` is `true`, the default registry (global or dynamically bound) is used.
(rounding-mode)(rounding-mode default)Returns the current rounding mode.
Delegates to io.randomseed.bankster.scale/rounding-mode.
Returns the current rounding mode. Delegates to `io.randomseed.bankster.scale/rounding-mode`.
(scale x)Returns scale for Money and Currency values.
Money: returns the amount scale (may differ from currency nominal scale).Currency: returns the nominal scale (or -1 for auto-scaled).io.randomseed.bankster.scale/of to return its scale.Returns scale for Money and Currency values. - For `Money`: returns the amount scale (may differ from currency nominal scale). - For `Currency`: returns the nominal scale (or `-1` for auto-scaled). - For other values: calls `io.randomseed.bankster.scale/of` to return its scale.
(scale-apply x)(scale-apply x sc)(scale-apply x sc rounding)Applies scaling to a value.
Delegates to io.randomseed.bankster.scale/apply.
Applies scaling to a value. Delegates to `io.randomseed.bankster.scale/apply`.
(with-rescaling rounding-mode & body)Alias for io.randomseed.bankster.scale/with-rescaling.
Enables re-scaling on some consecutive operations which support it and sets the
rounding mode for operations on scaled values. Internally sets scale/*each* to
true and scale/*rounding-mode* to the given value.
The first argument should be a valid rounding (from io.randomseed.bankster.scale
or java.math.RoundingMode) or one of the following:
CEILING - rounds towards positive infinity. DOWN - rounds towards zero. FLOOR - rounds towards negative infinity. HALF_DOWN - rounds towards nearest neighbor unless both neighbors are equidistant, in which case rounds down. HALF_EVEN - rounds towards the nearest neighbor unless both neighbors are equidistant, and if so, rounds towards the even. HALF_UP - rounds towards the nearest neighbor unless both neighbors are equidistant, and if so, rounds up. UP - rounds away from zero UNNECESSARY - asserts that the requested operation has an exact result, hence no rounding is necessary.
Alias for `io.randomseed.bankster.scale/with-rescaling`. Enables re-scaling on some consecutive operations which support it and sets the rounding mode for operations on scaled values. Internally sets `scale/*each*` to true and `scale/*rounding-mode*` to the given value. The first argument should be a valid rounding (from `io.randomseed.bankster.scale` or `java.math.RoundingMode`) or one of the following: CEILING - rounds towards positive infinity. DOWN - rounds towards zero. FLOOR - rounds towards negative infinity. HALF_DOWN - rounds towards nearest neighbor unless both neighbors are equidistant, in which case rounds down. HALF_EVEN - rounds towards the nearest neighbor unless both neighbors are equidistant, and if so, rounds towards the even. HALF_UP - rounds towards the nearest neighbor unless both neighbors are equidistant, and if so, rounds up. UP - rounds away from zero UNNECESSARY - asserts that the requested operation has an exact result, hence no rounding is necessary.
(with-rounding rounding-mode & body)Alias for io.randomseed.bankster.scale/with-rounding.
Sets the rounding mode for operations on scaled values.
The first argument should be a valid rounding (from io.randomseed.bankster.scale
or java.math.RoundingMode) or one of the following:
CEILING - rounds towards positive infinity. DOWN - rounds towards zero. FLOOR - rounds towards negative infinity. HALF_DOWN - rounds towards nearest neighbor unless both neighbors are equidistant, in which case rounds down. HALF_EVEN - rounds towards the nearest neighbor unless both neighbors are equidistant, and if so, rounds towards the even. HALF_UP - rounds towards the nearest neighbor unless both neighbors are equidistant, and if so, rounds up. UP - rounds away from zero UNNECESSARY - asserts that the requested operation has an exact result, hence no rounding is necessary.
Alias for `io.randomseed.bankster.scale/with-rounding`. Sets the rounding mode for operations on scaled values. The first argument should be a valid rounding (from `io.randomseed.bankster.scale` or `java.math.RoundingMode`) or one of the following: CEILING - rounds towards positive infinity. DOWN - rounds towards zero. FLOOR - rounds towards negative infinity. HALF_DOWN - rounds towards nearest neighbor unless both neighbors are equidistant, in which case rounds down. HALF_EVEN - rounds towards the nearest neighbor unless both neighbors are equidistant, and if so, rounds towards the even. HALF_UP - rounds towards the nearest neighbor unless both neighbors are equidistant, and if so, rounds up. UP - rounds away from zero UNNECESSARY - asserts that the requested operation has an exact result, hence no rounding is necessary.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |