tomi / fromfrom Goto Github PK
View Code? Open in Web Editor NEWA JS library written in TS to transform sequences of data from format to another
License: MIT License
A JS library written in TS to transform sequences of data from format to another
License: MIT License
2.1.0
to 2.1.1
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
css-loader is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
The new version differs by 13 commits.
bc16c3d
chore(release): 2.1.1
b671db7
fix: don't remove value from attribute selector (#904)
3797e4d
fix: sourcemap generating when previous loader pass sourcemap as string (#905)
cc81af1
refactor: stuff (#903)
e9ce745
fix: source map generation when sourceRoot
is present (#901)
a49e904
docs: improve documentation for hashPrefix
, context
, getLocalIdent
(#900)
c309788
refactor: avoid lodash
in favor native implementations
0ba8c66
fix: do not break selector with escaping (#896)
2293eb0
chore: update defaults (#895)
2a2ee7b
docs: sourceMaps are disabled by default (#890)
2d45e95
test: base64 (#888)
1fb8948
docs: update README.md (#885)
034f9a3
test: emoji (#881)
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
release
branch failed. π¨I recommend you give this issue a high priority, so other packages depending on you could benefit from your bug fixes and new features.
You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. Iβm sure you can resolve this πͺ.
Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.
Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the release
branch. You can also manually restart the failed CI job that runs semantic-release.
If you are not sure how to resolve this, here is some links that can help you:
If those donβt help, or if this issue is reporting something you think isnβt right, you can always ask the humans behind semantic-release.
The npm token configured in the NPM_TOKEN
environment variable must be a valid token allowing to publish to the registry https://registry.npmjs.org/
.
If you are using Two-Factor Authentication, make configure the auth-only
level is supported. semantic-release cannot publish with the default auth-and-writes
level.
Please make sure to set the NPM_TOKEN
environment variable in your CI with the exact value of the npm token.
Good luck with your project β¨
Your semantic-release bot π¦π
Are there any particular reasons why the development version of ts is set to es2015 instead of es2018?
Doesn't seem to work when I do this
24.0.0
to 24.0.1
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
ts-jest is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
The new version differs by 23 commits.
b43b3c1
chore(release): 24.0.1
2d91a37
chore: update package-lock
485d3f7
build(deps): bump semver from 5.6.0 to 5.7.0 (#1043)
2bd2534
build(deps-dev): bump @types/node from 10.14.3 to 10.14.4 (#1041)
bdba560
build(deps-dev): bump @types/node from 10.14.2 to 10.14.3 (#1038)
08766bf
build(deps-dev): bump @types/node from 10.14.1 to 10.14.2 (#1036)
5f92fd2
build(deps-dev): bump js-yaml from 3.12.2 to 3.13.0 (#1034)
a9c79e9
build(deps-dev): bump @types/yargs from 12.0.9 to 12.0.10 (#1032)
245ab29
build(deps-dev): bump eslint from 5.15.2 to 5.15.3 (#1031)
4e72e59
build(deps-dev): bump eslint from 5.15.1 to 5.15.2 (#1030)
fb7dd55
feat(config): specify package.json location (#823) (#1013)
279edcd
build(deps-dev): bump tslint from 5.13.1 to 5.14.0 (#1028)
8b93228
build(deps-dev): bump @types/node from 10.12.30 to 10.14.1 (#1027)
b825c7f
build(deps-dev): bump @types/lodash.memoize from 4.1.4 to 4.1.6 (#1014)
6f0ab80
build(deps-dev): bump @types/lodash.merge from 4.6.5 to 4.6.6 (#1015)
There are 23 commits in total.
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
master
branch failed. π¨I recommend you give this issue a high priority, so other packages depending on you could benefit from your bug fixes and new features.
You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. Iβm sure you can resolve this πͺ.
Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.
Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the master
branch. You can also manually restart the failed CI job that runs semantic-release.
If you are not sure how to resolve this, here is some links that can help you:
If those donβt help, or if this issue is reporting something you think isnβt right, you can always ask the humans behind semantic-release.
The npm token configured in the NPM_TOKEN
environment variable must be a valid token allowing to publish to the registry https://registry.npmjs.org/
.
If you are using Two-Factor Authentication, make configure the auth-only
level is supported. semantic-release cannot publish with the default auth-and-writes
level.
Please make sure to set the NPM_TOKEN
environment variable in your CI with the exact value of the npm token.
Good luck with your project β¨
Your semantic-release bot π¦π
I've come from C# and like your project. Couldn't find much out there (in TypeScript) like it - mystified by that! Would love to see just a simple fromRange(start:number, end:number)
and maybe fromInfinite()
to get me started. Or is there already some way to do that?
4.1.0
to 4.2.0
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
file-loader is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
The new version differs by 3 commits.
ba0fd4c
chore(release): 4.2.0
642ee74
docs: improve readme (#341)
c136f44
feat: postTransformPublicPath
option (#334)
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
15.13.20
to 15.13.21
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
semantic-release is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
The new version differs by 3 commits.
391af98
fix(package): update hosted-git-info to version 3.0.0
d45d8b6
docs: fix typo
519df0d
chore: remove commitizen from our dependencies
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
8.0.2
to 8.0.3
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
ts-node is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
Added
The new version differs by 10 commits.
8706c31
8.0.3
d065dd2
Update README note about relative installations
655c43b
Fallback on resolving TypeScript relatively (#793)
c2ecc7d
Add note about local TypeScript to README (#789)
7414752
Update README with triple-slash directive example (#776)
efaf67a
Add VS Code env note to README (#738)
2609663
Avoid incrementing memory cache unnecessarily
b4bdb08
Specify sensitive file names for document registry
c215693
Utilize TypeScript sys
better for service host
062254f
Conditionally enable .[tj]sx
extensions
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
The synchronous transformation of data has already been solved elegantly with transducers. You can refer to:
Transducers apply equally to iterators and observable. I don't mean this to belittle your effort, I rather want to attract the attention on prior art and not reinventing (redebugging) the wheel.
One possible advantage of your approach may be the typings. Transducers are pretty hard to type both accurately and concisely.
3.3.0
to 3.3.1
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
webpack-dev-server is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
The new version differs by 6 commits.
99b78dc
chore(release): 3.3.1
f10fd68
docs: fix changelog (#1783)
b31cbaa
fix: only add entries after compilers have been created (#1774)
66b04a9
fix(regression): always get necessary stats for hmr (#1780)
028ceee
fix(regression): host and port can be undefined or null (#1779)
f5ea174
docs(contribution): alternative way to test (#1506)
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
1.4.1
to 1.4.2
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
rollup is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
2019-03-07
The new version differs by 6 commits.
adaa23e
1.4.2
2d03a67
Update changelog
858fea4
Resolve a situation where different default exports referencing the same (#2737)
6903425
Update changelog
af41561
Fix an issue where the same hash was generated when different variables (#2741)
d27c0f6
Docs: Fix return type (#2738)
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
Hi there,
This library looks interesting and helpful!
I just want to know how chaining works here regarding with the performance. Since chaining creates a temporary array w/c affects performance. That is why using transducer on a massive list is better.
Any thoughts?
A first-time contributor here! I would love to open up a pull request and implement some stuff! Looks like the except
function might be the lowest hanging fruit, so I'd love to take a stab at it.
On the lodash documentation page, the without
function uses a signature like this:
const items = _.without(array, ...items);
How about something like this?
const squares = from([1, 2, 3])
.except(2) // or maybe name it `without` instead?
.map(e => e * e)
.toArray();
3.4.3
to 3.4.4
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
replace-in-file is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
I think there is a small mistake on the type for toObject
function when a selector is introduced.
Currently it's this:
toObject(keySelectorFn: MapFn<TItem, string>): StringKeyedObject<TItem>;
toObject(keySelectorFn: MapFn<TItem, number>): NumberKeyedObject<TItem>;
toObject<TElement>(keySelectorFn: MapFn<TItem, string>, elementSelectorFn: MapFn<TItem, TElement>): StringKeyedObject<TItem>;
toObject<TElement>(keySelectorFn: MapFn<TItem, number>, elementSelectorFn: MapFn<TItem, TElement>): NumberKeyedObject<TItem>;
I think the ones with the element selector should have a keyed object of type TElement
.
5.0.0
to 5.0.1
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
copy-webpack-plugin is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
The new version differs by 5 commits.
a8fc34e
chore(release): 5.0.1
91ba939
chore(deps): update (#354)
5b407f1
fix: respect base of glob
for context dependencies (#352)
ff1a7be
docs: improve logLevel
option description (#346)
d5788db
docs: fix a typo in README.md (#344)
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
9.14.2
to 9.15.1
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
highlight.js is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
I don't know how to formulate the question correctly or if it makes sense.
I love the library, but the first thing that came to mind was if it were possible to use function composition with it. Export the transforms as standalone functions waiting for an Iterator and be able to compose transformations. Is this out of the scope?
// from the main example
import { compose, filter, sortBy } from 'fromfrom/transforms';
const activeSortedByName = compose(
sortByDescending(user => user.age),
filter(user => user.active)
);
const result = activeSortedByName(users).toArray();
// from the main example
import { pipe, filter, sortBy, toArray } from 'fromfrom/transforms';
const activeSortedByName = pipe(
filter(user => user.active),
sortByDescending(user => user.age),
toArray
);
const result = activeSortedByName(users);
Hi, I was wondering if there are any plans to add basic aggregate operators, i.e sum, avg, min, max, etc, for a whole collection or as part of a groupBy operation?
Alternatively do you have any suggestions on how to efficiently implement per group aggregation? So far I've come up with this (from your playground examples), but perhaps there's a better approach:
import { from } from "fromfrom";
import data from "./data";
const result = from(data)
.groupBy(u => u.country)
.toObject(
g => g.key,
g => ({
items: g.items,
count: g.items.length,
sum: g.items.reduce((s, i) => s + i.score, 0),
avg: g.items.reduce((s, i) => s + i.score, 0) / g.items.length,
min: g.items.reduce((s, i) => Math.min(s, i.score), Infinity),
max: g.items.reduce((s, i) => Math.max(s, i.score), -Infinity),
})
);
P.s: In case you are interested, I've pitted a number of similar libs and fromfrom
consistently comes on top in terms of perf (atleast in Firefox, other browsers are temperamental): https://codesandbox.io/s/angry-wind-zu0gj
The fact that it is also the smallest in size, 100% coverage, type-safe, is admirable.
Hi,
Thanks for making this library - it looks promising as I'm just creating a project that could use extensive search/filter/morph of data. I'm not a pro dev, so below will be few points from that perspective
I went through documentation but it's written in TS often without practical use examples. This makes it hard to figure out how am I supposed to use each transform. Would you consider providing code examples in documentation akin to how, for example, Lodash does theirs for every transformation?
I've noticed your usage examples on Playground show working with flat data. If I have some objects nested few levels deep, would you expect me to manually destructure object tree and then feed each branch to fromfrom transforms? Ideally I would like to filter the entire object tree in one operation (see example mockup object https://pastebin.com/icBgpV5c), and for example if I want to do .filter(color: "green")
and get as output new object with only branches that end with a color: "green"
(expected: https://pastebin.com/a8qUnPp0). Could you give example of how you envision a workflow of operations when working with nested data like this? I'm most interested in .filter .sort .groupBy .find .pick
How do you envision us doing operations with multiple parameters/conditions? Let's say I want to filter by two colours and have my filter parameters stored in separate array. Would doing it like this be the best way?:
const fndcolours = ["red", "green"];
from(data)
.filter(user => fndcolours.includes(user.color))
.toArray();
Thanks again
Not all methods of Sequence
have a usage example in the documentation. We should add usage examples with an @example
JSDoc annotation to all methods. This way they end up in the generated API documentation automatically.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.