Skip to content

Commit

Permalink
Create camara-language-spelling.mjs
Browse files Browse the repository at this point in the history
  • Loading branch information
VijayKesharwani authored Nov 7, 2023
1 parent a3f2367 commit b330a27
Showing 1 changed file with 38 additions and 0 deletions.
38 changes: 38 additions & 0 deletions lint_function/camara-language-spelling.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import('dictionary-en').then((dictionaryModule) => {
import('nspell').then((nspellModule) => {
const dictionary = dictionaryModule.default; // Extract the default export
const nspell = nspellModule.default; // Extract the default export
var exceptions = ['eventId', 'eventType', 'eventTime', 'eventSubscriptionId', 'publicAddress', 'subnet', 'privateAddress', 'publicPort', 'sessionId', 'UUID', 'devicePorts', 'QoS', 'qosProfile', 'TCP', 'UDP', 'QOS_S', 'QOS_M', 'QOS_L', 'QOS_E', 'webhook', 'notificationUrl', 'notificationAuthToken', 'startedAt', 'expiresAt', 'qosprofiles', 'minDuration', 'maxDuration', 'packetDelayBudget', 'oneway', 'endtoend', 'jitter', 'roundtrip', 'ITU', 'eg', 'realtime', 'packetErrorLossRate', 'QCI', 'maxDownstreamRate', 'QOS_STATUS_CHANGED', 'qosStatus', 'statusInfo', 'DURATION_EXPIRED', 'Enduser', 'IoT', 'sensorsactuators', 'phoneNumber', 'networkAccessIdentifier', 'MNO', 'invoker', 'MNOs', 'MSISDN', 'GPSI', 'IdentifierDomain', 'DNS', 'ie', 'applicationServerPorts', 'maxDownstreamBurstRate', 'maxUpstreamRate', 'QoD', 'cmunication', 'QualityOnDemand', 'Telco', 'indepth', 'Telecom', 'VRGaming', 'backend', 'OverviewhttpsrawgithubusercontentcomcamaraprojectQualityOnDemandmaindocumentationAPI_documentationresourcesQoD_latency_overviewPNG', 'QOD', 'OAuth', 'andor', 'AppFlow', 'portranges', 'AppFlows', 'portportranges', 'Appflow', 'br', 'APIhttpsrawgithubusercontentcomcamaraprojectQualityOnDemandmaindocumentationAPI_documentationresourcesQoD_detailsPNG', 'CAMARA', 'DRAFThttpsgithubcomcamaraprojectQualityOnDemandblobmaindocumentationAPI_documentationQoSProfile_Mapping_Tablemd', 'IETF', 'addressmask', 'applicationServer', 'dottedquad', 'sessionssessionId', 'createSession', 'targetMinUpstreamRate', 'SessionId', 'SessionInfo', 'EventNotification', 'PhoneNumber', 'QosStatus', 'EventQosStatus', 'ErrorInfo', 'GBR', 'latencysensitive', 'DOCSIS', 'maxUpstreamBurstRate', 'targetMinDownstreamRate', 'qosprofilesname', 'RateUnitEnum', 'CreateSession', 'PortsSpec', 'QosProfile', 'QosProfileName', 'TimeUnitEnum', 'QosProfileStatusEnum', 'EventId', 'EventType', 'EventTime', 'QosStatusChangedEvent', 'eventDetail', 'NETWORK_TERMINATED', 'StatusInfo', 'ApplicationServer', 'NetworkAccessIdentifier'];
var separatorsRegex = /\s/;
var mistakes = [];

function includesNumber(value) {
return /\d/.test(value);
}

export default async function (input) {
dictionary((err, dict) => {
if (err) {
throw err;
}
var spell = nspell(dict);
var no_special_characters = input.replace(/[^\w\s]/gi, '');
const words = no_special_characters.split(separatorsRegex);
var errors = words
.filter((word) => !exceptions.includes(word))
.filter((word) => !spell.correct(word))
.filter((word) => !word == '')
.filter((word) => !includesNumber(word));

if (
errors.length > 0 &&
mistakes[mistakes.length - 1] != errors[errors.length - 1]
) {
mistakes.push(errors);
errors = [];
console.log('\nWarn: There was a spelling mistake: ' + mistakes);
}
});
};
});
});

0 comments on commit b330a27

Please sign in to comment.