Comments (4)
how would this be implemented without changing the type or mutating the value? the value of using the known functions is that they take care of creating the correct type but i think filter/map/reduce won't work without mutation or changing type
I think though most of the others should be fine
from crocks.
hey @evilsoft I am wondering if you have some magical idea for this? cause i can't quite think of how to do many of these without returning an array instead of the original iterable
?
from crocks.
I think we need to define a function that clone
the object in a way that it doesn't loose the structure. We need some checks for base constructors like (Date, Array, String etc..) and clone it in the right way, and when its a normal object use something like Object.create and assign.
Something like (pretty basic without the base constructor checks)
let object = Object.create(Object.getPrototypeOf(source))
Object.assign(object, source)
let symbols = Object.getOwnPropertySymbols(source)
symbols.forEach(key => object[key] = source[key])
return object
To make it easier, we should clone only after isIterable()
, so we could call it cloneIterable
from crocks.
@HenriqueLimas @evilsoft I think we may have made a mistake on this one when we did head. I am thinking that the behavior we started with in head
is wrong. I'm thinking that it should be if a generator function is passed in, then we will invoke it and iterate, however if you pass in the result of a generator call then your expectation is that you want it iterated over.
What do you guys think?
from crocks.
Related Issues (20)
- import crocks lib to crocks.dev for using in browser console HOT 2
- README.md example confusion with `curry` HOT 8
- `yarn run setup` problem with `node-sass` dependency
- `yarn run docs:dev` fails with `ReferenceError: primordials is not defined`. Node v12.
- Updating the framework used for docs HOT 11
- Adding support for Symbol properties HOT 1
- Incomplete docs HOT 5
- Documentation for React Application HOT 3
- Upgrading Tape to 5.x results in these tests failing
- `getProp` of `null` value returns a `Just` HOT 4
- [QUESTION]: ~> syntax, "lifting" functions HOT 2
- dimap in arrow HOT 2
- How to unwrap Monads for return statements that expect a value? HOT 11
- Allow ReaderT to work with Fluture HOT 4
- Add local function to Reader and ReaderT
- Add getPropOrError to crocks HOT 6
- Async 'race' and 'all' cancellation after first rejection
- Distribute src as ES Modules HOT 2
- Add pointfree Pair to array (pairToArray) function
- Add the StateT monad
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from crocks.