Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.2%) to scientific vocabulary
Keywords
Repository
delegated proxy tools in typescript
Basic Info
- Host: GitHub
- Owner: domrally
- License: mit
- Language: TypeScript
- Default Branch: main
- Homepage: https://domrally.github.io/peekeasy
- Size: 1.06 MB
Statistics
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 41
Topics
Metadata Files
README.md
Peekeasy
tools for behavior, delegation, and state in typescript
Contents
Use
install
npm i peekeasy
examples
behavior
```ts import { Behavior } from 'peekeasy'
const behavior = new Behavior([
async data => (data.message = Hello, ${data.message}!),
async ({ message }) => console.log(message),
])
// Hello, behavior! behavior({ message: 'behavior' }) ```
delegate
```ts import { Delegate } from 'peekeasy'
const set = new Set<(t: string, u: string) => void>(), delegate = new Delegate(set)
delegate.add(async message => console.log(...message))
// Hello, delegate! set.forEach(f => f('Hello,', 'delegate!')) ```
reference
```ts import { Reference } from 'peekeasy'
function* generate() { while (true) { yield 'Hello, reference!' } }
const reference = new Reference(generate())
// Hello, reference!
console.log(${reference})
```
vector
```ts import { Vector } from 'peekeasy'
const vector = new Vector([{ text: 'Hello,' }, { text: 'vector!' }])
// Hello, vector! console.log(...vector.text) ```
Contribute
clone repo
gh repo clone domrally/peekeasy
open directory
cd Documents/Github/peekeasy
download dependencies
npm i
fix and format
npm stop
run tests
npm test
build docs
npm start
deploy
merge a pull request into main to publish to npm
Project
goals
- syntactic sugar in typescript for
- implementations for built-in javascript types
SetandWeakSetinterfacesIteration protocolsProxyobjects
- bring concepts to typescript from
- C#
delegatesandevents - array programming
- C#
non-goals
- event system
- app framework
- observer pattern
- finite state machine
- integration with array programming languages
documentation
https://domrally.github.io/peekeasy
dependencies
internal
```mermaid classDiagram direction LR
PromiseLike <|.. Promise
PromiseLike *-- Delegate
Promise <.. Delegate
PromiseLike <.. AsyncIterator
IteratorResult o-- AsyncIterator
Iterator -- AsyncIterator
AsyncIterator *-- AsyncIterable
Iterable -- AsyncIterable
AsyncIterable *-- Delegate
IteratorResult o-- Iterator
Iterator *-- Iterable
WeakSet -- Set
WeakSet <|.. Delegate
Iterator <-- Reference
Iterable *-- Vector
class IteratorResult {
done boolean
value any
}
class AsyncIterable {
Symbol.asyncIterator() AsyncIterator
}
class Iterable {
Symbol.iterator() Iterator
}
class Iterator {
next() IteratorResult
}
class AsyncIterator {
next() PromiseLike~IteratorResult~
}
class PromiseLike {
then() PromiseLike
}
link PromiseLike "https://microsoft.github.io/PowerBI-JavaScript/interfaces/_node_modules_typedoc_node_modules_typescript_lib_lib_es5_d_.promiselike.html" "PromiseLike"
class Promise {
finally(onfinally () => void) Promise
}
link Promise "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise" "Promise"
class WeakSet {
add() WeakSet
delete() WeakSet
has() boolean
}
link WeakSet "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet" "WeakSet"
class Set {
size number
clear() void
forEach() void
}
link Set "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set" "Set"
class Delegate
link Delegate "https://github.com/domrally/peekeasy/blob/main/src/delegate.ts" "delegate.ts"
class Vector
link Vector "https://github.com/domrally/peekeasy/blob/main/src/vector.ts" "vector.ts"
class Reference
link Reference "https://github.com/domrally/peekeasy/blob/main/src/reference.ts" "reference.ts"
```
external
structure
Owner
- Name: Dom
- Login: domrally
- Kind: user
- Location: Los Angeles, CA
- Repositories: 6
- Profile: https://github.com/domrally
applied math & game dev
Citation (CITATION.cff)
cff-version: 1.2.0
message: If you use this software, please cite it using these metadata.
authors:
- family-names: Mandy
given-names: Dom
orcid: https://orcid.org/0000-0001-9378-6548
title: peekeasy
version: 0.16.0
license: MIT
repository-code: https://github.com/domrally/peekeasy
GitHub Events
Total
Last Year
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 0
- Total pull requests: 24
- Average time to close issues: N/A
- Average time to close pull requests: 1 day
- Total issue authors: 0
- Total pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 24
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
- domrally (24)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- npm 4 last-month
- Total dependent packages: 2
- Total dependent repositories: 0
- Total versions: 23
- Total maintainers: 1
npmjs.org: peekeasy
tools for behavior, delegation, and state in typescript
- Homepage: https://domrally.github.io/peekeasy
- License: MIT
-
Latest release: 0.17.0
published over 3 years ago
Rankings
Maintainers (1)
Dependencies
- 149 dependencies
- @types/node * development
- @typescript-eslint/eslint-plugin * development
- @typescript-eslint/parser * development
- eslint * development
- eslint-config-alloy * development
- eslint-config-prettier * development
- prettier * development
- ts-node * development
- typedoc * development
- typescript * development
- actions/checkout v3 composite
- actions/setup-node v3 composite
- actions/cache v3 composite
- actions/checkout v3 composite
- actions/setup-node v3 composite