extra-parser 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,10 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.consumeNode = void 0;
4
- const prelude_1 = require("@blackglory/prelude");
5
4
  function consumeNode(nodePattern, tokens) {
6
5
  const match = nodePattern(tokens);
7
- if ((0, prelude_1.isntFalsy)(match)) {
6
+ if (match) {
8
7
  tokens.splice(0, match.consumed);
9
8
  return match;
10
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"consume-node.js","sourceRoot":"","sources":["../src/consume-node.ts"],"names":[],"mappings":";;;AAAA,iDAAsD;AAQtD,SAAgB,WAAW,CAIzB,WAAsC,EACtC,MAAe;IAEf,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IAEjC,IAAI,IAAA,mBAAS,EAAC,KAAK,CAAC,EAAE;QACpB,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;QAChC,OAAO,KAAK,CAAA;KACb;AACH,CAAC;AAbD,kCAaC"}
1
+ {"version":3,"file":"consume-node.js","sourceRoot":"","sources":["../src/consume-node.ts"],"names":[],"mappings":";;;AAQA,SAAgB,WAAW,CAIzB,WAAsC,EACtC,MAAe;IAEf,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IAEjC,IAAI,KAAK,EAAE;QACT,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;QAChC,OAAO,KAAK,CAAA;KACb;AACH,CAAC;AAbD,kCAaC"}
@@ -8,17 +8,17 @@ function createTokenPatternFromRegExp(tokenType, regExp) {
8
8
  const result = startsWithRegExp.exec(text);
9
9
  if ((0, prelude_1.isntNull)(result)) {
10
10
  const [matchedText] = result;
11
- return {
12
- consumed: matchedText.length,
13
- token: {
14
- tokenType: tokenType,
15
- value: matchedText
16
- }
17
- };
18
- }
19
- else {
20
- return false;
11
+ if (matchedText) {
12
+ return {
13
+ consumed: matchedText.length,
14
+ token: {
15
+ tokenType: tokenType,
16
+ value: matchedText
17
+ }
18
+ };
19
+ }
21
20
  }
21
+ return false;
22
22
  };
23
23
  }
24
24
  exports.createTokenPatternFromRegExp = createTokenPatternFromRegExp;
@@ -1 +1 @@
1
- {"version":3,"file":"create-token-pattern-from-regexp.js","sourceRoot":"","sources":["../src/create-token-pattern-from-regexp.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AAGrD,SAAgB,4BAA4B,CAC1C,SAA6B,EAC7B,MAAc;IAEd,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAE1D,OAAO,CAAC,IAAY,EAAsC,EAAE;QAC1D,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1C,IAAI,IAAA,kBAAQ,EAAC,MAAM,CAAC,EAAE;YACpB,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAA;YAC5B,OAAO;gBACL,QAAQ,EAAE,WAAW,CAAC,MAAM;gBAC5B,KAAK,EAAE;oBACL,SAAS,EAAE,SAAS;oBACpB,KAAK,EAAE,WAAW;iBACnB;aACF,CAAA;SACF;aAAM;YACL,OAAO,KAAK,CAAA;SACb;IACH,CAAC,CAAA;AACH,CAAC;AArBD,oEAqBC;AAED,SAAS,yBAAyB,CAAC,EAAU;IAC3C,OAAO,IAAI,MAAM,CACf,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,EACvD,EAAE,CAAC,KAAK,CACT,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"create-token-pattern-from-regexp.js","sourceRoot":"","sources":["../src/create-token-pattern-from-regexp.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AAGrD,SAAgB,4BAA4B,CAC1C,SAA6B,EAC7B,MAAc;IAEd,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAE1D,OAAO,CAAC,IAAY,EAAsC,EAAE;QAC1D,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1C,IAAI,IAAA,kBAAQ,EAAC,MAAM,CAAC,EAAE;YACpB,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAA;YAE5B,IAAI,WAAW,EAAE;gBACf,OAAO;oBACL,QAAQ,EAAE,WAAW,CAAC,MAAM;oBAC5B,KAAK,EAAE;wBACL,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,WAAW;qBACnB;iBACF,CAAA;aACF;SACF;QAED,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;AACH,CAAC;AAxBD,oEAwBC;AAED,SAAS,yBAAyB,CAAC,EAAU;IAC3C,OAAO,IAAI,MAAM,CACf,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,EACvD,EAAE,CAAC,KAAK,CACT,CAAA;AACH,CAAC"}
package/lib/parse.js CHANGED
@@ -1,14 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parse = void 0;
4
- const prelude_1 = require("@blackglory/prelude");
5
4
  function* parse(patterns, tokens) {
6
5
  let i = 0;
7
6
  loop: while (i < tokens.length) {
8
7
  const remainingTokens = tokens.slice(i);
9
8
  for (const pattern of patterns) {
10
9
  const result = pattern(remainingTokens);
11
- if ((0, prelude_1.isntFalsy)(result)) {
10
+ if (result) {
12
11
  yield result.node;
13
12
  i += result.consumed;
14
13
  continue loop;
package/lib/parse.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAG/C,QAAe,CAAC,CAAC,KAAK,CAIpB,QAA0C,EAC1C,MAAe;IAEf,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE;QAC9B,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAEvC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;YACvC,IAAI,IAAA,mBAAS,EAAC,MAAM,CAAC,EAAE;gBACrB,MAAM,MAAM,CAAC,IAAI,CAAA;gBACjB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAA;gBACpB,SAAS,IAAI,CAAA;aACd;SACF;QAED,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;KAC1E;AACH,CAAC;AAtBD,sBAsBC"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":";;;AAEA,QAAe,CAAC,CAAC,KAAK,CAIpB,QAA0C,EAC1C,MAAe;IAEf,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE;QAC9B,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAEvC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;YACvC,IAAI,MAAM,EAAE;gBACV,MAAM,MAAM,CAAC,IAAI,CAAA;gBACjB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAA;gBACpB,SAAS,IAAI,CAAA;aACd;SACF;QAED,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;KAC1E;AACH,CAAC;AAtBD,sBAsBC"}
package/lib/tokenize.js CHANGED
@@ -1,14 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.tokenize = void 0;
4
- const prelude_1 = require("@blackglory/prelude");
5
4
  function* tokenize(patterns, text) {
6
5
  let i = 0;
7
6
  loop: while (i < text.length) {
8
7
  const remainingText = text.slice(i);
9
8
  for (const pattern of patterns) {
10
9
  const result = pattern(remainingText);
11
- if ((0, prelude_1.isntFalsy)(result)) {
10
+ if (result) {
12
11
  yield result.token;
13
12
  i += result.consumed;
14
13
  continue loop;
@@ -1 +1 @@
1
- {"version":3,"file":"tokenize.js","sourceRoot":"","sources":["../src/tokenize.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAG/C,QAAe,CAAC,CAAC,QAAQ,CACvB,QAAqC,EACrC,IAAY;IAEZ,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;QAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAEnC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;YACrC,IAAI,IAAA,mBAAS,EAAC,MAAM,CAAC,EAAE;gBACrB,MAAM,MAAM,CAAC,KAAK,CAAA;gBAClB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAA;gBACpB,SAAS,IAAI,CAAA;aACd;SACF;QAED,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;KAClE;AACH,CAAC;AAnBD,4BAmBC"}
1
+ {"version":3,"file":"tokenize.js","sourceRoot":"","sources":["../src/tokenize.ts"],"names":[],"mappings":";;;AAEA,QAAe,CAAC,CAAC,QAAQ,CACvB,QAAqC,EACrC,IAAY;IAEZ,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;QAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAEnC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;YACrC,IAAI,MAAM,EAAE;gBACV,MAAM,MAAM,CAAC,KAAK,CAAA;gBAClB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAA;gBACpB,SAAS,IAAI,CAAA;aACd;SACF;QAED,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;KAClE;AACH,CAAC;AAnBD,4BAmBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "extra-parser",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "description": "A functional parser toolkit",
5
5
  "keywords": [],
6
6
  "files": [
@@ -1,4 +1,4 @@
1
- import { Falsy, isntFalsy } from '@blackglory/prelude'
1
+ import { Falsy } from '@blackglory/prelude'
2
2
  import { IToken, INode, INodePattern, INodePatternMatch } from './types'
3
3
 
4
4
  /**
@@ -15,7 +15,7 @@ export function consumeNode<
15
15
  ): INodePatternMatch<Node> | Falsy {
16
16
  const match = nodePattern(tokens)
17
17
 
18
- if (isntFalsy(match)) {
18
+ if (match) {
19
19
  tokens.splice(0, match.consumed)
20
20
  return match
21
21
  }
@@ -11,16 +11,19 @@ export function createTokenPatternFromRegExp<Token extends IToken>(
11
11
  const result = startsWithRegExp.exec(text)
12
12
  if (isntNull(result)) {
13
13
  const [matchedText] = result
14
- return {
15
- consumed: matchedText.length
16
- , token: {
17
- tokenType: tokenType
18
- , value: matchedText
14
+
15
+ if (matchedText) {
16
+ return {
17
+ consumed: matchedText.length
18
+ , token: {
19
+ tokenType: tokenType
20
+ , value: matchedText
21
+ }
19
22
  }
20
23
  }
21
- } else {
22
- return false
23
24
  }
25
+
26
+ return false
24
27
  }
25
28
  }
26
29
 
package/src/parse.ts CHANGED
@@ -1,4 +1,3 @@
1
- import { isntFalsy } from '@blackglory/prelude'
2
1
  import { IToken, INodePattern, INode } from './types'
3
2
 
4
3
  export function* parse<
@@ -14,7 +13,7 @@ export function* parse<
14
13
 
15
14
  for (const pattern of patterns) {
16
15
  const result = pattern(remainingTokens)
17
- if (isntFalsy(result)) {
16
+ if (result) {
18
17
  yield result.node
19
18
  i += result.consumed
20
19
  continue loop
package/src/tokenize.ts CHANGED
@@ -1,4 +1,3 @@
1
- import { isntFalsy } from '@blackglory/prelude'
2
1
  import { ITokenPattern, IToken } from './types'
3
2
 
4
3
  export function* tokenize<Token extends IToken = IToken>(
@@ -11,7 +10,7 @@ export function* tokenize<Token extends IToken = IToken>(
11
10
 
12
11
  for (const pattern of patterns) {
13
12
  const result = pattern(remainingText)
14
- if (isntFalsy(result)) {
13
+ if (result) {
15
14
  yield result.token
16
15
  i += result.consumed
17
16
  continue loop