Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@thi.ng/defmulti

Package Overview
Dependencies
Maintainers
1
Versions
190
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@thi.ng/defmulti - npm Package Compare versions

Comparing version 2.0.8 to 2.1.0

doc/assets/main.js

190

CHANGELOG.md
# Change Log
Last updated: 2021-11-17T23:24:59Z
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
See [Conventional Commits](https://conventionalcommits.org/) for commit guidelines.
## [2.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@2.0.7...@thi.ng/defmulti@2.0.8) (2021-11-10)
**Note:** Unlisted _patch_ versions only involve non-code changes and/or
version bumps of transitive dependencies.
**Note:** Version bump only for package @thi.ng/defmulti
## [2.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@2.1.0) (2021-11-17)
#### 🚀 Features
- Using workspaces for local tools ([bf7a404](https://github.com/thi-ng/umbrella/commit/bf7a404))
Improving the overall build ergonomics
- introduced a tools workspaces
- imported it in all needed packages/examples
- inclusive project root
#### ♻️ Refactoring
- testrunner to binary ([4ebbbb2](https://github.com/thi-ng/umbrella/commit/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.
## [2.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@2.0.6...@thi.ng/defmulti@2.0.7) (2021-11-03)
### [2.0.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@2.0.1) (2021-10-13)
**Note:** Version bump only for package @thi.ng/defmulti
#### ♻️ Refactoring
- update imports in all tests/pkgs ([effd591](https://github.com/thi-ng/umbrella/commit/effd591))
- update imports in all pkgs ([5fa2b6f](https://github.com/thi-ng/umbrella/commit/5fa2b6f))
- add .js suffix for all relative imports
# [2.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@2.0.0) (2021-10-12)
#### 🛑 Breaking changes
- major update of ALL pkgs (export maps, ESM only) ([0d1d6ea](https://github.com/thi-ng/umbrella/commit/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 of `require()`
- 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](https://github.com/thi-ng/umbrella/tree/main/packages/testament) for all tests
# [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.3.17...@thi.ng/defmulti@2.0.0) (2021-10-12)
#### 🚀 Features
- update defmulti args ([a10d36f](https://github.com/thi-ng/umbrella/commit/a10d36f))
- add additional opt arg to allow specifying/adding impls, same effect as `.addAll()`
- update AncestorDefs and `makeRels()` helper
- update tests
- add .setDefault(), pkg restructure ([0a8641a](https://github.com/thi-ng/umbrella/commit/0a8641a))
- dissolve constants.ts:
- move logging to logger.ts
- move `DEFAULT` symbol to defmulti.ts
- update deps
### Bug Fixes
#### 🩹 Bug fixes
* **defmulti:** add DEFAULT handling for .addAll() ([40ba6f9](https://github.com/thi-ng/umbrella/commit/40ba6f9bc39c713267ac3736fe65c32315ac6980))
- add DEFAULT handling for .addAll() ([40ba6f9](https://github.com/thi-ng/umbrella/commit/40ba6f9))
#### ♻️ Refactoring
### Build System
- update imports ([76940d3](https://github.com/thi-ng/umbrella/commit/76940d3))
- update all tests in _all_ pkgs ([8b582bc](https://github.com/thi-ng/umbrella/commit/8b582bc))
- update all to use [@thi.ng/testament](https://github.com/thi-ng/umbrella/tree/main/packages/testament)
* major update of ALL pkgs (export maps, ESM only) ([0d1d6ea](https://github.com/thi-ng/umbrella/commit/0d1d6ea9fab2a645d6c5f2bf2591459b939c09b6))
### [1.3.6](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@1.3.6) (2021-03-03)
#### 🩹 Bug fixes
### Features
- add missing type anno (TS4.2) ([bc74d21](https://github.com/thi-ng/umbrella/commit/bc74d21))
* **defmulti:** add .setDefault(), pkg restructure ([0a8641a](https://github.com/thi-ng/umbrella/commit/0a8641a27f3d340880462541311f5a82360be62b))
* **defmulti:** update defmulti args ([a10d36f](https://github.com/thi-ng/umbrella/commit/a10d36fcee855220eacbdd1f86d443d888603ac6))
### [1.3.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@1.3.2) (2020-12-07)
#### ♻️ Refactoring
### BREAKING CHANGES
- update type-only imports in various tests/pkgs ([3fd9c24](https://github.com/thi-ng/umbrella/commit/3fd9c24))
* discontinue CommonJS & UMD versions
## [1.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@1.3.0) (2020-11-24)
- 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 of `require()`
- UMD obsolete due to widespread browser support for ESM
#### 🚀 Features
Also:
- normalize/restructure/reorg all package.json files
- cleanup all build scripts, remove obsolete
- switch from mocha to @thi.ng/testament for all tests
- add .dependencies(), add tests ([d15a159](https://github.com/thi-ng/umbrella/commit/d15a159))
### [1.2.25](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@1.2.25) (2020-09-13)
#### ♻️ Refactoring
- update imports, use new Fn types in various pkgs ([ced1e5d](https://github.com/thi-ng/umbrella/commit/ced1e5d))
### [1.2.4](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@1.2.4) (2020-02-25)
#### ♻️ Refactoring
## [1.3.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.3.5...@thi.ng/defmulti@1.3.6) (2021-03-03)
- update imports ([9998000](https://github.com/thi-ng/umbrella/commit/9998000))
### Bug Fixes
## [1.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@1.2.0) (2019-11-09)
- **defmulti:** add missing type anno (TS4.2) ([bc74d21](https://github.com/thi-ng/umbrella/commit/bc74d21264f2d3b76fc288eeccab398ad66f76da))
#### 🚀 Features
# [1.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.2.26...@thi.ng/defmulti@1.3.0) (2020-11-24)
- allow .add() to overwrite existing impl, add logger ([e387622](https://github.com/thi-ng/umbrella/commit/e387622))
- update .add() to log warning msg when overwriting existing impl
- add LOGGER, setLogger()
- update tests / readme
### Features
### [1.1.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@1.1.3) (2019-08-21)
- **defmulti:** add .dependencies(), add tests ([d15a159](https://github.com/thi-ng/umbrella/commit/d15a1594750ac171b1ab93da18d908f1ca6c3897))
#### ♻️ Refactoring
# [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.1.4...@thi.ng/defmulti@1.2.0) (2019-11-09)
- split into separate files ([dae6009](https://github.com/thi-ng/umbrella/commit/dae6009))
### Features
## [1.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@1.1.0) (2019-07-07)
- **defmulti:** allow .add() to overwrite existing impl, add logger ([e387622](https://github.com/thi-ng/umbrella/commit/e387622d3ad44bc0df029c5ba641244dc12c6353))
#### 🚀 Features
# [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.0.9...@thi.ng/defmulti@1.1.0) (2019-07-07)
- enable TS strict compiler flags (refactor) ([d51ecf9](https://github.com/thi-ng/umbrella/commit/d51ecf9))
### Features
### [1.0.4](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@1.0.4) (2019-03-10)
- **defmulti:** enable TS strict compiler flags (refactor) ([d51ecf9](https://github.com/thi-ng/umbrella/commit/d51ecf9))
#### ♻️ Refactoring
# [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@0.7.0...@thi.ng/defmulti@1.0.0) (2019-01-21)
- re-use Fn type aliases ([a9b1667](https://github.com/thi-ng/umbrella/commit/a9b1667))
### Build System
# [1.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@1.0.0) (2019-01-21)
#### 🛑 Breaking changes
- update package build scripts & outputs, imports in ~50 packages ([b54b703](https://github.com/thi-ng/umbrella/commit/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.
### Features
#### ♻️ Refactoring
- **defmulti:** add callable() & implementations(), update readme ([fde2db2](https://github.com/thi-ng/umbrella/commit/fde2db2))
- **defmulti:** add relations() ([4066c80](https://github.com/thi-ng/umbrella/commit/4066c80))
- **defmulti:** add versions w/ 1 optional typed arg, add .impls() ([125c784](https://github.com/thi-ng/umbrella/commit/125c784))
- remove optional excess args from type sigs ([5270143](https://github.com/thi-ng/umbrella/commit/5270143))
- update imports, fix tests (cherry picked from [cdd8659a](https://github.com/thi-ng/umbrella/commit/cdd8659a)) ([e04eb29](https://github.com/thi-ng/umbrella/commit/e04eb29))
- update imports, fix tests ([cdd8659](https://github.com/thi-ng/umbrella/commit/cdd8659))
### BREAKING CHANGES
## [0.7.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@0.7.0) (2019-01-02)
- 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.
#### 🚀 Features
# [0.7.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@0.6.0...@thi.ng/defmulti@0.7.0) (2019-01-02)
- add opt fallback arg for defmultiN(), update docs ([1d29153](https://github.com/thi-ng/umbrella/commit/1d29153))
### Features
## [0.6.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@0.6.0) (2019-01-01)
- **defmulti:** add opt fallback arg for defmultiN(), update docs ([1d29153](https://github.com/thi-ng/umbrella/commit/1d29153))
#### 🚀 Features
# [0.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@0.5.1...@thi.ng/defmulti@0.6.0) (2019-01-01)
- add addAll(), add/update doc strings ([488698a](https://github.com/thi-ng/umbrella/commit/488698a))
### Features
## [0.5.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@0.5.0) (2018-10-24)
- **defmulti:** add addAll(), add/update doc strings ([488698a](https://github.com/thi-ng/umbrella/commit/488698a))
#### 🚀 Features
# [0.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@0.4.1...@thi.ng/defmulti@0.5.0) (2018-10-24)
- add support for dispatch value relationships / hierarchy ([a8c3898](https://github.com/thi-ng/umbrella/commit/a8c3898))
### Features
## [0.4.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@0.4.0) (2018-10-17)
- **defmulti:** add support for dispatch value relationships / hierarchy ([a8c3898](https://github.com/thi-ng/umbrella/commit/a8c3898))
#### 🚀 Features
# [0.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@0.3.11...@thi.ng/defmulti@0.4.0) (2018-10-17)
- add varargs support ([6094738](https://github.com/thi-ng/umbrella/commit/6094738))
### Features
### [0.3.7](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@0.3.7) (2018-08-01)
- **defmulti:** add varargs support ([6094738](https://github.com/thi-ng/umbrella/commit/6094738))
#### ♻️ Refactoring
# [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@0.2.0...@thi.ng/defmulti@0.3.0) (2018-05-11)
- TS3.0 PropertyKey handling ([30d65d4](https://github.com/thi-ng/umbrella/commit/30d65d4))
### Features
## [0.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@0.3.0) (2018-05-11)
- **defmulti:** add generics, update docs & readme ([eeed25e](https://github.com/thi-ng/umbrella/commit/eeed25e))
#### 🚀 Features
# [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@0.1.0...@thi.ng/defmulti@0.2.0) (2018-05-10)
- add generics, update docs & readme ([eeed25e](https://github.com/thi-ng/umbrella/commit/eeed25e))
### Features
## [0.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@0.2.0) (2018-05-11)
- **defmulti:** add defmultiN(), update readme, add tests ([126ecf3](https://github.com/thi-ng/umbrella/commit/126ecf3))
#### 🚀 Features
# 0.1.0 (2018-05-10)
- add defmultiN(), update readme, add tests ([126ecf3](https://github.com/thi-ng/umbrella/commit/126ecf3))
### Features
## [0.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/defmulti@0.1.0) (2018-05-10)
- **defmulti:** add [@thi](https://github.com/thi).ng/defmulti package ([edc66bf](https://github.com/thi-ng/umbrella/commit/edc66bf))
#### 🚀 Features
- add [@thi.ng/defmulti](https://github.com/thi-ng/umbrella/tree/main/packages/defmulti) package ([edc66bf](https://github.com/thi-ng/umbrella/commit/edc66bf))
{
"name": "@thi.ng/defmulti",
"version": "2.0.8",
"description": "Dynamic, extensible multiple dispatch via user supplied dispatch function.",
"type": "module",
"module": "./index.js",
"typings": "./index.d.ts",
"sideEffects": false,
"repository": {
"type": "git",
"url": "https://github.com/thi-ng/umbrella.git"
"name": "@thi.ng/defmulti",
"version": "2.1.0",
"description": "Dynamic, extensible multiple dispatch via user supplied dispatch function.",
"type": "module",
"module": "./index.js",
"typings": "./index.d.ts",
"sideEffects": false,
"repository": {
"type": "git",
"url": "https://github.com/thi-ng/umbrella.git"
},
"homepage": "https://github.com/thi-ng/umbrella/tree/develop/packages/defmulti#readme",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/postspectacular"
},
"homepage": "https://github.com/thi-ng/umbrella/tree/develop/packages/defmulti#readme",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/postspectacular"
},
{
"type": "patreon",
"url": "https://patreon.com/thing_umbrella"
}
],
"author": "Karsten Schmidt <k+npm@thi.ng>",
"license": "Apache-2.0",
"scripts": {
"build": "yarn clean && tsc --declaration",
"clean": "rimraf *.js *.d.ts *.map doc",
"doc": "typedoc --excludePrivate --excludeInternal --out doc src/index.ts",
"doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose",
"doc:readme": "yarn doc:stats && ../../scripts/node-esm ../../tools/src/readme.ts",
"doc:stats": "../../scripts/node-esm ../../tools/src/module-stats.ts",
"pub": "yarn build && yarn publish --access public",
"test": "testament test"
{
"type": "patreon",
"url": "https://patreon.com/thing_umbrella"
}
],
"author": "Karsten Schmidt <k+npm@thi.ng>",
"license": "Apache-2.0",
"scripts": {
"build": "yarn clean && tsc --declaration",
"clean": "rimraf '*.js' '*.d.ts' '*.map' doc",
"doc": "typedoc --excludePrivate --excludeInternal --out doc src/index.ts",
"doc:ae": "mkdir -p .ae/doc .ae/temp && api-extractor run --local --verbose",
"doc:readme": "yarn doc:stats && tools:readme",
"doc:stats": "tools:module-stats",
"pub": "yarn build && yarn npm publish --access public",
"test": "testament test"
},
"dependencies": {
"@thi.ng/api": "^8.3.0",
"@thi.ng/errors": "^2.1.0",
"@thi.ng/logger": "^1.1.0"
},
"devDependencies": {
"@microsoft/api-extractor": "^7.18.19",
"@thi.ng/testament": "^0.2.0",
"rimraf": "^3.0.2",
"tools": "^0.0.1",
"typedoc": "^0.22.8",
"typescript": "^4.4.4"
},
"keywords": [
"agent",
"arity",
"clojure",
"functional",
"hierarchy",
"inheritance",
"multiple-dispatch",
"polymorphic",
"typescript"
],
"publishConfig": {
"access": "public"
},
"engines": {
"node": ">=12.7"
},
"files": [
"*.js",
"*.d.ts"
],
"exports": {
".": {
"import": "./index.js"
},
"dependencies": {
"@thi.ng/api": "^8.2.0",
"@thi.ng/errors": "^2.0.6",
"@thi.ng/logger": "^1.0.6"
"./api": {
"import": "./api.js"
},
"devDependencies": {
"@thi.ng/testament": "^0.1.6"
"./defmulti-n": {
"import": "./defmulti-n.js"
},
"keywords": [
"agent",
"arity",
"clojure",
"functional",
"hierarchy",
"inheritance",
"multiple-dispatch",
"polymorphic",
"typescript"
],
"publishConfig": {
"access": "public"
"./defmulti": {
"import": "./defmulti.js"
},
"engines": {
"node": ">=12.7"
"./impls": {
"import": "./impls.js"
},
"files": [
"*.js",
"*.d.ts"
],
"exports": {
".": {
"import": "./index.js"
},
"./api": {
"import": "./api.js"
},
"./defmulti-n": {
"import": "./defmulti-n.js"
},
"./defmulti": {
"import": "./defmulti.js"
},
"./impls": {
"import": "./impls.js"
},
"./logger": {
"import": "./logger.js"
}
},
"thi.ng": {
"year": 2018
},
"gitHead": "5fe52419af63984ebe53032201b2a6174b9cb159"
}
"./logger": {
"import": "./logger.js"
}
},
"thi.ng": {
"year": 2018
},
"gitHead": "519eedf95c076202f3429eb8e46ccff275bfe446\n"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc