https://github.com/narazaka/activehashie.js
The ActiveHash like something
https://github.com/narazaka/activehashie.js
activehash activerecord
Last synced: 6 months ago
JSON representation
The ActiveHash like something
- Host: GitHub
- URL: https://github.com/narazaka/activehashie.js
- Owner: Narazaka
- Created: 2017-03-29T12:42:21.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2020-06-05T14:41:35.000Z (over 5 years ago)
- Last Synced: 2025-03-16T19:18:03.862Z (7 months ago)
- Topics: activehash, activerecord
- Language: TypeScript
- Size: 62.5 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# [activehashie.js - The ActiveHash like something](https://github.com/Narazaka/activehashie.js)
[](https://www.npmjs.com/package/activehashie)
[](https://www.npmjs.com/package/activehashie)
[](https://www.npmjs.com/package/activehashie)
[](https://www.npmjs.com/package/activehashie)[](https://david-dm.org/Narazaka/activehashie.js)
[](https://david-dm.org/Narazaka/activehashie.js?type=dev)
[](https://travis-ci.org/Narazaka/activehashie.js)
[](https://ci.appveyor.com/project/Narazaka/activehashie-js)
[](https://codecov.io/github/Narazaka/activehashie.js?branch=master)
[](https://www.codacy.com/app/narazaka/activehashie-js?utm_source=github.com&utm_medium=referral&utm_content=Narazaka/activehashie.js&utm_campaign=Badge_Grade)Immutable(currently) table whose api is like great [ActiveHash](https://github.com/zilkey/active_hash).
## Synopsys
```typescript
// TypeScript!
import {ActiveHash, ActiveHashRecord} from "activehashie";class ItemGroupRecord extends ActiveHashRecord {
name: string;
get items() { return this.hasMany(Item); }
}class ItemRecord extends ActiveHashRecord {
name: string;
type: string;
item_group_id: number;
get itemGroup() { return this.belongsTo(ItemGroup); }
}const ItemGroup = new ActiveHash("ItemGroup", ItemGroupRecord);
const Item = new ActiveHash("Item", ItemRecord, { indexColumns: "item_group_id" });Item.setData([
{id: 11, name: "n11", type: "a", item_group_id: 1},
{id: 12, name: "n12", type: "a", item_group_id: 1},
{id: 21, name: "n21", type: "a", item_group_id: 2},
{id: 22, name: "n22", type: "b", item_group_id: 2},
{id: 23, name: "n23", type: "b", item_group_id: 2},
{id: 31, name: "n31", type: "b", item_group_id: 3},
]);ItemGroup.setData([
new ItemGroupRecord({id: 1, name: "g1"}),
new ItemGroupRecord({id: 2, name: "g2"}),
]);Item.
where({id: [11, 21, 22]}).
where({item_group_id: 2}).
not({type: "a"}).
toArray()[0] ===
Item.find(22);
```## See also
- [ActiveHash](https://github.com/zilkey/active_hash)
## License
This is released under [MIT License](http://narazaka.net/license/MIT?2017).