ReferenceContext
Direct Subclass:
Indirect Subclass:
Example:
import ReferenceContext from 'reference-context';
const context = new ReferenceContext();
Static Method Summary
Static Public Methods | ||
public static |
isValidReference(reference: *): boolean Check if the given reference is valid. |
Constructor Summary
Public Constructor | ||
public |
constructor(context: object | ReferenceContext | Iterable, parentContext: ReferenceContext | null) Create a reference-context instance. |
Member Summary
Public Members | ||
public get |
The the number of values in this context including it's parents. |
|
public get |
The the number of values in this context (excluding the parents). |
|
public get |
The the number of keys in this context (excluding the parents). |
|
public get |
Get the parent context. |
|
public get |
The the number of keys in this context including it's parents. |
Method Summary
Public Methods | ||
public |
Assign a new reference for the given value or return it's current reference. |
|
public |
clear(): void Clear and release all the values on this context. |
|
public |
Create a closure context for this context. |
|
public |
copyFrom(context: ReferenceContext | Map | Array | object): ReferenceContext Copy from other context it's references and values |
|
public |
Remove the given reference from this context. |
|
public |
Check if this context or one of it's parents has the given value. |
|
public |
forEach(callback: function, thisArg: *): ReferenceContext Iterate over the context own values. |
|
public |
Generate a reference for the |
|
public |
Get the reference value on this context or it's parents. |
|
public |
Check if this context or it's parents has the given reference. |
|
public |
hasOwnReference(reference: Reference): boolean Check if this context only (and not the parents) has the given reference. |
|
public |
Get the reference of the given value in this context or one of it's parents. Return undefined if the value not exists. |
|
public |
Check if this context only (excluding the parents) has the given value. |
|
public |
Release a value from this context and remove any reference for this value. |
|
public |
set(reference: Reference, value: *): ReferenceContext Set a reference for the given value. |
|
public |
Get the instance constructor name. |
Static Public Methods
Public Constructors
public constructor(context: object | ReferenceContext | Iterable, parentContext: ReferenceContext | null) source
Create a reference-context instance.
Params:
Name | Type | Attribute | Description |
context | object | ReferenceContext | Iterable |
|
Initialize context with values |
parentContext | ReferenceContext | null |
|
The parent context for this context |
Public Members
Public Methods
public assign(value: *): Reference source
Assign a new reference for the given value or return it's current reference.
Params:
Name | Type | Attribute | Description |
value | * | The given value |
Throw:
If generating references is not supported in this context |
public copyFrom(context: ReferenceContext | Map | Array | object): ReferenceContext source
Copy from other context it's references and values
Params:
Name | Type | Attribute | Description |
context | ReferenceContext | Map | Array | object | The context to copy from |
public delete(reference: Reference): boolean source
Remove the given reference from this context. If the reference exists only on the parent contexts, this method will do nothing.
Params:
Name | Type | Attribute | Description |
reference | Reference | The given reference |
public exists(value: *): boolean source
Check if this context or one of it's parents has the given value.
Params:
Name | Type | Attribute | Description |
value | * | The given value |
public forEach(callback: function, thisArg: *): ReferenceContext source
Iterate over the context own values.
Params:
Name | Type | Attribute | Description |
callback | function | ||
thisArg | * |
|
public generateReference(): Reference source
Generate a reference for the assign
method.
The reference not required to be unique, the callee is responsible to verify that the
reference is not in use and if required call this method again.
Throw:
If generating references is not supported in this context |
public get(reference: Reference): * | undefined source
Get the reference value on this context or it's parents.
Params:
Name | Type | Attribute | Description |
reference | Reference | The reference of the value |
Throw:
If the reference not exists. |
public has(reference: Reference): boolean source
Check if this context or it's parents has the given reference.
Params:
Name | Type | Attribute | Description |
reference | Reference | The given reference |
public hasOwnReference(reference: Reference): boolean source
Check if this context only (and not the parents) has the given reference.
Params:
Name | Type | Attribute | Description |
reference | Reference | The given reference |
public lookup(value: *): Reference | undefined source
Get the reference of the given value in this context or one of it's parents. Return undefined if the value not exists.
Params:
Name | Type | Attribute | Description |
value | * | The given value |
Throw:
If the value not exists. |
public own(value: *): boolean source
Check if this context only (excluding the parents) has the given value.
Params:
Name | Type | Attribute | Description |
value | * | The given value |
public release(value: *): boolean source
Release a value from this context and remove any reference for this value. If the value exists on the parent context, this method will do nothing.
Params:
Name | Type | Attribute | Description |
value | * | The value to release |
public set(reference: Reference, value: *): ReferenceContext source
Set a reference for the given value.
Params:
Name | Type | Attribute | Description |
reference | Reference | The value reference |
|
value | * | The referable value |