- Last updated: 2024-03-27T09:53:45Z
- Generator: thi.ng/monopub
All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
Note: Unlisted patch versions only involve non-code or otherwise excluded changes and/or version bumps of transitive dependencies.
7.1.41 (2023-11-09)
- update all tests (packages A-S) (e3085e4)
7.1.0 (2022-07-12)
- add
onlyFnRefs
option (a23fc98)
7.0.0 (2022-07-07)
- add ResolveOpts, conditional unwrapping (a23308b)
- BREAKING CHANGE: update resolve() signature, use new
ResolveOpts
- this change has only downstream impact on use cases requiring custom prefixes to indicate lookup paths
- add new option to control value unwrapping in final result
- update docs/readme
- add new tests
6.2.0 (2022-07-07)
- unwrap all resolved() values in result (888fa33)
- add unwrapResolved() to unwrap any values wrapped via
resolved()
- update resolveMap/Array()
- update doc strings
- update tests
- add unwrapResolved() to unwrap any values wrapped via
6.1.0 (2022-05-23)
- add support for protected values (6280510)
- add
Resolved
wrapper & factory fn for protecting values from future/duplicate resolution attempts - add tests
- update docs/readme
- add
6.0.0 (2022-05-02)
- add
Unresolved
type & type checking (a997fd2) - BREAKING CHANGE: add type checking to
resolve()
. This MIGHT require additional type generics (of the result object type) to be added to any call sites. See tests for examples.
5.1.5 (2022-04-07)
- replace deprecated .substr() w/ .substring() (0710509)
5.1.0 (2021-11-17)
- Using workspaces for local tools (bf7a404)
Improving the overall build ergonomics
- introduced a tools workspaces
- imported it in all needed packages/examples
- inclusive project root
- testrunner to binary (4ebbbb2) this commit reverts (partly) changes made in: ef346d7a8753590dc9094108a3d861a8dbd5dd2c overall purpose is better testament ergonomics: instead of having to pass NODE_OPTIONS with every invocation having a binary to handle this for us.
5.0.1 (2021-10-13)
- update imports in all tests/pkgs (effd591)
5.0.0 (2021-10-12)
- major update of ALL pkgs (export maps, ESM only) (0d1d6ea)
- BREAKING CHANGE: discontinue CommonJS & UMD versions
- only ESM modules will be published from now on
- CJS obsolete due to ESM support in recent versions of node:
- i.e. launch NodeJS via:
node --experimental-specifier-resolution=node --experimental-repl-await
- in the node REPL use
await import(...)
instead ofrequire()
- UMD obsolete due to widespread browser support for ESM Also:
- normalize/restructure/reorg all package.json files
- cleanup all build scripts, remove obsolete
- switch from mocha to @thi.ng/testament for all tests
- update all tests in all pkgs (8b582bc)
- update all to use @thi.ng/testament
- update imports (138571a)
- update deps & imports in various pkgs (e1cf29e)
- largely related to recent updates/restructuring of these packages:
- api
- defmulti
- errors
- logger
- largely related to recent updates/restructuring of these packages:
4.2.9 (2020-12-07)
- update type-only imports in various tests/pkgs (3fd9c24)
4.2.0 (2020-07-18)
- add support for custom lookup prefix (bf89503)
- add tests
4.1.16 (2020-03-28)
- update to new @thi.ng/paths API (182b36b)
4.1.2 (2019-07-08)
4.1.1 (2019-07-08)
- fix #97, update fn arg destructuring (e68dc19)
- update resolveFunction() to allow trailing comma in destructure form, e.g.
{ a, b, }
- add test case
- update resolveFunction() to allow trailing comma in destructure form, e.g.
4.1.0 (2019-07-07)
- enable TS strict compiler flags (refactor) (7e7ff2a)
- address TS strictNullChecks flag (fa7b252)
4.0.0 (2019-01-21)
- update package build scripts & outputs, imports in ~50 packages (b54b703)
- BREAKING CHANGE: enabled multi-outputs (ES6 modules, CJS, UMD)
- build scripts now first build ES6 modules in package root, then call
scripts/bundle-module
to build minified CJS & UMD bundles in/lib
- all imports MUST be updated to only refer to package level (not individual files anymore). tree shaking in user land will get rid of all unused imported symbols.
- build scripts now first build ES6 modules in package root, then call
3.0.10 (2018-09-01)
- deep resolve of yet unknown path values (a710453)
3.0.8 (2018-08-24)
- replace SEMAPHORE const w/ @thi.ng/api def (bea7a1f)
3.0.5 (2018-07-15)
- add support for alt ES6 destructure form
{a: b}
(2482945)- also fixes issue w/ minimized builds
3.0.0 (2018-06-07)
- add cycle detection, fix edge cases (e61c3b5)
- add
resolve()
as main user function - make
resolveMap()
private - update _resolve() to keep track of active lookups
- implement cycle detection
- add markResolved() helper
- update resolveFunction() to mark all of its nested values as resolved
- refactor resolvePath()
- update docs/readme
- add/update tests
- add
- BREAKING CHANGE:
resolveMap()
renamed toresolve()
, update docs
- add ES6 destructuring shorthands for function vals (57f1ed5)
- add _resolveFunction()
- add tests
- update docs & readme
2.0.6 (2018-06-06)
- add private _resolveDeep (558f4f8)
- fixes resolution issue if a function dynamically created deep values
- also use _resolvePath for plain lookups, optimize (48c796f)
- rename _resolveDeep => _resolvePath
- update docs
- export absPath(), add LookupPath type alias (dc6e0ac)
2.0.1 (2018-05-10)
- update deps & imports in all packages due to @thi.ng/api split (bc45636)
2.0.0 (2018-05-09)
- fix #21 (5d2a3fe)
- BREAKING CHANGE: update lookup path prefix & separators
- lookup paths now are prefixed with
@
instead of->
- all path segments must be separated by
/
- update readme & tests
- lookup paths now are prefixed with
1.0.0 (2018-04-16)
- support relative parent refs, update tests/readme (a379d12)
- BREAKING CHANGE: lookup paths passed to the provided
resolve()
fn inside function values are now relative by default (previously only absolute paths were allowed)- remove
resolveArray()
from module exports (useresolveMap()
instead) - add absPath() to compute absolute path
- add support for "../" ancestor access
- remove
0.2.0 (2018-04-16)
- resolve each ref only once, re-use resolved results (6992e82)
- this also fixes function value resolution,
e.g. {a: () => ()=> 1, b: "->a" } only unwraps
a
once now
- this also fixes function value resolution,
e.g. {a: () => ()=> 1, b: "->a" } only unwraps