Skip to content

Conversation

@flash1293
Copy link

Description

This PR modifies the typings and makes the fallback-value (notSetValue) optional in all methods. This makes it possible to use it with two parameters and the implicit fallback-value of undefined, e.g. dataToJS(firebase, 'todos') instead of dataToJS(firebase, 'todos', undefined).

The docs don't have to be changed as this usage is intended and already possible in plain JS. The example above is copied from the docs.

Because this API-change is backwards compatible, no major release is necessary. I recommend to include this into the upcoming 1.5.0 release.

Check List

  • All tests passing
  • Docs updated with any changes or examples (doesn't apply)
  • Added tests to ensure feature(s) work properly (doesn't apply)

@flash1293 flash1293 changed the base branch from master to v1.5.0 July 29, 2017 22:13
@codecov
Copy link

codecov bot commented Jul 29, 2017

Codecov Report

❗ No coverage uploaded for pull request base (v1.5.0@582c7c8). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             v1.5.0     #214   +/-   ##
=========================================
  Coverage          ?   89.56%           
=========================================
  Files             ?       17           
  Lines             ?     1638           
  Branches          ?      265           
=========================================
  Hits              ?     1467           
  Misses            ?      171           
  Partials          ?        0

@prescottprue prescottprue changed the base branch from v1.5.0 to v1.5.0-rc.3 July 30, 2017 19:07
@prescottprue prescottprue merged commit 61bbf6e into prescottprue:v1.5.0-rc.3 Jul 30, 2017
@prescottprue prescottprue mentioned this pull request Jul 30, 2017
1 task
prescottprue added a commit that referenced this pull request Jul 30, 2017
* Fix race condition with `uniqueSet` - #207
* Usage of `profileFactory` is wrapped in try/catch to handle and reject errors within provided factory function
* Typescript Typings updated make `notSetValue` not required (i.e. `dataToJS(firebase, 'todos')` instead of `dataToJS(firebase, 'todos', undefined)`) - #214
@prescottprue
Copy link
Owner

v1.5.0-rc.3 includes this fix

@prescottprue prescottprue mentioned this pull request Sep 7, 2017
prescottprue added a commit that referenced this pull request Sep 18, 2017
🍾 🥂 The long awaited v1.5.0 release 🥂 🍾 

### Breaking Changes
* `browser` field has been removed from `package.json` which means commonJS build is used instead of `UMD` build from Webpack (much smaller)
* [firebaseConnect] Uses `prop-types` instead of importing from React - #122 

### Core
* [firebaseConnect] Allow usage of different stores in `firebaseConnect` - #148, #29
* [firebaseConnect] statics are now hoisted thanks to `hoist-non-react-statics`
* [firebaseConnect] exposed `createFirebaseConnect` for creating `firebaseConnect` HOCs connected to different stores
* [auth] `login` method supports `credential` parameter (with matching docs and tests updates)
* [auth] deprecation warning added for `token` and `provider` combo in `login` method
* [auth] Adds `updateProfile`, `updateAuth`, and `updateEmail` methods that dispatch associated start/success/failure actions
* [helpers] `deleteFile` method response no longer includes `dbPath` if it is undefined (test added to check this case)
* [helpers] No more race condition with `uniqueSet` - #207
* [typescript] Typescript typings - #142, #214 
* [query] `watchEvent` accepts options object as third argument
* [populate] Lodash path syntax support - #132
* [populate] accept a function for populate for item based populate config - #132
* [populate] Profile population (`profileParamsToPopulate`) supports single item and list population - #203
* [storage] `uploadFile` and `uploadFiles` no longer track progress by default (`storageRef.put` called directly)
* [config] Usage of `profileFactory` is wrapped in try/catch to handle and reject errors within provided factory function
* [config] `distpatchOnUnsetListener` spelling fixed to be `dispatchOnUnsetListener` (depreciation warning added along with a test confirm it is displayed)
* [config] `enableEmptyAuthChanges` config option added - #137


### Build
* Firebase is now an external in Webpack config (shrinks UMD build size)
* `.npmignore` expanded to include more files that do not needed to be included in published version (including `.babelrc` which can cause build errors)
* `.babelrc` settings are now environment specific (decorators only used in testing)
* `babel-preset-stage-1` removed (unnecessary)
* `.eslintrc` added to tests folder which contains globals that are only necessary for testing (simplifies top level eslint config)
* `.eslintrc` file now using yaml format instead of JSON format (easier to read)
* `async/await` added to unit tests
* Webpack 2
* [`firebase-server`](https://github.com/urish/firebase-server) used in tests instead of connecting to a real Firebase instance

### Docs
* Query docs updated with `storeAs` and `keyProp` query options
* `redux-persist` recipe added
prescottprue added a commit that referenced this pull request Sep 18, 2017
🍾 🥂 The long awaited v1.5.0 release 🥂 🍾

* `browser` field has been removed from `package.json` which means commonJS build is used instead of `UMD` build from Webpack (much smaller)
* [firebaseConnect] Uses `prop-types` instead of importing from React - #122

* [firebaseConnect] Allow usage of different stores in `firebaseConnect` - #148, #29
* [firebaseConnect] statics are now hoisted thanks to `hoist-non-react-statics`
* [firebaseConnect] exposed `createFirebaseConnect` for creating `firebaseConnect` HOCs connected to different stores
* [auth] `login` method supports `credential` parameter (with matching docs and tests updates)
* [auth] deprecation warning added for `token` and `provider` combo in `login` method
* [auth] Adds `updateProfile`, `updateAuth`, and `updateEmail` methods that dispatch associated start/success/failure actions
* [helpers] `deleteFile` method response no longer includes `dbPath` if it is undefined (test added to check this case)
* [helpers] No more race condition with `uniqueSet` - #207
* [typescript] Typescript typings - #142, #214
* [query] `watchEvent` accepts options object as third argument
* [populate] Lodash path syntax support - #132
* [populate] accept a function for populate for item based populate config - #132
* [populate] Profile population (`profileParamsToPopulate`) supports single item and list population - #203
* [storage] `uploadFile` and `uploadFiles` no longer track progress by default (`storageRef.put` called directly)
* [config] Usage of `profileFactory` is wrapped in try/catch to handle and reject errors within provided factory function
* [config] `distpatchOnUnsetListener` spelling fixed to be `dispatchOnUnsetListener` (depreciation warning added along with a test confirm it is displayed)
* [config] `enableEmptyAuthChanges` config option added - #137

* Firebase is now an external in Webpack config (shrinks UMD build size)
* `.npmignore` expanded to include more files that do not needed to be included in published version (including `.babelrc` which can cause build errors)
* `.babelrc` settings are now environment specific (decorators only used in testing)
* `babel-preset-stage-1` removed (unnecessary)
* `.eslintrc` added to tests folder which contains globals that are only necessary for testing (simplifies top level eslint config)
* `.eslintrc` file now using yaml format instead of JSON format (easier to read)
* `async/await` added to unit tests
* Webpack 2
* [`firebase-server`](https://github.com/urish/firebase-server) used in tests instead of connecting to a real Firebase instance

* Query docs updated with `storeAs` and `keyProp` query options
* `redux-persist` recipe added
prescottprue added a commit that referenced this pull request Sep 18, 2017
🍾 🥂 The long awaited v1.5.0 release 🥂 🍾

* `browser` field has been removed from `package.json` which means commonJS build is used instead of `UMD` build from Webpack (much smaller)
* [firebaseConnect] Uses `prop-types` instead of importing from React - #122

* [firebaseConnect] Allow usage of different stores in `firebaseConnect` - #148, #29
* [firebaseConnect] statics are now hoisted thanks to `hoist-non-react-statics`
* [firebaseConnect] exposed `createFirebaseConnect` for creating `firebaseConnect` HOCs connected to different stores
* [auth] `login` method supports `credential` parameter (with matching docs and tests updates)
* [auth] deprecation warning added for `token` and `provider` combo in `login` method
* [auth] Adds `updateProfile`, `updateAuth`, and `updateEmail` methods that dispatch associated start/success/failure actions
* [helpers] `deleteFile` method response no longer includes `dbPath` if it is undefined (test added to check this case)
* [helpers] No more race condition with `uniqueSet` - #207
* [typescript] Typescript typings - #142, #214
* [query] `watchEvent` accepts options object as third argument
* [populate] Lodash path syntax support - #132
* [populate] accept a function for populate for item based populate config - #132
* [populate] Profile population (`profileParamsToPopulate`) supports single item and list population - #203
* [storage] `uploadFile` and `uploadFiles` no longer track progress by default (`storageRef.put` called directly)
* [config] Usage of `profileFactory` is wrapped in try/catch to handle and reject errors within provided factory function
* [config] `distpatchOnUnsetListener` spelling fixed to be `dispatchOnUnsetListener` (depreciation warning added along with a test confirm it is displayed)
* [config] `enableEmptyAuthChanges` config option added - #137

* Firebase is now an external in Webpack config (shrinks UMD build size)
* `.npmignore` expanded to include more files that do not needed to be included in published version (including `.babelrc` which can cause build errors)
* `.babelrc` settings are now environment specific (decorators only used in testing)
* `babel-preset-stage-1` removed (unnecessary)
* `.eslintrc` added to tests folder which contains globals that are only necessary for testing (simplifies top level eslint config)
* `.eslintrc` file now using yaml format instead of JSON format (easier to read)
* `async/await` added to unit tests
* Webpack 2
* [`firebase-server`](https://github.com/urish/firebase-server) used in tests instead of connecting to a real Firebase instance

* Query docs updated with `storeAs` and `keyProp` query options
* `redux-persist` recipe added
prescottprue added a commit that referenced this pull request Sep 18, 2017
🍾 🥂 The long awaited v1.5.0 release 🥂 🍾

* `browser` field has been removed from `package.json` which means commonJS build is used instead of `UMD` build from Webpack (much smaller)
* [firebaseConnect] Uses `prop-types` instead of importing from React - #122

* [firebaseConnect] Allow usage of different stores in `firebaseConnect` - #148, #29
* [firebaseConnect] statics are now hoisted thanks to `hoist-non-react-statics`
* [firebaseConnect] exposed `createFirebaseConnect` for creating `firebaseConnect` HOCs connected to different stores
* [auth] `login` method supports `credential` parameter (with matching docs and tests updates)
* [auth] deprecation warning added for `token` and `provider` combo in `login` method
* [auth] Adds `updateProfile`, `updateAuth`, and `updateEmail` methods that dispatch associated start/success/failure actions
* [helpers] `deleteFile` method response no longer includes `dbPath` if it is undefined (test added to check this case)
* [helpers] No more race condition with `uniqueSet` - #207
* [typescript] Typescript typings - #142, #214
* [query] `watchEvent` accepts options object as third argument
* [populate] Lodash path syntax support - #132
* [populate] accept a function for populate for item based populate config - #132
* [populate] Profile population (`profileParamsToPopulate`) supports single item and list population - #203
* [storage] `uploadFile` and `uploadFiles` no longer track progress by default (`storageRef.put` called directly)
* [config] Usage of `profileFactory` is wrapped in try/catch to handle and reject errors within provided factory function
* [config] `distpatchOnUnsetListener` spelling fixed to be `dispatchOnUnsetListener` (depreciation warning added along with a test confirm it is displayed)
* [config] `enableEmptyAuthChanges` config option added - #137

* Firebase is now an external in Webpack config (shrinks UMD build size)
* `.npmignore` expanded to include more files that do not needed to be included in published version (including `.babelrc` which can cause build errors)
* `.babelrc` settings are now environment specific (decorators only used in testing)
* `babel-preset-stage-1` removed (unnecessary)
* `.eslintrc` added to tests folder which contains globals that are only necessary for testing (simplifies top level eslint config)
* `.eslintrc` file now using yaml format instead of JSON format (easier to read)
* `async/await` added to unit tests
* Webpack 2
* [`firebase-server`](https://github.com/urish/firebase-server) used in tests instead of connecting to a real Firebase instance

* Query docs updated with `storeAs` and `keyProp` query options
* `redux-persist` recipe added
prescottprue added a commit that referenced this pull request Sep 18, 2017
🍾 🥂 The long awaited v1.5.0 release 🥂 🍾

* `browser` field has been removed from `package.json` which means commonJS build is used instead of `UMD` build from Webpack (much smaller)
* [firebaseConnect] Uses `prop-types` instead of importing from React - #122

* [firebaseConnect] Allow usage of different stores in `firebaseConnect` - #148, #29
* [firebaseConnect] statics are now hoisted thanks to `hoist-non-react-statics`
* [firebaseConnect] exposed `createFirebaseConnect` for creating `firebaseConnect` HOCs connected to different stores
* [auth] `login` method supports `credential` parameter (with matching docs and tests updates)
* [auth] deprecation warning added for `token` and `provider` combo in `login` method
* [auth] Adds `updateProfile`, `updateAuth`, and `updateEmail` methods that dispatch associated start/success/failure actions
* [helpers] `deleteFile` method response no longer includes `dbPath` if it is undefined (test added to check this case)
* [helpers] No more race condition with `uniqueSet` - #207
* [typescript] Typescript typings - #142, #214
* [query] `watchEvent` accepts options object as third argument
* [populate] Lodash path syntax support - #132
* [populate] accept a function for populate for item based populate config - #132
* [populate] Profile population (`profileParamsToPopulate`) supports single item and list population - #203
* [storage] `uploadFile` and `uploadFiles` no longer track progress by default (`storageRef.put` called directly)
* [config] Usage of `profileFactory` is wrapped in try/catch to handle and reject errors within provided factory function
* [config] `distpatchOnUnsetListener` spelling fixed to be `dispatchOnUnsetListener` (depreciation warning added along with a test confirm it is displayed)
* [config] `enableEmptyAuthChanges` config option added - #137

* Firebase is now an external in Webpack config (shrinks UMD build size)
* `.npmignore` expanded to include more files that do not needed to be included in published version (including `.babelrc` which can cause build errors)
* `.babelrc` settings are now environment specific (decorators only used in testing)
* `babel-preset-stage-1` removed (unnecessary)
* `.eslintrc` added to tests folder which contains globals that are only necessary for testing (simplifies top level eslint config)
* `.eslintrc` file now using yaml format instead of JSON format (easier to read)
* `async/await` added to unit tests
* Webpack 2
* [`firebase-server`](https://github.com/urish/firebase-server) used in tests instead of connecting to a real Firebase instance

* Query docs updated with `storeAs` and `keyProp` query options
* `redux-persist` recipe added
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants