react-native-slang
Version:
React native interface for Slang
65 lines (62 loc) • 1.36 kB
JavaScript
class SlangStatement {
affirmative;
negative;
hasNegative;
hasAffirmative;
overrideAffirmative;
constructor(affirmative, negative, overrideAffirmative) {
this.negative = negative;
this.affirmative = affirmative;
this.hasAffirmative = !!affirmative;
this.hasNegative = !!negative;
this.overrideAffirmative = overrideAffirmative;
}
}
class SlangEntity {
name;
entityType;
value;
isRequired;
isResolved;
isList;
listValues;
constructor(
name,
entityType,
value,
isRequired,
isResolved,
isList,
listValues,
) {
this.name = name;
this.entityType = entityType;
this.value = value;
this.isRequired = isRequired;
this.isResolved = isResolved;
this.isList = isList;
this.listValues = listValues;
}
}
class SlangIntent {
entities;
completionStatement;
name;
userUtterance;
status;
constructor(name, completionStatement, entities, userUtterance, status) {
this.name = name;
this.completionStatement = completionStatement;
this.entities = entities;
this.userUtterance = userUtterance;
this.status = status;
}
getEntity(entityName) {
return this.entities
? this.entities.find(entity => {
return entity.name === entityName;
})
: null;
}
}
export {SlangEntity, SlangIntent, SlangStatement};