Skip to content

Commit

Permalink
formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
Ni55aN committed Feb 14, 2023
1 parent 2dcf5ad commit f78f7e5
Show file tree
Hide file tree
Showing 6 changed files with 18 additions and 36 deletions.
15 changes: 0 additions & 15 deletions .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,6 @@
"parserOptions": {
"sourceType": "module"
},
"rules": {
"no-undef": "error",
"no-new": "off",
"max-len": ["warn", 120],
"@typescript-eslint/explicit-member-accessibility": "off",
"@typescript-eslint/explicit-function-return-type": "off",
"@typescript-eslint/interface-name-prefix": "off",
"@typescript-eslint/no-empty-interface": "off",
"@typescript-eslint/no-parameter-properties": "off",
"@typescript-eslint/ban-types": "off",
"@typescript-eslint/no-empty-function": "warn",
"no-unused-vars": "off",
"no-shadow": "off",
"indent": ["warn", 2]
},
"env": {
"es6": true,
"mocha": true,
Expand Down
10 changes: 5 additions & 5 deletions rete.config.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { ReteOptions } from 'rete-cli'

export default <ReteOptions>{
input: 'src/index.ts',
name: 'Rete',
globals: {
crypto: 'crypto'
}
input: 'src/index.ts',
name: 'Rete',
globals: {
crypto: 'crypto'
}
}
2 changes: 0 additions & 2 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,3 @@ export * from './scope'
export * from './types'
export * from './utility-types'
export * from './utils'

console.log('rete')
2 changes: 1 addition & 1 deletion src/scope.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ export class Signal<T> {

export class Scope<Produces, Parents extends unknown[] = []> {
signal = new Signal<AcceptPartialUnion<Produces | Parents[number]>>()
parent?: any//Parents['length'] extends 0 ? undefined : Scope<Parents[0], Tail<Parents>>
parent?: any // Parents['length'] extends 0 ? undefined : Scope<Parents[0], Tail<Parents>>

constructor(public name: string) {}

Expand Down
23 changes: 11 additions & 12 deletions src/utility-types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,39 +2,38 @@

export type AcceptPartialUnion<T> = T | any

export type Tail<T extends any[]> = ((...args: T) => void) extends (head: any, ...tail: infer U) => any ? U : never;

export type Tail<T extends any[]> = ((...args: T) => void) extends (head: any, ...tail: infer U) => any ? U : never

type UnionToIntersection<U> = (
U extends never ? never : (arg: U) => never
) extends (arg: infer I) => void
? I
: never;
: never

type StrictExcludeInner<T, U> = 0 extends (
U extends T ? [T] extends [U] ? 0 : never : never
) ? never : T;
type StrictExclude<T, U> = T extends unknown ? StrictExcludeInner<T, U> : never;
) ? never : T
type StrictExclude<T, U> = T extends unknown ? StrictExcludeInner<T, U> : never

type UnionToTuple<T> = UnionToIntersection<
T extends never ? never : (t: T) => T
> extends (_: never) => infer W
? [...UnionToTuple<StrictExclude<T, W>>, W]
: [];
: []

type FilterMatch<T extends any[], V> = T extends [infer Head, ...infer Tail]
type FilterMatch<T extends any[], V> = T extends [infer Head, ...infer _Tail]
? ([Head] extends [V]
? [Head, ...FilterMatch<Tail, V>]
: FilterMatch<Tail, V>
? [Head, ...FilterMatch<_Tail, V>]
: FilterMatch<_Tail, V>
): []

type CanAssignToAnyOf<Provides, Requires> = FilterMatch<UnionToTuple<Provides>, Requires> extends [] ? false : true

type CanAssignEachTupleElemmentToAnyOf<Provides, Requires extends any[]> = Requires extends [infer Head, ...infer Tail]
type CanAssignEachTupleElemmentToAnyOf<Provides, Requires extends any[]> = Requires extends [infer Head, ...infer _Tail]
? CanAssignToAnyOf<Provides, Head> extends true ?
(Tail extends []
(_Tail extends []
? true
: CanAssignEachTupleElemmentToAnyOf<Provides, Tail>
: CanAssignEachTupleElemmentToAnyOf<Provides, _Tail>
): false
: false

Expand Down
2 changes: 1 addition & 1 deletion src/utils.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*global globalThis*/
/* global globalThis*/

const nodeCrypto = () => import('node:crypto')

Expand Down

0 comments on commit f78f7e5

Please sign in to comment.