-
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
addColumn
andaddRow
transformer functions
2021-10-04
- new transformer function
addRows
2021-03-27
- new transformer function
swapCellGroups
- new utility functions
isOutOfArea
,isWithinArea
andsubtractPositions
- new option
includeOutsideValues
toselectSubGrid
selector
2021-03-21
- new transformer functions
shiftColumn
andshiftRow
2021-03-20
- added new search functions
includes
andincludesWhere
2021-03-20
- new search functions
findMax
andfindMin
2021-03-13
- new reducers functions
everyCell
,isEmptyGrid
,noCells
andsomeCells
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.fn
withgridl.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:
adjacences
anddirections
-
gridl.adjacences
is not supported anymore - useimport { adjacences } from 'gridl'
instead -
gridl.directions
is 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 🥳