peekeasy

delegated proxy tools in typescript

https://github.com/domrally/peekeasy

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

delegate delegation event forward forwarding handler observer proxy state
Last synced: 6 months ago · JSON representation ·

Repository

delegated proxy tools in typescript

Basic Info
Statistics
  • Stars: 1
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 41
Topics
delegate delegation event forward forwarding handler observer proxy state
Created almost 5 years ago · Last pushed over 3 years ago
Metadata Files
Readme License Citation

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

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

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

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 651
  • Total Committers: 1
  • Avg Commits per committer: 651.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Dom d****y@g****m 651

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

  • Versions: 23
  • Dependent Packages: 2
  • Dependent Repositories: 0
  • Downloads: 4 Last month
Rankings
Dependent packages count: 8.9%
Forks count: 15.4%
Stargazers count: 16.7%
Downloads: 19.2%
Average: 19.3%
Dependent repos count: 36.3%
Maintainers (1)
Last synced: 6 months ago

Dependencies

package-lock.json npm
  • 149 dependencies
package.json npm
  • @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
.github/workflows/publish.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
.github/workflows/test.yml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-node v3 composite