-
Notifications
You must be signed in to change notification settings - Fork 0
Changelog
Sascha Klatt edited this page Feb 28, 2022
·
32 revisions
2022-02-28
- wrong homepage url in package.json
2022-02-28
- vulnerability issues with build tools
- links to new domain gridl.js.org
2021-10-26
- vulnerability issues with build tools
- example docs for
addColumns
2021-04-17
- new transformer function
addColumns
- simplified
addColumnandaddRowtransformer functions
2021-10-04
- new transformer function
addRows
2021-03-27
- new transformer function
swapCellGroups - new utility functions
isOutOfArea,isWithinAreaandsubtractPositions - new option
includeOutsideValuestoselectSubGridselector
2021-03-21
- new transformer functions
shiftColumnandshiftRow
2021-03-20
- added new search functions
includesandincludesWhere
2021-03-20
- new search functions
findMaxandfindMin
2021-03-13
- new reducers functions
everyCell,isEmptyGrid,noCellsandsomeCells
2021-03-07
- updated documentation, no functional changes
2021-03-07
- First usable version of the rewrite (since v0.11.0 was unpublished from npm)
2021-03-07
- Complete rewrite of gridl to provide a functional API
- New concept of traversing the grid with so called walkers
- Accompanying documentation website at https://gridl.dev
- Note: This version was unpublished from npm because I screwed up the publishing process :/ v0.11.1 is the first usable version of the 0.11.x releases
2018-03-24
- new functions
area.clone(),area.row()andarea.column()
2018-03-24
- area intersection bug
- updated documentation
2018-03-18
- new area function
.area(areaDesc).intersection(areaDesc)that returns the intersection of two areas as a new area
2018-03-18
-
.area(areaDesc).data(array2D)just ignores values that don't fit instead of throwing an error
2018-03-18
- new area functions
.area(areaDesc).forEach((val, pos, src) => {...}).area(areaDesc).globalToLocal(globalPosition)
2018-03-17
- New area api
- areas are described by an area description array:
[width = 0, height = 0, x = 0, y = 0, anchorX = 0, anchorY = 0] - areas can be accessed by using
gridl(data).area(areaDescription) - added new area functions
.area(areaDesc).numRows().area(areaDesc).numColumns().area(areaDesc).size().area(areaDesc).position().area(areaDesc).anchor().area(areaDesc).valueAt(localPosition).area(areaDesc).localToGlobal(localPosition).area(areaDesc).data([areaData]).area(areaDesc).apply().area(areaDesc).parent().area(areaDesc).reduce((acc, val, pos, src) => {...}).area(areaDesc).map((val, pos, src) => {...}).area(areaDesc).fill((val, pos, src) => {...}).area(areaDesc).find((val, pos, src) => {}).area(areaDesc).description().area(areaDesc).isInside(areaDesc).area(areaDesc).contains(areaDesc).area(areaDesc).intersectsWith(otherArea)
- removed all former area functions
areaFitsAt()getAreaAt()setAreaAt()findInArea()positionInArea()reduceAreaAt()
- areas are described by an area description array:
- Refactored plugin api
- replaced
gridl.fnwithgridl.use(key, plugin)
- replaced
- removed navigation api to simplify things
- there's no more internal position inside of gridl
- removed
goto(),walk(),position() - removed all functions that were using the internal position
- allow importing empty data (no rows and no columns)
2018-02-26
- Plugin api !!!
- You can now add custom functions to gridl and mess around with the internal state. Note: all responsibility lies with the plugin creator!
- heavy internal refactoring (every public gridl function is now implemented via a core plugin)
- support for namespaces: functions can be scoped with the name of the plugin
- new
fill()method: similar to map/forEach, but returns the current gridl instance, not a copy- fill all cells with a fixed value:
gridl(data).fill('bam') - fill all cells using a callback function:
gridl(data).fill((v, pos, src) => 'bam')
- fill all cells with a fixed value:
-
data()can also be used as setter now:gridl(data).data(newData) - generators
- moved generators into their own namespace
generators - renamed generators
-
gridl.make()toimport { generators } from gridl; generators.makeGridl(); -
gridl.makeGrid()toimport { generators } from gridl; generators.makeDataGrid() -
gridl.makeList()toimport { generators } from gridl; generators.makeDataList()
-
- moved generators into their own namespace
- constants
- moved constants into their own namespaces:
adjacencesanddirections -
gridl.adjacencesis not supported anymore - useimport { adjacences } from 'gridl'instead -
gridl.directionsis not supported anymore - useimport { directions } from 'gridl'instead
- moved constants into their own namespaces:
- removed
setValue()andsetValueAt(), they are now fully replaced byvalue()andvalueAt() - renamed mirror functions
-
mirrorX()toflipX() -
mirrorY()toflipY()
-
- don't throw error when
walk()outside the grid - integrated tutorials into JSDoc
2018-02-17
-
reduceArea()andreduceAreaAt()functions
2018-02-17
- more predefined adjacence sets
- adjacences.ALL_CW
- adjacences.ALL_CCW
- adjacences.DIAGONAL_CW
- adjacences.DIAGONAL_CCW
- adjacences.HORIZONTAL_CW
- adjacences.HORIZONTAL_CCW
- made all adjacence and direction constants immutable
2018-12-02
-
reduce()method - a changelog 🥳