typescript
Yanick Champoux 2021-10-18 10:15:06 -04:00
parent 4e4fa13d90
commit 707d9ec923
11 changed files with 88 additions and 80 deletions

View File

@ -1,2 +1,7 @@
dist
out
pnpm-lock.yaml
types
docs
Changes Changes
.prettierignore .prettierignore

View File

@ -6,54 +6,58 @@ All notable changes to this project will be documented in this file. See [standa
### ⚠ BREAKING CHANGES ### ⚠ BREAKING CHANGES
* Upgrade to Typescript 4. - Upgrade to Typescript 4.
* Switch from 'updeep' to '@yanick/updeep'. - Switch from 'updeep' to '@yanick/updeep'.
## [2.1.0](https://github.com/yanick/updux/compare/v2.0.0...v2.1.0) (2020-06-19) ## [2.1.0](https://github.com/yanick/updux/compare/v2.0.0...v2.1.0) (2020-06-19)
### Features ### Features
* add support for subscriptions ([9c45ee7](https://github.com/yanick/updux/commit/9c45ee7efcb623defb9da5d01165fbad0e4424f9)) - add support for subscriptions ([9c45ee7](https://github.com/yanick/updux/commit/9c45ee7efcb623defb9da5d01165fbad0e4424f9))
## [2.0.0](https://github.com/yanick/updux/compare/v1.2.0...v2.0.0) (2020-06-13) ## [2.0.0](https://github.com/yanick/updux/compare/v1.2.0...v2.0.0) (2020-06-13)
### ⚠ BREAKING CHANGES ### ⚠ BREAKING CHANGES
* use ts-action for action creation - use ts-action for action creation
* middleware support refined - middleware support refined
### Features ### Features
* allow adding actionCreators via addAction() ([27ae46d](https://github.com/yanick/updux/commit/27ae46dbab289b27ea99aca149aaa3b7c90ee7d0)) - allow adding actionCreators via addAction() ([27ae46d](https://github.com/yanick/updux/commit/27ae46dbab289b27ea99aca149aaa3b7c90ee7d0))
* middleware support refined ([d90d721](https://github.com/yanick/updux/commit/d90d72148c2d4ba186a19650d961c64df5791c55)) - middleware support refined ([d90d721](https://github.com/yanick/updux/commit/d90d72148c2d4ba186a19650d961c64df5791c55))
* moving documentation to docsify ([fa55762](https://github.com/yanick/updux/commit/fa55762efcbd4db356150f6022fd62750adc27a9)) - moving documentation to docsify ([fa55762](https://github.com/yanick/updux/commit/fa55762efcbd4db356150f6022fd62750adc27a9))
* use ts-action for action creation ([6349d72](https://github.com/yanick/updux/commit/6349d720b8aba4b443a7225d6a377c5c929a3021)) - use ts-action for action creation ([6349d72](https://github.com/yanick/updux/commit/6349d720b8aba4b443a7225d6a377c5c929a3021))
### Bug Fixes ### Bug Fixes
* state is a PreloadedState<S> ([93bebc5](https://github.com/yanick/updux/commit/93bebc5acf193752aa6b4857507f05d52b1b7665)) - state is a PreloadedState<S> ([93bebc5](https://github.com/yanick/updux/commit/93bebc5acf193752aa6b4857507f05d52b1b7665))
## 1.2.0 2019-11-06 ## 1.2.0 2019-11-06
- The middleware's 'getState' returns the local state of its updux, - The middleware's 'getState' returns the local state of its updux,
instead of the root state. Plus we add `getRootState` to get instead of the root state. Plus we add `getRootState` to get
the root state. the root state.
## 1.1.0 2019-11-05 ## 1.1.0 2019-11-05
- Document mapping behavior of the '*' subdux. - Document mapping behavior of the '*' subdux.
- add subduxUpreducer. - add subduxUpreducer.
- add sink mutations. - add sink mutations.
## 1.0.0 2019-11-04 ## 1.0.0 2019-11-04
- Pretty big rework. - Pretty big rework.
- Better documentation. - Better documentation.
## 0.2.0 2019-10-24 ## 0.2.0 2019-10-24
- Converted everything to Typescript. - Converted everything to Typescript.
## 0.1.0 2019-10-22 ## 0.1.0 2019-10-22
- Add 'actions' in the config. - Add 'actions' in the config.
## 0.0.1 2019-10-22 ## 0.0.1 2019-10-22
- Initial release. - Initial release.

View File

@ -17,23 +17,23 @@ diverse, inclusive, and healthy community.
Examples of behavior that contributes to a positive environment for our Examples of behavior that contributes to a positive environment for our
community include: community include:
* Demonstrating empathy and kindness toward other people - Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences - Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback - Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes, - Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience and learning from the experience
* Focusing on what is best not just for us as individuals, but for the - Focusing on what is best not just for us as individuals, but for the
overall community overall community
Examples of unacceptable behavior include: Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or - The use of sexualized language or imagery, and sexual attention or
advances of any kind advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks - Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment - Public or private harassment
* Publishing others' private information, such as a physical or email - Publishing others' private information, such as a physical or email
address, without their explicit permission address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a - Other conduct which could reasonably be considered inappropriate in a
professional setting professional setting
## Enforcement Responsibilities ## Enforcement Responsibilities
@ -126,4 +126,3 @@ enforcement ladder](https://github.com/mozilla/diversity).
For answers to common questions about this code of conduct, see the FAQ at For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations. https://www.contributor-covenant.org/translations.

View File

@ -9,9 +9,12 @@ tasks:
tsc: tsc tsc: tsc
test: jest test: jest
check: 'check:prettier': prettier --check .
deps: [tsc, test]
'check:prettier:fix': prettier --write .
check:
deps: [tsc, test, 'check:prettier']
'test:types': tsd 'test:types': tsd
docs: docs:

View File

@ -1,6 +1,6 @@
module.exports = { module.exports = {
presets: [ presets: [
['@babel/preset-env', {targets: {node: 'current'}}], ['@babel/preset-env', { targets: { node: 'current' } }],
'@babel/preset-typescript', '@babel/preset-typescript',
], ],
}; };

View File

@ -1,3 +1,3 @@
export default { export default {
roots: [ './src' ] roots: ['./src'],
} };

View File

@ -8,7 +8,7 @@
"sourceType": "module", "sourceType": "module",
"tags": { "tags": {
"allowUnknownTags": true, "allowUnknownTags": true,
"dictionaries": ["jsdoc","closure"] "dictionaries": ["jsdoc", "closure"]
}, },
"templates": { "templates": {
"cleverLinks": false, "cleverLinks": false,
@ -19,4 +19,3 @@
"tutorials": "./tutorials" "tutorials": "./tutorials"
} }
} }

View File

@ -11,9 +11,11 @@ type Subdux<TState = any> = {
}; };
type StateOf<D> = D extends { initial: infer I } ? I : unknown; type StateOf<D> = D extends { initial: infer I } ? I : unknown;
type ActionsOf<C> = C extends { actions: infer A } ? { type ActionsOf<C> = C extends { actions: infer A }
[K in keyof A]: Function ? {
} : {}; [K in keyof A]: Function;
}
: {};
type Subduxes = Record<string, Subdux>; type Subduxes = Record<string, Subdux>;

View File

@ -1,13 +1,11 @@
{ {
"include": [ "./src" ], "include": ["./src"],
"exclude": [ "./docs", "./dist" ], "exclude": ["./docs", "./dist"],
"compilerOptions": { "compilerOptions": {
"rootDir": "src", "rootDir": "src",
"outDir": "dist", "outDir": "dist",
"target": "es2020", "target": "es2020",
"lib": [ "lib": ["es2020"],
"es2020"
],
"module": "ES2020", "module": "ES2020",
"moduleResolution": "Node", "moduleResolution": "Node",
"strict": false, "strict": false,

View File

@ -1,8 +1,6 @@
{ {
"name": "Updux", "name": "Updux",
"entryPoints": [ "entryPoints": ["./types/index.d.ts"],
"./types/index.d.ts"
],
"out": "docs/API", "out": "docs/API",
"excludeExternals": true, "excludeExternals": true,
"excludePrivate": true, "excludePrivate": true,