Socket
Socket
Sign inDemoInstall

modl-parser

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

modl-parser - npm Package Compare versions

Comparing version 0.1.11 to 0.1.12

4

dist/Model.d.ts

@@ -16,4 +16,4 @@ export declare class Modl {

readonly key: string | ModlQuoted;
readonly value: ModlValue | ModlMap | ModlArray;
constructor(key: string | ModlQuoted, value: ModlValue | ModlMap | ModlArray);
readonly value: ModlPrimitive | ModlMap | ModlArray;
constructor(key: string | ModlQuoted, value: ModlPrimitive | ModlMap | ModlArray);
}

@@ -20,0 +20,0 @@ export declare type ModlMapItem = ModlPair;

@@ -118,64 +118,74 @@ "use strict";

};
var parseModlValue = function (s) {
var parseModlMap = function (s) {
var firstToken = s.next();
if (firstToken.type === MODLTokeniser_1.TokenType.LBRACKET) {
var arrayEntries = [];
while (!s.empty()) {
var peek = s.peek();
if (peek && peek.type === MODLTokeniser_1.TokenType.RBRACKET) {
var mapEntries = [];
while (!s.empty()) {
var peek = s.peek();
if (peek && peek.type === MODLTokeniser_1.TokenType.RPAREN) {
s.next();
break;
}
var mp = parseModlValue(s);
mapEntries.push(mp);
peek = s.peek();
if (peek) {
if (peek.type === MODLTokeniser_1.TokenType.RPAREN) {
s.next();
break;
}
var ms = parseModlValue(s);
arrayEntries.push(ms);
peek = s.peek();
if (peek) {
if (peek.type === MODLTokeniser_1.TokenType.RBRACKET) {
s.next();
break;
if (peek.type === MODLTokeniser_1.TokenType.STRUCT_SEP) {
s.next();
peek = s.peek();
if (peek && peek.type === MODLTokeniser_1.TokenType.RPAREN) {
throw new ParserException("Unexpected ; before ] at " + peek);
}
if (peek.type === MODLTokeniser_1.TokenType.STRUCT_SEP) {
s.next();
peek = s.peek();
if (peek && peek.type === MODLTokeniser_1.TokenType.RBRACKET) {
throw new ParserException("Unexpected ; before ] at " + peek);
}
}
}
else {
throw new ParserException("Expected ']' near " + firstToken.toS());
}
}
return new Model_1.ModlArray(arrayEntries);
else {
throw new ParserException("Expected ')' near " + firstToken.toS());
}
}
else if (firstToken.type === MODLTokeniser_1.TokenType.LPAREN) {
var mapEntries = [];
while (!s.empty()) {
var peek = s.peek();
if (peek && peek.type === MODLTokeniser_1.TokenType.RPAREN) {
return new Model_1.ModlMap(mapEntries);
};
var parseModlArray = function (s) {
var firstToken = s.next();
var arrayEntries = [];
while (!s.empty()) {
var peek = s.peek();
if (peek && peek.type === MODLTokeniser_1.TokenType.RBRACKET) {
s.next();
break;
}
var ms = parseModlValue(s);
arrayEntries.push(ms);
peek = s.peek();
if (peek) {
if (peek.type === MODLTokeniser_1.TokenType.RBRACKET) {
s.next();
break;
}
var mp = parseModlValue(s);
mapEntries.push(mp);
peek = s.peek();
if (peek) {
if (peek.type === MODLTokeniser_1.TokenType.RPAREN) {
s.next();
break;
if (peek.type === MODLTokeniser_1.TokenType.STRUCT_SEP) {
s.next();
peek = s.peek();
if (peek && peek.type === MODLTokeniser_1.TokenType.RBRACKET) {
throw new ParserException("Unexpected ; before ] at " + peek);
}
if (peek.type === MODLTokeniser_1.TokenType.STRUCT_SEP) {
s.next();
peek = s.peek();
if (peek && peek.type === MODLTokeniser_1.TokenType.RPAREN) {
throw new ParserException("Unexpected ; before ] at " + peek);
}
}
}
else {
throw new ParserException("Expected ')' near " + firstToken.toS());
}
}
return new Model_1.ModlMap(mapEntries);
else {
throw new ParserException("Expected ']' near " + firstToken.toS());
}
}
return new Model_1.ModlArray(arrayEntries);
};
var parseModlValue = function (s) {
var firstToken = s.next();
if (firstToken.type === MODLTokeniser_1.TokenType.LBRACKET) {
s.pushBack(firstToken);
return parseModlArray(s);
}
else if (firstToken.type === MODLTokeniser_1.TokenType.LPAREN) {
s.pushBack(firstToken);
return parseModlMap(s);
}
else if (firstToken.type === MODLTokeniser_1.TokenType.STRING || firstToken.type === MODLTokeniser_1.TokenType.QUOTED) {

@@ -186,6 +196,6 @@ var peek = s.peek();

s.next();
return new Model_1.ModlPair(key, parseModlValue(s));
return new Model_1.ModlPair(key, parsePairValue(s));
}
if (peek && (peek.type === MODLTokeniser_1.TokenType.LBRACKET || peek.type === MODLTokeniser_1.TokenType.LPAREN)) {
return new Model_1.ModlPair(key, parseModlValue(s));
return new Model_1.ModlPair(key, parsePairValue(s));
}

@@ -228,2 +238,56 @@ if (!peek ||

};
var parsePairValue = function (s) {
var firstToken = s.next();
if (firstToken.type === MODLTokeniser_1.TokenType.LBRACKET) {
s.pushBack(firstToken);
return parseModlArray(s);
}
else if (firstToken.type === MODLTokeniser_1.TokenType.LPAREN) {
s.pushBack(firstToken);
return parseModlMap(s);
}
else if (firstToken.type === MODLTokeniser_1.TokenType.STRING || firstToken.type === MODLTokeniser_1.TokenType.QUOTED) {
var peek = s.peek();
if (peek && peek.type === MODLTokeniser_1.TokenType.EQUALS) {
throw new ParserException("Unexpected token: '" + firstToken.toS() + "'");
}
if (peek && (peek.type === MODLTokeniser_1.TokenType.LBRACKET || peek.type === MODLTokeniser_1.TokenType.LPAREN)) {
throw new ParserException("Unexpected token: '" + firstToken.toS() + "'");
}
if (!peek ||
(peek &&
(peek.type === MODLTokeniser_1.TokenType.STRUCT_SEP || peek.type === MODLTokeniser_1.TokenType.RPAREN || peek.type === MODLTokeniser_1.TokenType.RBRACKET))) {
if (firstToken.type === MODLTokeniser_1.TokenType.STRING) {
return new Model_1.ModlString(firstToken.value);
}
else {
return new Model_1.ModlQuoted(firstToken.value);
}
}
throw new ParserException("Unexpected token: '" + firstToken.toS() + "'");
}
else if (firstToken.type === MODLTokeniser_1.TokenType.INTEGER) {
return new Model_1.ModlInteger(firstToken.value);
}
else if (firstToken.type === MODLTokeniser_1.TokenType.FLOAT) {
return new Model_1.ModlFloat(firstToken.value);
}
else if (firstToken.type === MODLTokeniser_1.TokenType.NULL) {
return Model_1.ModlBoolNull.ModlNull;
}
else if (firstToken.type === MODLTokeniser_1.TokenType.TRUE) {
return Model_1.ModlBoolNull.ModlTrue;
}
else if (firstToken.type === MODLTokeniser_1.TokenType.FALSE) {
return Model_1.ModlBoolNull.ModlFalse;
}
else {
s.pushBack(firstToken);
var maybePrimitive = parsePrimitive(s);
if (maybePrimitive) {
return maybePrimitive;
}
}
throw new ParserException("Unexpected token: '" + firstToken.toS() + "'");
};
//# sourceMappingURL=MODLParser.js.map
{
"name": "modl-parser",
"version": "0.1.11",
"version": "0.1.12",
"description": "A MODL parser in TypeScript",

@@ -52,2 +52,2 @@ "main": "dist/index.js",

]
}
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc