Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow defaulting when null and not nullable #108

Merged
merged 4 commits into from
Nov 1, 2019

Conversation

talyssonoc
Copy link
Owner

In Structure v2 we'll allow nullable attributes with the value null to use the default value the same way undefined does.

@talyssonoc talyssonoc force-pushed the allow-defaulting-when-null-and-not-nullable branch from 22d8d3e to 980cc57 Compare November 1, 2019 16:49
Copy link
Collaborator

@wenderjean wenderjean left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good :)

}

return instance;
},
};
};

const initializedValue = (instance, attrPassedValue, attrDefinition) => {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

@talyssonoc talyssonoc merged commit 5797e5f into structure-2 Nov 1, 2019
@talyssonoc talyssonoc deleted the allow-defaulting-when-null-and-not-nullable branch November 1, 2019 18:18
talyssonoc added a commit that referenced this pull request Mar 31, 2020
* Bump major to alpha

* Move Node version to 10

* Replace Object.assign with spread

* Replace every var with let or const

* Migrate tests that run on Node to use Jest

* Update Node version on Travis

* Base on Node 8 instead of 10

* Change linter to accept jest tests

* Update joi without considering cases where lazy schema is needed

* Handle dynamic types validations with link + shared API

* Begin to refactor to a new internal structure

* Rename descriptors concept to definitions

* Implement initialization

* Implement coercion for non-array types

* Adjust tests to coercion without considering nested

* Implement coercion for array types

* Allow to subclass structures and inherit attributes

* Implement strict mode (missing validation)

* Implement validation to new core (#102)

* Implement validation

* Implement serialization (#101)

* Implement validation for nested types

* Implement clone to the new core (#103)

* Implement clone to the new core

* Make linter happy

* Increase coverage

* Refactors Descriptors to be a function instead of a class

* Improve function naming for better debugging

* Ensure that when reusing an attribute, it uses the new schema

* Reformat according to prettier

* Upgrade browser build (#105)

* Webpack setup and begin to setup tests

* Add electron to dev dependencies

* Improve Webpack output during tests

* Add browser tests to Travis

* Remove unecessary dependencies

* Update readme about browser and support

* Separate travis lifecycles

* Attempt to avoid hanging electron test

* Update coveralls

* Move to lerna (#106)

* Move current code to packages

* Share prettier config

* Add coveralls to root package

* Fix Coveralls script

* Add coverage to root package

* Create jest structure (#107)

* Begin to implement assertions

* Migrate boolean validation assertions to use jest-structure

* Assert no expected for valid/invalid matchers

* Assert attribute path is passed

* Add package to automatically add assertions to jest

* Begin to write tests

* Add tests for validating error messages

* Reorganize and begin to write toHaveInvalidAttributes

* Implement toHaveInvalidAttributes and cover with tests

* Rename auto.js to extend-expect.js

* Refactor checking of path presence and usage hint

* Refactor and remove hint from validity check of toHaveInvalidAttributes

* Remove hint from validity check of toHaveInvalidAttribute

* Refactor checking of attribute validity

* Refactor usage error and remove hint for non-usage-related errors

* Replace usage of assertValid with expect().toBeValid()

* Replace validitationMatchers with jest-structure in array specs

* Migrate whole structure spec to use jest-structure

* Rename validity assertions to contain 'structure' in the name

* Fix coverage script

* Add tests for when using arrayContaining with jest-structure

* Add readme

* Allow defaulting when null and not nullable (#108)

* Fallback to default when value is null and not nullable

* Update changelog

* Update docs about nullable attributes

* Refactor name of dynamic default instance variable

* Update changelog (#109)

* Allow to pass custom identifier for dynamic types (#111)

* Allow to pass custom identifier for dynamic types

* Improve documentation wording

* Improve changelog wording

* Apply suggestions from code review

Co-Authored-By: Leonardo Negreiros de Oliveira <negreirosleo12@gmail.com>

* Update docs/schema-concept/circular-references-and-dynamic-types.md

Co-Authored-By: Leonardo Negreiros de Oliveira <negreirosleo12@gmail.com>

* Allow to declare custom setter and getter (#112)

* Allow to use custom setters and getters to attributes

* Add docs about custom getters and setters

* Allow to inherit custom accessors

* reduce function complexity

* Add docs about custom accessors and inheritance

* update joi (#114)

* Add alpha patch (#115)

* Make versioning consistent (#116)

* Update dependencies node and generate build (#117)

* Update dependencies and Node

* Generate build

* Remove Node 8 from Travis build

* Make linter happy

* Add missing symlinks (#118)

* Invert symlinks (#119)

* Invert symlinks

* Bump alpha patch

* Gix Gitbook refs (#120)

* Gix Gitbook refs

* New organization

* Remove introduction duplicate link

* Prepare to release new alpha

* Gitbook testing docs (#124)

* Add testing to docs and prettify md files

* Fix formatting

* Publish only src folder for jest-structure (#125)

* Update Joi links (#126)

* Allow to disable coercion (#127)

* Update paths and messages of errors in docs (#128)

* Improve docs (#129)

* Improve docs

* Improve verbiage

* Update build

* Bump version to 2.0.0

* Point links to master docs

* Update changelog and add migration guide

* Point CodeClimate to use eslint 6

* Use normal quotes where needed

Co-authored-by: Leonardo Negreiros de Oliveira <negreirosleo12@gmail.com>
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.

3 participants