
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
ngx-pipes-lite
Advanced tools
Useful pipes for angular v14+.
get$ pipe.Open get$ with paging pipes demo preview.
npm i ngx-pipes-liteimport {AjaxGetJsonPipe} from "ngx-pipes-lite";
@NgModule({
// ...
imports: [
// ...
AjaxGetJsonPipe
]
})
or
import {AjaxGetJsonPipe} from "ngx-pipes-lite";
@Component({
// ...
imports: [
AjaxGetJsonPipe
]
// ...
})
export class AppComponent {
}
Simple http GET JSON request pipe for angular template, display the ajax result quickly and lightly.
The result is a wrapper(Observable<ResultWrapper>) of your result from the api, SO get$ always work with async
pipe.
ResultWrapper: Observable<{success: boolean, data?: any | any[], message: string, valid: boolean}>
ResultWrapper#data: your actual result.
ResultWrapper#valid: result.data is not null, undefined, length > 0(array) and {field:...}(object).
Usage: string | get$:{args}?:{options}?
'api' | get$ # actual request: api
'api' | get$:{a:1,b:2} # actual request: api?a=1&b=2
'api' | get$:{a:1,b:2}:{headers:{Authorization:'xxx'}} # actual request: api?a=1&b=2 with header {Authorization: xxx}
<ng-container *ngIf="'https://jsonplaceholder.typicode.com/todos' | get$ | async as result">
<ul *ngIf="result.valid">
<li *ngFor="let item of result.dataAsArray">
{{ item.title }}
</li>
</ul>
</ng-container>
<!--
<p>delectus aut autem</p>
<p>quis ut nam facilis et officia qui</p>
<p>fugiat veniam minus</p>
...
-->
HttpClientModuleis required.
Truncate the long text.
Usage: string | trunc:length?=15:replace?='...'
<p>{{'1234567890abcdef' | trunc}}</p>
<!-- string: 1234567890abcde... -->
<p>{{'abcde' | trunc:3}}</p>
<!-- string: abc... -->
<p>{{'abcde' | trunc:3:*}}</p>
<!-- string: abc* -->
Simple array data paging pipe.
Usage: [] | paging:page?=1:size?=10
<p>{{[1,2,3,4,5,6,7,8,9,10] | paging}}</p>
<!-- Array: [1,2,3,4,5,6,7,8,9,10] -->
<p>{{[1,2,3,4,5,6,7,8,9,10] | paging:2:3}}</p>
<!-- Array: [4,5,6] -->
Math pipe of javascript Math .
The input args of 1 number or number array depends on Math function.
Usage: number | number[] | math:Func
<p>{{[2, 3] | math:'pow'}}</p>
<!-- number: 8 -->
<p>{{[1, 2, 3] | math:'sum'}}</p>
<!-- number: 6 -->
<p>{{1.5 | math:'floor'}}</p>
<!-- number: 1 -->
<!-- Additional -->
<p>{{10 | math:'randomx'}}</p>
<!-- number: Math.random() * 10 -->
collect each object values by key.
Usage: any[] | zip
input = [
{id: 1, name: 'cyx', age: 11},
{id: 2, name: 'abc', age: 21},
{id: 3, name: 'jack', age: 31}
]
<p>{{input | zip}}</p>
<!--
{
id: [1, 2, 3],
name: ['cyx', 'abc', 'jack'],
age: [11, 21, 31]
}
-->
objects group by key's value.
Usage: any[] | group:key
input = [
{age: 11, name: 'cyx'},
{age: 11, name: 'jack'},
{age: 23, name: 'abc'}
]
<p>{{input | group:'age'}}</p>
<!--
{
11: [{age: 11, name: "cyx"}, {age: 11, name: "jack"}],
23: [{age: 23, name: "abc"}]
}
-->
Return first value which not null and not undefined.
Usage: any[] | coalesce
<p>{{[null, 'b', 'c', 'd'] | coalesce}}</p>
<!--
'b'
-->
FAQs
Useful standalone pipes for angular14+.
We found that ngx-pipes-lite demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.