Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F100915455
scope.d.ts
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Mon, Feb 3, 22:12
Size
2 KB
Mime Type
text/x-java
Expires
Wed, Feb 5, 22:12 (2 d)
Engine
blob
Format
Raw Data
Handle
24054963
Attached To
rOACCT Open Access Compliance Check Tool (OACCT)
scope.d.ts
View Options
import { Code, Name } from "./code";
interface NameGroup {
prefix: string;
index: number;
}
export interface NameValue {
ref: ValueReference;
key?: unknown;
code?: Code;
}
export type ValueReference = unknown;
interface ScopeOptions {
prefixes?: Set<string>;
parent?: Scope;
}
interface ValueScopeOptions extends ScopeOptions {
scope: ScopeStore;
es5?: boolean;
lines?: boolean;
}
export type ScopeStore = Record<string, ValueReference[] | undefined>;
type ScopeValues = {
[Prefix in string]?: Map<unknown, ValueScopeName>;
};
export type ScopeValueSets = {
[Prefix in string]?: Set<ValueScopeName>;
};
export declare enum UsedValueState {
Started = 0,
Completed = 1
}
export type UsedScopeValues = {
[Prefix in string]?: Map<ValueScopeName, UsedValueState | undefined>;
};
export declare const varKinds: {
const: Name;
let: Name;
var: Name;
};
export declare class Scope {
protected readonly _names: {
[Prefix in string]?: NameGroup;
};
protected readonly _prefixes?: Set<string>;
protected readonly _parent?: Scope;
constructor({ prefixes, parent }?: ScopeOptions);
toName(nameOrPrefix: Name | string): Name;
name(prefix: string): Name;
protected _newName(prefix: string): string;
private _nameGroup;
}
interface ScopePath {
property: string;
itemIndex: number;
}
export declare class ValueScopeName extends Name {
readonly prefix: string;
value?: NameValue;
scopePath?: Code;
constructor(prefix: string, nameStr: string);
setValue(value: NameValue, { property, itemIndex }: ScopePath): void;
}
interface VSOptions extends ValueScopeOptions {
_n: Code;
}
export declare class ValueScope extends Scope {
protected readonly _values: ScopeValues;
protected readonly _scope: ScopeStore;
readonly opts: VSOptions;
constructor(opts: ValueScopeOptions);
get(): ScopeStore;
name(prefix: string): ValueScopeName;
value(nameOrPrefix: ValueScopeName | string, value: NameValue): ValueScopeName;
getValue(prefix: string, keyOrRef: unknown): ValueScopeName | undefined;
scopeRefs(scopeName: Name, values?: ScopeValues | ScopeValueSets): Code;
scopeCode(values?: ScopeValues | ScopeValueSets, usedValues?: UsedScopeValues, getCode?: (n: ValueScopeName) => Code | undefined): Code;
private _reduceValues;
}
export {};
Event Timeline
Log In to Comment