If this dict is for a def then return its name otherwise return an empty string.
The def name or an empty string.
for (let key of dict.keys) {
console.log(key)
}
All keys used in the dict.
console.log('Size: ' + dict.length)
The number of entries in the dict.
for (let value of dict.values) {
console.log(value.getKind())
}
All values for the dict.
Return true if the dict matches the specified filter or if the value exists in the dict at least once.
if (dict.any('site and geoCity == "London"')) {
...
}
The haystack value, haystack filter or AST node.
Optional
cx: Partial<EvalContext>Optional haystack filter evaluation context.
True if the property value exists in the dict.
An error for a invalid haystack filter.
Create a diff (difference) dict that can be used in an update.
This will return a new dict with any changed values and
removed tags having an HRemove
value.
The newly updated dict that will be checked for differences. These differences will be incorporated into the returned dict.
A diff dict.
Returns a haystack value from the dict or undefined if it can't be found.
// Gets the value as an HVal so cast to an HStr.
const str = dict.get('foo') as HStr
if (str) {
// Do something.
}
// Method is generic to make it easier on the eye for casting.
const str1 = dict.get<HStr>('foo')
The name of the value to find.
The value or undefined if it can't be found.
Compares the value's kind.
The kind to compare against.
True if the kind matches.
Returns true if this dict is newer than the specified dict.
The mod
timestamp is used to perform the check.
The other dict to compare to this dict.
True if this dict is newer.
Returns true if the haystack filter matches the value.
This method is the same as any
.
if (dict.matches('site and geoCity == "London"')) {
// Do something
}
The filter to test.
Optional
cx: Partial<EvalContext>Optional haystack filter evaluation context.
True if the filter matches ok.
Return a reflected array of children prototypes.
If a namespace isn't specified then the default environment namespace will be used.
Optional
namespace: HNamespaceAn optional namespace to perform the protos call from.
An array of dicts.
Analyze this dict and return its implemented defs.
If a namespace isn't specified then the default environment namespace will be used.
Optional
namespace: HNamespaceAn optional namespace to perform the reflect from.
An array of dicts.
Get the display string for the dict or the given tag. If 'name' is undefined, then return display text for the entire dict. If 'name' is non-null then format the tag value. If 'name' is not defined by this dict then return 'def'.
// Returns the record's dis tag string value...
myDict.toDis()
// Returns the record's tag value string value for foo...
myDict.toDis({ name: 'foo' })
// Returns a localized string based on `disKey`...
myDict.toDis({
i18n: (pod: string, key: string): string | undefined => pods.get(pod)?.key(key)
})
Optional
def?: stringOptional
i18n?: LocalizedCallbackOptional
name?: stringOptional
short?: booleanThe display string.
A JSON reprentation of the object.
A JSON v3 representation of the object.
Update a dict from another dict(s) or Hayson dict(s).
dict.update(otherDict, anotherDict)
// Update using a Hayson object
dict.update({ dis: 'A new display string', curVal: 20 })
Rest
...dicts: (HaysonDict | HDict)[]The dicts to update from.
The dict instance.
Generated using TypeDoc
A dict for a defx.
A
defx
is an extension to an existing def.https://project-haystack.dev/doc/lib-ph/def