Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kei-g/cactus-stack.js
A library for cactus stack works on Node.js
https://github.com/kei-g/cactus-stack.js
data-structure npm-package typescript
Last synced: 5 days ago
JSON representation
A library for cactus stack works on Node.js
- Host: GitHub
- URL: https://github.com/kei-g/cactus-stack.js
- Owner: kei-g
- License: bsd-3-clause
- Created: 2021-08-31T12:16:28.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-05-28T00:40:37.000Z (9 months ago)
- Last Synced: 2024-05-28T07:29:49.700Z (9 months ago)
- Topics: data-structure, npm-package, typescript
- Language: TypeScript
- Homepage:
- Size: 2.16 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# cactus-stack.js [![license][license-image]][license-url] [![npm][npm-image]][npm-url]
[![dependency][depencency-image]][dependency-url] [![maintenance][maintenance-image]][npmsio-url] [![quality][quality-image]][npmsio-url] [![GitHub CI (Build)][github-build-image]][github-build-url] [![GitHub CI (Coverage)][github-coverage-image]][github-coverage-url]
`cactus-stack` - A library for cactus stack works on [Node.js](https://nodejs.org/)
## Installation
```shell
npm i cactus-stack --save
```## Usage
```typescript
import { CactusStack, CactusStackError } from 'cactus-stack'type Foo = {
id: number
name: string
}const root = new CactusStack()
const firstNode = root.push({
id: 1,
name: 'foo',
})const secondNode = root.push({
id: 2,
name: 'bar',
})const thirdNode = secondNode.push({
id: 3,
name: 'baz',
})const baz = thirdNode.pop()
if (baz instanceof CactusStackError) {
console.error(baz.message)
process.exit(1)
}
console.assert(baz.id === 3)
console.assert(baz.name === 'baz')const foo = firstNode.pop()
if (foo instanceof CactusStackError) {
console.error(foo.message)
process.exit(1)
}
console.assert(foo.id === 1)
console.assert(foo.name === 'foo')const err = thirdNode.pop()
console.assert(err instanceof CactusStackError)
```[depencency-image]:https://img.shields.io/librariesio/release/npm/cactus-stack?logo=nodedotjs
[dependency-url]:https://npmjs.com/package/cactus-stack?activeTab=dependencies
[github-build-image]:https://github.com/kei-g/cactus-stack.js/actions/workflows/build.yml/badge.svg
[github-build-url]:https://github.com/kei-g/cactus-stack.js/actions/workflows/build.yml
[github-coverage-image]:https://github.com/kei-g/cactus-stack.js/actions/workflows/coverage.yml/badge.svg
[github-coverage-url]:https://github.com/kei-g/cactus-stack.js/actions/workflows/coverage.yml
[license-image]:https://img.shields.io/github/license/kei-g/cactus-stack.js
[license-url]:https://opensource.org/licenses/BSD-3-Clause
[maintenance-image]:https://img.shields.io/npms-io/maintenance-score/cactus-stack?logo=npm
[npm-image]:https://img.shields.io/npm/v/cactus-stack.svg?logo=npm
[npm-url]:https://npmjs.org/package/cactus-stack
[npmsio-url]:https://npms.io/search?q=cactus-stack
[quality-image]:https://img.shields.io/npms-io/quality-score/cactus-stack?logo=npm