feelin 4.3.1 → 7.0.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.
Files changed (112) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +5 -1
  3. data/CHANGELOG.md +13 -0
  4. data/README.md +29 -0
  5. data/feelin.gemspec +5 -1
  6. data/lib/feelin/js/dist/feelin.js +13630 -0
  7. data/lib/feelin/js/entry.js +1 -0
  8. data/lib/feelin/js/package-lock.json +526 -31
  9. data/lib/feelin/js/package.json +8 -1
  10. data/lib/feelin/version.rb +1 -1
  11. data/lib/feelin.rb +36 -35
  12. data/spec/feelin/feelin_spec.rb +14 -0
  13. metadata +10 -104
  14. data/lib/feelin/js/node_modules/.package-lock.json +0 -67
  15. data/lib/feelin/js/node_modules/@lezer/common/LICENSE +0 -21
  16. data/lib/feelin/js/node_modules/@lezer/common/README.md +0 -14
  17. data/lib/feelin/js/node_modules/@lezer/common/dist/index.cjs +0 -2181
  18. data/lib/feelin/js/node_modules/@lezer/common/dist/index.d.cts +0 -1137
  19. data/lib/feelin/js/node_modules/@lezer/common/dist/index.d.ts +0 -1137
  20. data/lib/feelin/js/node_modules/@lezer/common/dist/index.js +0 -2168
  21. data/lib/feelin/js/node_modules/@lezer/common/package.json +0 -32
  22. data/lib/feelin/js/node_modules/@lezer/highlight/LICENSE +0 -21
  23. data/lib/feelin/js/node_modules/@lezer/highlight/README.md +0 -14
  24. data/lib/feelin/js/node_modules/@lezer/highlight/dist/index.cjs +0 -915
  25. data/lib/feelin/js/node_modules/@lezer/highlight/dist/index.d.cts +0 -621
  26. data/lib/feelin/js/node_modules/@lezer/highlight/dist/index.d.ts +0 -623
  27. data/lib/feelin/js/node_modules/@lezer/highlight/dist/index.js +0 -904
  28. data/lib/feelin/js/node_modules/@lezer/highlight/package.json +0 -31
  29. data/lib/feelin/js/node_modules/@lezer/lr/LICENSE +0 -21
  30. data/lib/feelin/js/node_modules/@lezer/lr/README.md +0 -25
  31. data/lib/feelin/js/node_modules/@lezer/lr/dist/constants.d.ts +0 -45
  32. data/lib/feelin/js/node_modules/@lezer/lr/dist/constants.js +0 -5
  33. data/lib/feelin/js/node_modules/@lezer/lr/dist/index.cjs +0 -1890
  34. data/lib/feelin/js/node_modules/@lezer/lr/dist/index.d.cts +0 -303
  35. data/lib/feelin/js/node_modules/@lezer/lr/dist/index.d.ts +0 -303
  36. data/lib/feelin/js/node_modules/@lezer/lr/dist/index.js +0 -1883
  37. data/lib/feelin/js/node_modules/@lezer/lr/package.json +0 -32
  38. data/lib/feelin/js/node_modules/feelin/LICENSE +0 -21
  39. data/lib/feelin/js/node_modules/feelin/README.md +0 -65
  40. data/lib/feelin/js/node_modules/feelin/dist/builtins.d.ts +0 -355
  41. data/lib/feelin/js/node_modules/feelin/dist/index.cjs +0 -2072
  42. data/lib/feelin/js/node_modules/feelin/dist/index.cjs.map +0 -1
  43. data/lib/feelin/js/node_modules/feelin/dist/index.d.ts +0 -3
  44. data/lib/feelin/js/node_modules/feelin/dist/index.esm.js +0 -2063
  45. data/lib/feelin/js/node_modules/feelin/dist/index.esm.js.map +0 -1
  46. data/lib/feelin/js/node_modules/feelin/dist/interpreter.d.ts +0 -26
  47. data/lib/feelin/js/node_modules/feelin/dist/parser.d.ts +0 -4
  48. data/lib/feelin/js/node_modules/feelin/dist/temporal.d.ts +0 -6
  49. data/lib/feelin/js/node_modules/feelin/dist/types.d.ts +0 -35
  50. data/lib/feelin/js/node_modules/feelin/dist/utils.d.ts +0 -12
  51. data/lib/feelin/js/node_modules/feelin/package.json +0 -63
  52. data/lib/feelin/js/node_modules/lezer-feel/LICENSE +0 -21
  53. data/lib/feelin/js/node_modules/lezer-feel/README.md +0 -94
  54. data/lib/feelin/js/node_modules/lezer-feel/dist/index.cjs +0 -1328
  55. data/lib/feelin/js/node_modules/lezer-feel/dist/index.cjs.map +0 -1
  56. data/lib/feelin/js/node_modules/lezer-feel/dist/index.d.ts +0 -32
  57. data/lib/feelin/js/node_modules/lezer-feel/dist/index.js +0 -1323
  58. data/lib/feelin/js/node_modules/lezer-feel/dist/index.js.map +0 -1
  59. data/lib/feelin/js/node_modules/lezer-feel/package.json +0 -61
  60. data/lib/feelin/js/node_modules/luxon/LICENSE.md +0 -7
  61. data/lib/feelin/js/node_modules/luxon/README.md +0 -55
  62. data/lib/feelin/js/node_modules/luxon/build/amd/luxon.js +0 -8623
  63. data/lib/feelin/js/node_modules/luxon/build/amd/luxon.js.map +0 -1
  64. data/lib/feelin/js/node_modules/luxon/build/cjs-browser/luxon.js +0 -8621
  65. data/lib/feelin/js/node_modules/luxon/build/cjs-browser/luxon.js.map +0 -1
  66. data/lib/feelin/js/node_modules/luxon/build/es6/luxon.js +0 -8011
  67. data/lib/feelin/js/node_modules/luxon/build/es6/luxon.js.map +0 -1
  68. data/lib/feelin/js/node_modules/luxon/build/global/luxon.js +0 -8626
  69. data/lib/feelin/js/node_modules/luxon/build/global/luxon.js.map +0 -1
  70. data/lib/feelin/js/node_modules/luxon/build/global/luxon.min.js +0 -1
  71. data/lib/feelin/js/node_modules/luxon/build/global/luxon.min.js.map +0 -1
  72. data/lib/feelin/js/node_modules/luxon/build/node/luxon.js +0 -7679
  73. data/lib/feelin/js/node_modules/luxon/build/node/luxon.js.map +0 -1
  74. data/lib/feelin/js/node_modules/luxon/package.json +0 -87
  75. data/lib/feelin/js/node_modules/luxon/src/datetime.js +0 -2566
  76. data/lib/feelin/js/node_modules/luxon/src/duration.js +0 -990
  77. data/lib/feelin/js/node_modules/luxon/src/errors.js +0 -61
  78. data/lib/feelin/js/node_modules/luxon/src/impl/conversions.js +0 -206
  79. data/lib/feelin/js/node_modules/luxon/src/impl/diff.js +0 -95
  80. data/lib/feelin/js/node_modules/luxon/src/impl/digits.js +0 -90
  81. data/lib/feelin/js/node_modules/luxon/src/impl/english.js +0 -233
  82. data/lib/feelin/js/node_modules/luxon/src/impl/formats.js +0 -176
  83. data/lib/feelin/js/node_modules/luxon/src/impl/formatter.js +0 -409
  84. data/lib/feelin/js/node_modules/luxon/src/impl/invalid.js +0 -14
  85. data/lib/feelin/js/node_modules/luxon/src/impl/locale.js +0 -554
  86. data/lib/feelin/js/node_modules/luxon/src/impl/regexParser.js +0 -335
  87. data/lib/feelin/js/node_modules/luxon/src/impl/tokenParser.js +0 -505
  88. data/lib/feelin/js/node_modules/luxon/src/impl/util.js +0 -316
  89. data/lib/feelin/js/node_modules/luxon/src/impl/zoneUtil.js +0 -34
  90. data/lib/feelin/js/node_modules/luxon/src/info.js +0 -205
  91. data/lib/feelin/js/node_modules/luxon/src/interval.js +0 -665
  92. data/lib/feelin/js/node_modules/luxon/src/luxon.js +0 -26
  93. data/lib/feelin/js/node_modules/luxon/src/package.json +0 -4
  94. data/lib/feelin/js/node_modules/luxon/src/settings.js +0 -180
  95. data/lib/feelin/js/node_modules/luxon/src/zone.js +0 -97
  96. data/lib/feelin/js/node_modules/luxon/src/zones/IANAZone.js +0 -231
  97. data/lib/feelin/js/node_modules/luxon/src/zones/fixedOffsetZone.js +0 -150
  98. data/lib/feelin/js/node_modules/luxon/src/zones/invalidZone.js +0 -53
  99. data/lib/feelin/js/node_modules/luxon/src/zones/systemZone.js +0 -61
  100. data/lib/feelin/js/node_modules/min-dash/LICENSE +0 -21
  101. data/lib/feelin/js/node_modules/min-dash/README.md +0 -38
  102. data/lib/feelin/js/node_modules/min-dash/dist/array.d.ts +0 -12
  103. data/lib/feelin/js/node_modules/min-dash/dist/collection.d.ts +0 -174
  104. data/lib/feelin/js/node_modules/min-dash/dist/fn.d.ts +0 -37
  105. data/lib/feelin/js/node_modules/min-dash/dist/index.cjs +0 -910
  106. data/lib/feelin/js/node_modules/min-dash/dist/index.d.ts +0 -5
  107. data/lib/feelin/js/node_modules/min-dash/dist/index.esm.js +0 -872
  108. data/lib/feelin/js/node_modules/min-dash/dist/lang.d.ts +0 -29
  109. data/lib/feelin/js/node_modules/min-dash/dist/min-dash.js +0 -916
  110. data/lib/feelin/js/node_modules/min-dash/dist/min-dash.min.js +0 -1
  111. data/lib/feelin/js/node_modules/min-dash/dist/object.d.ts +0 -112
  112. data/lib/feelin/js/node_modules/min-dash/package.json +0 -72
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../src/parser.terms.js","../src/tokens.js","../src/highlight.js","../src/parser.js"],"sourcesContent":["// This file was generated by lezer-generator. You probably shouldn't edit it.\nexport const\n propertyIdentifier = 121,\n identifier = 122,\n nameIdentifier = 123,\n insertSemi = 124,\n LineComment = 1,\n BlockComment = 2,\n Expression = 3,\n expression0 = 128,\n ForExpression = 4,\n forExpressionStart = 131,\n _for = 5,\n ForInExpressions = 6,\n ForInExpression = 7,\n Name = 8,\n Identifier = 9,\n AdditionalIdentifier = 10,\n minus = 11,\n plus = 12,\n divide = 13,\n multi = 14,\n exp = 15,\n inExpressionSep = 136,\n _in = 16,\n IterationContext = 17,\n forExpressionBodyStart = 139,\n _return = 18,\n IfExpression = 19,\n ifExpressionStart = 140,\n _if = 20,\n then = 21,\n _else = 22,\n QuantifiedExpression = 23,\n quantifiedExpressionStart = 141,\n some = 24,\n every = 25,\n QuantifiedInExpressions = 26,\n QuantifiedInExpression = 27,\n satisfies = 28,\n Disjunction = 29,\n or = 30,\n Conjunction = 31,\n and = 32,\n Comparison = 33,\n between = 36,\n PositiveUnaryTest = 37,\n PositiveUnaryTests = 39,\n ArithmeticExpression = 41,\n arithmeticPlusStart = 145,\n arithmeticTimesStart = 146,\n arithmeticExpStart = 147,\n arithmeticUnaryStart = 148,\n InstanceOfExpression = 42,\n instance = 43,\n of = 44,\n Type = 45,\n QualifiedName = 46,\n VariableName = 47,\n BacktickIdentifier = 48,\n SpecialType = 49,\n days = 50,\n time = 51,\n duration = 52,\n years = 53,\n months = 54,\n date = 55,\n list = 58,\n context = 61,\n ContextEntryTypes = 62,\n ContextEntryType = 63,\n _function = 65,\n ArgumentTypes = 66,\n ArgumentType = 67,\n PathExpression = 68,\n pathExpressionStart = 154,\n FilterExpression = 70,\n filterExpressionStart = 155,\n FunctionInvocation = 72,\n functionInvocationStart = 156,\n SpecialFunctionName = 73,\n functionInvocationParameters = 157,\n NamedParameters = 74,\n NamedParameter = 75,\n ParameterName = 76,\n PositionalParameters = 77,\n literal = 160,\n nil = 161,\n _null = 78,\n NumericLiteral = 79,\n StringLiteral = 80,\n BooleanLiteral = 81,\n DateTimeLiteral = 82,\n DateTimeConstructor = 83,\n AtLiteral = 84,\n SimplePositiveUnaryTest = 86,\n Interval = 87,\n listStart = 167,\n ParenthesizedExpression = 88,\n List = 89,\n FunctionDefinition = 90,\n functionDefinitionStart = 169,\n FormalParameters = 91,\n FormalParameter = 92,\n external = 93,\n Context = 97,\n contextStart = 171,\n ContextEntry = 98,\n Key = 99,\n PropertyName = 100,\n PropertyIdentifier = 101,\n Expressions = 102,\n UnaryTests = 103,\n not = 105,\n Dialect_camunda = 0\n","/* global console,process */\n\nimport { has, reduce } from 'min-dash';\n\nimport {\n insertSemi,\n Identifier,\n functionDefinitionStart,\n FunctionDefinition,\n contextStart,\n Context,\n forExpressionStart,\n forExpressionBodyStart,\n ForExpression,\n quantifiedExpressionStart,\n QuantifiedExpression,\n ContextEntry,\n Name,\n ForInExpression,\n identifier,\n VariableName,\n expression0,\n QuantifiedInExpression,\n PositiveUnaryTest,\n nameIdentifier,\n propertyIdentifier,\n PropertyIdentifier,\n PropertyName,\n StringLiteral,\n BooleanLiteral,\n NumericLiteral,\n List,\n listStart,\n pathExpressionStart,\n PathExpression,\n ParameterName,\n IfExpression,\n ifExpressionStart,\n filterExpressionStart,\n FilterExpression,\n ArithmeticExpression,\n arithmeticPlusStart,\n arithmeticTimesStart,\n arithmeticExpStart,\n arithmeticUnaryStart,\n nil,\n AdditionalIdentifier,\n FunctionInvocation,\n functionInvocationStart\n} from './parser.terms.js';\n\nimport {\n ContextTracker,\n ExternalTokenizer\n} from '@lezer/lr';\n\n// @ts-expect-error env access\nconst LOG_PARSE = typeof process != 'undefined' && process.env && /\\bfparse(:dbg)?\\b/.test(process.env.LOG);\n\n// @ts-expect-error env access\nconst LOG_PARSE_DEBUG = typeof process != 'undefined' && process.env && /\\bfparse:dbg\\b/.test(process.env.LOG);\n\n// @ts-expect-error env access\nconst LOG_VARS = typeof process != 'undefined' && process.env && /\\bcontext\\b/.test(process.env.LOG);\n\nconst spaceChars = [\n 9, 11, 12, 32, 133, 160,\n 5760, 8192, 8193, 8194, 8195, 8196, 8197, 8198,\n 8199, 8200, 8201, 8202, 8232, 8233, 8239, 8287, 12288\n];\n\nconst newlineChars = chars('\\n\\r');\n\nconst asterix = '*'.charCodeAt(0);\n\nconst additionalNameChars = chars(\"'./-+*^\");\n\n/**\n * @typedef { VariableContext | any } ContextValue\n */\n\n/**\n * @param { string } str\n * @return { number[] }\n */\nfunction chars(str) {\n return Array.from(str).map(s => s.charCodeAt(0));\n}\n\n/**\n * @param { number } ch\n * @return { boolean }\n */\nfunction isStartChar(ch) {\n return (\n ch === 63 // ?\n ) || (\n ch >= 65 && ch <= 90 // A-Z\n ) || (\n ch === 95 // _\n ) || (\n ch >= 97 && ch <= 122 // a-z\n ) || (\n ch >= 0xC0 && ch <= 0xD6\n ) || (\n ch >= 0xD8 && ch <= 0xF6\n ) || (\n ch >= 0xF8 && ch <= 0x2FF\n ) || (\n ch >= 0x370 && ch <= 0x37D\n ) || (\n ch >= 0x37F && ch <= 0x1FFF\n ) || (\n ch >= 0x200C && ch <= 0x200D\n ) || (\n ch >= 0x2070 && ch <= 0x218F\n ) || (\n ch >= 0x2C00 && ch <= 0x2FEF\n ) || (\n ch >= 0x3001 && ch <= 0xD7FF\n ) || (\n ch >= 0xF900 && ch <= 0xFDCF\n ) || (\n ch >= 0xFDF0 && ch <= 0xFFFD\n ) || (\n ch >= 0xD800 && ch <= 0xDBFF // upper surrogate\n ) || (\n ch >= 0xDC00 && ch <= 0xDFFF // lower surrogate\n );\n}\n\n/**\n * @param { number } ch\n * @return { boolean }\n */\nfunction isAdditional(ch) {\n return additionalNameChars.includes(ch);\n}\n\n/**\n * @param { number } ch\n * @return { boolean }\n */\nfunction isPartChar(ch) {\n return (\n ch >= 48 && ch <= 57 // 0-9\n ) || (\n ch === 0xB7\n ) || (\n ch >= 0x0300 && ch <= 0x036F\n ) || (\n ch >= 0x203F && ch <= 0x2040\n );\n}\n\n/**\n * @param { number } ch\n * @return { boolean }\n */\nfunction isSpace(ch) {\n return spaceChars.includes(ch);\n}\n\nfunction indent(str, spaces) {\n return spaces.concat(\n str.split(/\\n/g).join('\\n' + spaces)\n );\n}\n\n/**\n * @param { import('@lezer/lr').InputStream } input\n * @param { number } [offset]\n *\n * @return { { token: string, offset: number } | null }\n */\nfunction parseAdditionalSymbol(input, offset = 0) {\n\n const next = input.peek(offset);\n\n if (next === asterix && input.peek(offset + 1) === asterix) {\n\n return {\n offset: 2,\n token: '**'\n };\n }\n\n if (isAdditional(next)) {\n return {\n offset: 1,\n token: String.fromCharCode(next)\n };\n }\n\n return null;\n}\n\n/**\n * @param { import('@lezer/lr').InputStream } input\n * @param { number } [offset]\n * @param { boolean } [namePart]\n *\n * @return { { token: string, offset: number } | null }\n */\nfunction parseIdentifier(input, offset = 0, namePart = false) {\n for (let inside = false, chars = [], i = 0;; i++) {\n const next = input.peek(offset + i);\n\n if (isStartChar(next) || ((inside || namePart) && isPartChar(next))) {\n if (!inside) {\n inside = true;\n }\n\n chars.push(next);\n } else {\n\n if (chars.length) {\n return {\n token: String.fromCharCode(...chars),\n offset: i\n };\n }\n\n return null;\n }\n }\n}\n\n/**\n * @param { import('@lezer/lr').InputStream } input\n * @param { number } offset\n *\n * @return { { token: string, offset: number } | null }\n */\nfunction parseSpaces(input, offset) {\n\n for (let inside = false, i = 0;; i++) {\n let next = input.peek(offset + i);\n\n if (isSpace(next)) {\n if (!inside) {\n inside = true;\n }\n } else {\n if (inside) {\n return {\n token: ' ',\n offset: i\n };\n }\n\n return null;\n }\n }\n}\n\n/**\n * Parse a name from the input and return the first match, if any.\n *\n * @param { import('@lezer/lr').InputStream } input\n * @param { Variables } variables\n *\n * @return { { token: string, offset: number, term: number } | null }\n */\nfunction parseName(input, variables) {\n const contextKeys = variables.contextKeys();\n\n const start = variables.tokens;\n\n for (let i = 0, tokens = [], nextMatch = null;;) {\n\n const namePart = (start.length + tokens.length) > 0;\n const maybeSpace = tokens.length > 0;\n\n const match = (\n parseIdentifier(input, i, namePart) ||\n namePart && parseAdditionalSymbol(input, i) ||\n maybeSpace && parseSpaces(input, i)\n );\n\n // match is required\n if (!match) {\n return nextMatch;\n }\n\n const {\n token,\n offset\n } = match;\n\n i += offset;\n\n if (token === ' ') {\n continue;\n }\n\n tokens = [ ...tokens, token ];\n\n const name = [ ...start, ...tokens ].join(' ');\n\n if (contextKeys.some(el => el === name)) {\n const token = tokens[0];\n\n nextMatch = {\n token,\n offset: token.length,\n term: nameIdentifier\n };\n }\n\n if (contextKeys.some(el => el.startsWith(name))) {\n continue;\n }\n\n if (dateTimeIdentifiers.some(el => el === name)) {\n const token = tokens[0];\n\n // parse date time identifiers as normal\n // identifiers to allow specialization to kick in\n //\n // cf. https://github.com/nikku/lezer-feel/issues/8\n nextMatch = {\n token,\n offset: token.length,\n term: identifier\n };\n }\n\n if (dateTimeIdentifiers.some(el => el.startsWith(name))) {\n continue;\n }\n\n return nextMatch;\n }\n\n}\n\nconst identifiersMap = {\n [ identifier ]: 'identifier',\n [ nameIdentifier ]: 'nameIdentifier'\n};\n\nexport const identifiers = new ExternalTokenizer((input, stack) => {\n\n LOG_PARSE_DEBUG && console.log('%s: T <identifier | nameIdentifier>', input.pos);\n\n const nameMatch = parseName(input, stack.context);\n\n const start = stack.context.tokens;\n\n const match = nameMatch || parseIdentifier(input, 0, start.length > 0);\n\n if (match) {\n input.advance(match.offset);\n input.acceptToken(nameMatch ? nameMatch.term : identifier);\n\n LOG_PARSE && console.log('%s: MATCH <%s> <%s>', input.pos, nameMatch ? identifiersMap[nameMatch.term] : 'identifier', match.token);\n }\n}, { contextual: true });\n\n\nexport const propertyIdentifiers = new ExternalTokenizer((input, stack) => {\n\n LOG_PARSE_DEBUG && console.log('%s: T <propertyIdentifier>', input.pos);\n\n const start = stack.context.tokens;\n\n const match = parseIdentifier(input, 0, start.length > 0);\n\n if (match) {\n input.advance(match.offset);\n input.acceptToken(propertyIdentifier);\n\n LOG_PARSE && console.log('%s: MATCH <propertyIdentifier> <%s>', input.pos, match.token);\n }\n});\n\n\nexport const insertSemicolon = new ExternalTokenizer((input, stack) => {\n\n LOG_PARSE_DEBUG && console.log('%s: T <insertSemi>', input.pos);\n\n let offset;\n let insert = false;\n\n for (offset = 0;; offset++) {\n const char = input.peek(offset);\n\n if (spaceChars.includes(char)) {\n continue;\n }\n\n if (newlineChars.includes(char)) {\n insert = true;\n }\n\n break;\n }\n\n if (insert) {\n\n const identifier = parseIdentifier(input, offset + 1);\n const spaces = parseSpaces(input, offset + 1);\n\n if (spaces || identifier && /^(then|else|return|satisfies)$/.test(identifier.token)) {\n return;\n }\n\n LOG_PARSE && console.log('%s: MATCH <insertSemi>', input.pos);\n input.acceptToken(insertSemi);\n }\n});\n\nconst prefixedContextStarts = {\n [ functionInvocationStart ]: 'FunctionInvocation',\n [ filterExpressionStart ]: 'FilterExpression',\n [ pathExpressionStart ]: 'PathExpression'\n};\n\nconst contextStarts = {\n [ contextStart ]: 'Context',\n [ functionDefinitionStart ]: 'FunctionDefinition',\n [ forExpressionStart ]: 'ForExpression',\n [ listStart ]: 'List',\n [ ifExpressionStart ]: 'IfExpression',\n [ quantifiedExpressionStart ]: 'QuantifiedExpression'\n};\n\nconst contextEnds = {\n [ Context ]: 'Context',\n [ FunctionDefinition ]: 'FunctionDefinition',\n [ ForExpression ]: 'ForExpression',\n [ List ]: 'List',\n [ IfExpression ]: 'IfExpression',\n [ QuantifiedExpression ]: 'QuantifiedExpression',\n [ PathExpression ]: 'PathExpression',\n [ FunctionInvocation ]: 'FunctionInvocation',\n [ FilterExpression ]: 'FilterExpression',\n [ ArithmeticExpression ]: 'ArithmeticExpression'\n};\n\n/**\n * A simple producer that retrievs a value from\n * a given context. Used to lazily take things.\n */\nclass ValueProducer {\n\n /**\n * @param { Function } fn\n */\n constructor(fn) {\n this.fn = fn;\n }\n\n get(variables) {\n return this.fn(variables);\n }\n\n /**\n * @param { Function } fn\n *\n * @return { ValueProducer }\n */\n static of(fn) {\n return new ValueProducer(fn);\n }\n\n}\n\nconst dateTimeLiterals = {\n 'date and time': 1,\n 'date': 1,\n 'time': 1,\n 'duration': 1\n};\n\nconst dateTimeIdentifiers = Object.keys(dateTimeLiterals);\n\n\n/**\n * A basic key-value store to hold context values.\n */\nexport class VariableContext {\n\n /**\n * Creates a new context from a JavaScript object.\n *\n * @param {any} [value]\n */\n constructor(value = {}) {\n\n /**\n * @protected\n */\n this.value = value;\n }\n\n /**\n * Return all defined keys of the context.\n *\n * @returns {Array<string>} the keys of the context\n */\n getKeys() {\n return Object.keys(this.value);\n }\n\n /**\n * Returns the value of the given key.\n *\n * If the value represents a context itself, it should be wrapped in a\n * context class.\n *\n * @param {String} key\n * @returns {VariableContext|ValueProducer|null}\n */\n get(key) {\n const result = this.value[key];\n\n const constructor = /** @type { typeof VariableContext } */ (this.constructor);\n\n if (constructor.isAtomic(result)) {\n return result;\n }\n\n return constructor.of(result);\n }\n\n /**\n * Creates a new context with the given key added.\n *\n * @param {String} key\n * @param {any} value\n *\n * @returns {VariableContext} new context with the given key added\n */\n set(key, value) {\n\n const constructor = /** @type { typeof VariableContext } */ (this.constructor);\n\n return constructor.of({\n ...this.value,\n [key]: value\n });\n }\n\n /**\n * Non-destructively merge another context into this one,\n * and return the result.\n *\n * @param {ContextValue} other\n *\n * @return {VariableContext}\n */\n merge(other) {\n const constructor = /** @type { typeof VariableContext } */ (this.constructor);\n\n return new constructor(\n constructor.__merge(this.value, other)\n );\n }\n\n /**\n * Wether the given value is atomic. Non-atomic values need to be wrapped in a\n * context Class.\n *\n * @param {any} value\n * @returns {Boolean}\n */\n static isAtomic(value) {\n return !value ||\n value instanceof this ||\n value instanceof ValueProducer ||\n typeof value !== 'object';\n }\n\n /**\n * Takes any number of Contexts and merges them into a single context.\n *\n * @param { ...VariableContext } contexts\n * @returns { VariableContext }\n */\n static of(...contexts) {\n return contexts.reduce((context, otherContext) => {\n return context.merge(otherContext);\n }, new this({}));\n }\n\n /**\n * Returns the raw representation of the given context.\n *\n * @param {VariableContext | any} context\n *\n * @return {any}\n */\n static __unwrap(context) {\n if (!context) {\n return {};\n }\n\n if (context instanceof this) {\n return context.value;\n }\n\n if (typeof context !== 'object') {\n return {};\n }\n\n return { ...context };\n }\n\n /**\n * Non-destructively merges two contexts (or their values)\n * with each other, returning the result.\n *\n * @param {ContextValue} context\n * @param {ContextValue} other\n *\n * @return {any}\n */\n static __merge(context, other) {\n\n return reduce(this.__unwrap(other), (merged, value, key) => {\n if (value instanceof ValueProducer) {\n\n // keep value producers in tact\n return {\n ...merged,\n [key]: value\n };\n }\n\n value = this.__unwrap(value);\n\n if (has(merged, key)) {\n value = this.__merge(this.__unwrap(merged[key]), value);\n }\n\n return {\n ...merged,\n [key]: value\n };\n }, this.__unwrap(context));\n }\n\n}\n\nclass Variables {\n\n /**\n * @param { {\n * name?: string,\n * tokens?: string[],\n * children?: Variables[],\n * parent: Variables | null\n * context: VariableContext,\n * value?: any,\n * raw?: any\n * } } options\n */\n constructor({\n name = 'Expressions',\n tokens = [],\n children = [],\n parent = null,\n context,\n value,\n raw\n }) {\n this.name = name;\n this.tokens = tokens;\n this.children = children;\n this.parent = parent;\n this.context = context;\n this.value = value;\n this.raw = raw;\n }\n\n enterScope(name) {\n\n const childScope = this.of({\n name,\n parent: this\n });\n\n LOG_VARS && console.log('[%s] enter', childScope.path, childScope.context);\n\n return childScope;\n }\n\n exitScope(str) {\n\n if (!this.parent) {\n LOG_VARS && console.log('[%s] NO exit %o\\n%s', this.path, this.context, indent(str, ' '));\n\n return this;\n }\n\n LOG_VARS && console.log('[%s] exit %o\\n%s', this.path, this.context, indent(str, ' '));\n\n return this.parent.pushChild(this);\n }\n\n token(part) {\n\n LOG_VARS && console.log('[%s] token <%s> + <%s>', this.path, this.tokens.join(' '), part);\n\n return this.assign({\n tokens: [ ...this.tokens, part ]\n });\n }\n\n literal(value) {\n\n LOG_VARS && console.log('[%s] literal %o', this.path, value);\n\n return this.pushChild(this.of({\n name: 'Literal',\n value\n }));\n }\n\n /**\n * Return computed scope value\n *\n * @return {any}\n */\n computedValue() {\n for (let scope = this;;scope = last(scope.children)) {\n\n if (!scope) {\n return null;\n }\n\n if (scope.value) {\n return scope.value;\n }\n }\n }\n\n contextKeys() {\n return this.context.getKeys().map(normalizeContextKey);\n }\n\n get path() {\n return this.parent?.path?.concat(' > ', this.name) || this.name;\n }\n\n /**\n * Return value of variable.\n *\n * @param { string } variable\n * @return { any } value\n */\n get(variable) {\n\n const names = [ variable, variable && normalizeContextKey(variable) ];\n\n const contextKey = this.context.getKeys().find(\n key => names.includes(normalizeContextKey(key))\n );\n\n if (typeof contextKey === 'undefined') {\n return undefined;\n }\n\n const val = this.context.get(contextKey);\n\n if (val instanceof ValueProducer) {\n return val.get(this);\n } else {\n return val;\n }\n }\n\n resolveName() {\n\n const variable = this.tokens.join(' ');\n const tokens = [];\n\n const parentScope = this.assign({\n tokens\n });\n\n const variableScope = this.of({\n name: 'VariableName',\n parent: parentScope,\n value: this.get(variable),\n raw: variable\n });\n\n LOG_VARS && console.log('[%s] resolve name <%s=%s>', variableScope.path, variable, this.get(variable));\n\n return parentScope.pushChild(variableScope);\n }\n\n pushChild(child) {\n\n if (!child) {\n return this;\n }\n\n const parent = this.assign({\n children: [ ...this.children, child ]\n });\n\n child.parent = parent;\n\n return parent;\n }\n\n pushChildren(children) {\n\n /**\n * @type {Variables}\n */\n let parent = this;\n\n for (const child of children) {\n parent = parent.pushChild(child);\n }\n\n return parent;\n }\n\n declareName() {\n\n if (this.tokens.length === 0) {\n throw Error('no tokens to declare name');\n }\n\n const variableName = this.tokens.join(' ');\n\n LOG_VARS && console.log('[%s] declareName <%s>', this.path, variableName);\n\n return this.assign({\n tokens: []\n }).pushChild(\n this.of({\n name: 'Name',\n value: variableName\n })\n );\n }\n\n define(name, value) {\n\n if (typeof name !== 'string') {\n LOG_VARS && console.log('[%s] no define <%s=%s>', this.path, name, value);\n\n return this;\n }\n\n LOG_VARS && console.log('[%s] define <%s=%s>', this.path, name, value);\n\n const context = this.context.set(name, value);\n\n return this.assign({\n context\n });\n }\n\n /**\n * @param { Record<string, any> } [options]\n *\n * @return { Variables }\n */\n assign(options = {}) {\n\n return Variables.of({\n ...this,\n ...options\n });\n }\n\n /**\n * @param { Record<string, any> } [options]\n *\n * @return { Variables }\n */\n of(options = {}) {\n\n const defaultOptions = {\n context: this.context,\n parent: this.parent\n };\n\n return Variables.of({\n ...defaultOptions,\n ...options\n });\n }\n\n /**\n * @param { {\n * name?: string,\n * tokens?: string[],\n * children?: Variables[],\n * parent?: Variables | null\n * context: VariableContext,\n * value?: any,\n * raw?: any\n * } } options\n *\n * @return {Variables}\n */\n static of(options) {\n\n const {\n name,\n tokens = [],\n children = [],\n parent = null,\n context,\n value,\n raw\n } = options;\n\n if (!context) {\n throw new Error('must provide <context>');\n }\n\n return new Variables({\n name,\n tokens: [ ...tokens ],\n children: [ ...children ],\n context,\n parent,\n value,\n raw\n });\n }\n\n}\n\n/**\n * @param { string } name\n *\n * @return { string } normalizedName\n */\nexport function normalizeContextKey(name) {\n return name.replace(/\\s*([./\\-'+]|\\*\\*?)\\s*/g, ' $1 ').replace(/\\s{2,}/g, ' ').trim();\n}\n\n/**\n * Wrap children of variables under the given named child.\n *\n * @param { Variables } variables\n * @param { string } scopeName\n * @param { string } code\n * @return { Variables }\n */\nfunction wrap(variables, scopeName, code) {\n\n const parts = variables.children.filter(c => c.name !== scopeName);\n const children = variables.children.filter(c => c.name === scopeName);\n\n const namePart = parts[0];\n const valuePart = parts[Math.max(1, parts.length - 1)];\n\n const name = namePart?.computedValue();\n const value = valuePart?.computedValue() || null;\n\n return variables\n .assign({\n children\n })\n .enterScope(scopeName)\n .pushChildren(parts)\n .exitScope(code)\n .define(name, value);\n}\n\n/**\n * @param { ContextValue } [context]\n * @param { typeof VariableContext } [Context]\n *\n * @return { ContextTracker<Variables> }\n */\nexport function trackVariables(context = {}, Context = VariableContext) {\n\n const start = Variables.of({\n context: Context.of(context)\n });\n\n return new ContextTracker({\n start,\n reduce(variables, term, stack, input) {\n\n if (term === IfExpression) {\n const [ thenPart, elsePart ] = variables.children.slice(-2);\n\n variables = variables.assign({\n value: Context.of(\n thenPart?.computedValue(),\n elsePart?.computedValue()\n )\n });\n }\n\n if (term === List) {\n variables = variables.assign({\n value: Context.of(\n ...variables.children.map(\n c => c?.computedValue()\n )\n )\n });\n }\n\n if (term === FilterExpression) {\n const [ sourcePart, _ ] = variables.children.slice(-2);\n\n variables = variables.assign({\n value: sourcePart?.computedValue()\n });\n }\n\n if (term === FunctionInvocation) {\n\n const [\n name,\n ...args\n ] = variables.children;\n\n // preserve type information through `get value(context, key)` utility\n if (name?.raw === 'get value') {\n variables = getContextValue(variables, args);\n }\n }\n\n const start = contextStarts[term];\n\n if (start) {\n return variables.enterScope(start);\n }\n\n const prefixedStart = prefixedContextStarts[term];\n\n // pull <expression> into new <prefixedStart> context\n if (prefixedStart) {\n\n const {\n children: currentChildren,\n context: currentContext,\n } = variables;\n\n const children = currentChildren.slice(0, -1);\n const lastChild = last(currentChildren);\n\n let newContext = null;\n\n if (term === pathExpressionStart) {\n newContext = Context.of(lastChild?.computedValue());\n }\n\n if (term === filterExpressionStart) {\n newContext = Context.of(\n currentContext,\n lastChild?.computedValue()\n ).set('item', lastChild?.computedValue());\n }\n\n return variables\n .assign({ children })\n .enterScope(prefixedStart)\n .pushChild(lastChild)\n .assign({ context: newContext || currentContext });\n }\n\n // @ts-expect-error internal method\n const code = input.read(input.pos, stack.pos);\n\n const end = contextEnds[term];\n\n if (end) {\n return variables.exitScope(code);\n }\n\n if (term === ContextEntry) {\n const parts = variables.children.filter(c => c.name !== 'ContextEntry');\n\n const name = parts[0];\n const value = last(parts);\n\n return wrap(variables, 'ContextEntry', code).assign(\n {\n value: Context\n .of(variables.value)\n .set(name?.computedValue(), value?.computedValue())\n }\n );\n }\n\n if (\n term === ForInExpression ||\n term === QuantifiedInExpression\n ) {\n return wrap(variables, 'InExpression', code);\n }\n\n // define <partial> within ForExpression body\n if (term === forExpressionBodyStart) {\n\n return variables.define(\n 'partial',\n ValueProducer.of(variables => {\n return last(variables.children)?.computedValue();\n })\n );\n }\n\n if (\n term === ParameterName\n ) {\n const name = last(variables.children).computedValue();\n\n // TODO: attach type information\n return variables.define(name, 1);\n }\n\n // pull <expression> into ArithmeticExpression child\n if (\n term === arithmeticPlusStart ||\n term === arithmeticTimesStart ||\n term === arithmeticExpStart\n ) {\n const children = variables.children.slice(0, -1);\n const lastChild = last(variables.children);\n\n return variables.assign({\n children\n }).enterScope('ArithmeticExpression').pushChild(lastChild);\n }\n\n if (term === arithmeticUnaryStart) {\n return variables.enterScope('ArithmeticExpression');\n }\n\n if (\n term === Identifier ||\n term === AdditionalIdentifier ||\n term === PropertyIdentifier\n ) {\n return variables.token(code);\n }\n\n if (\n term === StringLiteral\n ) {\n return variables.literal(code.replace(/^\"|\"$/g, ''));\n }\n\n if (term === BooleanLiteral) {\n return variables.literal(code === 'true' ? true : false);\n }\n\n if (term === NumericLiteral) {\n return variables.literal(parseFloat(code));\n }\n\n if (term === nil) {\n return variables.literal(null);\n }\n\n if (\n term === VariableName\n ) {\n return variables.resolveName();\n }\n\n if (\n term === Name ||\n term === PropertyName\n ) {\n return variables.declareName();\n }\n\n if (\n term === expression0 ||\n term === PositiveUnaryTest\n ) {\n if (variables.tokens.length > 0) {\n throw new Error('uncleared name');\n }\n }\n\n if (term === expression0) {\n\n let parent = variables;\n\n while (parent.parent) {\n parent = parent.exitScope(code);\n }\n\n return parent;\n }\n\n return variables;\n }\n });\n}\n\nexport const variableTracker = trackVariables({});\n\n\n// helpers //////////////\n\nfunction getContextValue(variables, args) {\n\n if (!args.length) {\n return variables.assign({\n value: null\n });\n }\n\n if (args[0].name === 'Name') {\n args = extractNamedArgs(args, [ 'm', 'key' ]);\n }\n\n if (args.length !== 2) {\n return variables.assign({\n value: null\n });\n }\n\n const [\n context,\n key\n ] = args;\n\n const keyValue = key?.computedValue();\n const contextValue = context?.computedValue();\n\n if (\n (!contextValue || typeof contextValue !== 'object') || typeof keyValue !== 'string'\n ) {\n return variables.assign({\n value: null\n });\n }\n\n return variables.assign({\n value: [ normalizeContextKey(keyValue), keyValue ].reduce((value, keyValue) => {\n return contextValue.get(keyValue) || value;\n }, null)\n });\n}\n\nfunction extractNamedArgs(args, argNames) {\n\n const context = {};\n\n for (let i = 0; i < args.length; i += 2) {\n const [ name, value ] = args.slice(i, i + 2);\n\n context[name.value] = value;\n }\n\n return argNames.map(name => context[name]);\n}\n\nfunction last(arr) {\n return arr[arr.length - 1];\n}","import { styleTags, tags as t } from '@lezer/highlight';\n\nexport const feelHighlighting = styleTags({\n StringLiteral: t.string,\n NumericLiteral: t.number,\n BooleanLiteral: t.bool,\n 'AtLiteral!': t.special(t.string),\n CompareOp: t.compareOperator,\n ArithOp: t.arithmeticOperator,\n 'for if then else some every satisfies between return': t.controlKeyword,\n 'in instance of and or': t.operatorKeyword,\n function: t.definitionKeyword,\n as: t.keyword,\n 'Type/...': t.typeName,\n Wildcard: t.special(t.variableName),\n null: t.null,\n LineComment: t.lineComment,\n BlockComment: t.blockComment,\n 'VariableName! \"?\"': t.variableName,\n 'DateTimeConstructor! SpecialFunctionName!': t.function(t.special(t.variableName)),\n 'List Interval': t.list,\n Context: t.definition(t.literal),\n 'Name!': t.definition(t.variableName),\n 'Key/Name! ContextEntryType/Name!': t.definition(t.propertyName),\n 'PathExpression/VariableName!': t.function(t.propertyName),\n 'FormalParameter/ParameterName!': t.function(t.definition(t.variableName)),\n '( )': t.paren,\n '[ ]': t.squareBracket,\n '{ }': t.brace,\n '.': t.derefOperator,\n ', ;': t.separator,\n '..': t.punctuation\n});","// This file was generated by lezer-generator. You probably shouldn't edit it.\nimport {LRParser} from \"@lezer/lr\"\nimport {propertyIdentifiers, identifiers, insertSemicolon, variableTracker} from \"./tokens.js\"\nimport {feelHighlighting} from \"./highlight.js\"\nconst spec_identifier = {__proto__:null,for:10, in:32, return:36, if:40, then:42, else:44, some:48, every:50, satisfies:56, or:60, and:64, between:72, instance:86, of:89, days:101, time:103, duration:105, years:107, months:109, date:111, list:117, context:123, function:130, null:156, true:330, false:330, \"?\":170, external:186, not:211}\nexport const parser = LRParser.deserialize({\n version: 14,\n states: \"C|O`QYOOO`QYOOO$sQYOOOOQU'#Ce'#CeO$}QYO'#C`O&WQYO'#FQOOQQ'#Ff'#FfO&bQYO'#FfO`QYO'#DVOOQU'#En'#EnO(UQ^O'#D]OOQU'#D^'#D^OOQU'#D]'#D]OOQO'#Fn'#FnO*RQWO'#DvOOQQ'#D}'#D}OOQQ'#EO'#EOOOQQ'#EP'#EPO*WOWO'#ESO*RQWO'#EQOOQQ'#EQ'#EQOOQQ'#Ft'#FtOOQQ'#Fr'#FrOOQQ'#Fy'#FyOOQQ'#EU'#EUO`QYO'#EWOOQQ'#FS'#FSO*]Q^O'#FSO,SQYO'#EXO,ZQWO'#EYOOQP'#F}'#F}O,`QXO'#EaOOQQ'#Fz'#FzOOQQ'#FR'#FRQOQWOOOOQQ'#FT'#FTOOQQ'#F^'#F^O`QYO'#CoOOQQ'#F_'#F_O$}QYO'#CsO,kQYO'#DwOOQQ'#Fs'#FsO,pQYO'#EROOQO'#ER'#ERO`QYO'#EVO`QYO'#EUOOQO'#F{'#F{Q,xQWOOO,}QYO'#DRO-tQWO'#FbOOQO'#DT'#DTO.PQYO'#FfO.WQWOOO.}QYO'#CdO/[QYO'#FVOOQQ'#Cc'#CcO/aQYO'#FUOOQQ'#Cb'#CbO/iQYO,58zO`QYO,59iOOQQ'#Fc'#FcOOQQ'#Fd'#FdOOQQ'#Fe'#FeO`QYO,59qO`QYO,59qO`QYO,59qOOQQ'#Fl'#FlO/nQYO,5:^OOQQ'#Fm'#FmO`QYO,5:`O`QYO,59eO`QYO,59gO`QYO,59iO1jQYO,59iO1qQYO,59rOOQQ,5:i,5:iO1vQYO,59qOOQU-E8l-E8lO3jQYO'#FoOOQQ,5:b,5:bOOQQ,5:n,5:nOOQQ,5:l,5:lO3qQYO,5:rOOQQ,5;n,5;nO3{QYO,5:qO4YQWO,5:sO4_QYO,5:tOOQP'#Ee'#EeO5UQXO'#EdOOQO'#Ec'#EcO5]QWO'#EbO5bQWO'#GOO5jQWO,5:{O5oQYO,59ZO/[QYO'#FaOOQQ'#Cw'#CwO5vQYO'#F`OOQQ'#Cv'#CvO6OQYO,59_O6TQYO,5:cO6YQYO,5:mO3tQYO,5:qO6_QYO,5:pO`QYO'#EwQ,xQWOOO`QYO'#EmO7UQWO,5;|O`QYOOOOQR'#Cf'#CfOOQQ'#Ej'#EjO8OQYO,59OO`QYO,5;qOOQQ'#FY'#FYO$}QYO'#EkO8`QYO,5;pO`QYO1G.fOOQQ'#F]'#F]O9VQYO1G/TO;|QYO1G/]O<WQYO1G/]O<bQYO1G/]OOQQ1G/x1G/xO>UQYO1G/zO>]QYO1G/PO?fQYO1G/RO@oQYO1G/TO`QYO1G/TOOQQ1G/T1G/TOAVQYO1G/^OAtQ^O'#CdOCWQYO'#FqOOQO'#Dz'#DzOCbQWO'#DyOCgQWO'#FpOOQO'#Dx'#DxOOQO'#D{'#D{OCoQWO,5<ZOOQQ1G0^1G0^O`QYO1G0]O`QYO'#EsOCtQWO,5<]OOQQ1G0_1G0_ODPQWO'#E[OD[QWO'#F|OOQO'#EZ'#EZODdQWO1G0`OOQP'#Eu'#EuODiQXO,5;OO`QYO,5:|ODpQXO'#EvODxQWO,5<jOOQQ1G0g1G0gO`QYO1G.uO`QYO,5;{O$}QYO'#ElOEQQYO,5;zO`QYO1G.yOEYQYO1G/}OOQO1G0X1G0XOOQO,5;c,5;cOOQO-E8u-E8uOOQO,5;X,5;XOOQO-E8k-E8kOE_QWOOOOQQ-E8h-E8hOEdQYO'#CmOOQQ1G1]1G1]OOQQ,5;V,5;VOOQQ-E8i-E8iOEqQYO7+$QOOQQ7+%f7+%fO`QYO7+$oOFhQYO,5:rOFuQWO7+$oOFzQYO'#D[OOQQ'#DZ'#DZOHnQYO'#D_OHsQYO'#D_OHxQYO'#D_OH}Q`O'#DgOISQ`O'#DjOIXQ`O'#DnOOQQ7+$x7+$xO`QYO,5:eO$}QYO'#ErOI^QWO,5<[OOQQ1G1u1G1uOJdQYO7+%wOJqQYO,5;_OOQO-E8q-E8qOAVQYO,5:vO$}QYO'#EtOKOQWO,5<hOKWQYO7+%zOOQP-E8s-E8sOK_QYO1G0hOOQO,5;b,5;bOOQO-E8t-E8tOKiQYO7+$aOKpQYO1G1gOOQQ,5;W,5;WOOQQ-E8j-E8jOKzQYO7+$eOOQO7+%i7+%iO`QYO,59XOLqQYO<<HZOOQQ<<HZ<<HZO/nQYO'#EoOMzQYO,59vO! nQYO,59yO! sQYO,59yO! xQYO,59yO! }QYO,5:RO$}QYO,5:UO!!lQbO,5:YO!!sQYO1G0POOQO,5;^,5;^OOQO-E8p-E8pO!!}QYO<<IcOOQQ<<Ic<<IcOOQO1G0b1G0bOOQO,5;`,5;`OOQO-E8r-E8rO!%|QYO'#E^OOQQ<<If<<IfO`QYO<<IfO`QYO<<G{O!&sQYO1G.sOOQQ,5;Z,5;ZOOQQ-E8m-E8mO!&}QYO1G/eOOQQ1G/e1G/eO!'SQbO'#D]O!'eQ`O'#D[O!'pQ`O1G/mO!'uQWO'#DmO!'zQ`O'#FhOOQO'#Dl'#DlO!(SQ`O1G/pOOQO'#Dq'#DqO!(XQ`O'#FjOOQO'#Dp'#DpO!(aQ`O1G/tOOQQAN?QAN?QO!(fQYOAN=gOOQQ7+%P7+%PO!)]Q`O,59vOOQQ7+%X7+%XO! }QYO,5:XO$}QYO'#EpO!)hQ`O,5<SOOQQ7+%[7+%[O! }QYO'#EqO!)pQ`O,5<UO!)xQ`O7+%`OOQO1G/s1G/sOOQO,5;[,5;[OOQO-E8n-E8nOOQO,5;],5;]OOQO-E8o-E8oOAVQYO<<HzOOQQAN>fAN>fO/nQYO'#EoO! }QYO<<HzO!)}Q`O7+%`O!*SQ`O1G/tO!!lQbO,5:YO!*XQ`O'#Dn\",\n stateData: \"!*h~O#rOS#sOSPOSQOS~OTsOZVO[UOdtOhvOivOr}Os}OviO!T{O!U{O!VxO!XzO!c!OO!g|O!igO!pyO!wjO#SnO#nRO#oRO$ZZO$i_O$j`O$kaO$lbO~OTsO[UOdtOhvOivOr}Os}OviO!T{O!U{O!VxO!XzO!c!OO!g|O!igO!pyO!wjO#SnO#nRO#oRO$ZZO$i_O$j`O$kaO$lbO~OZ!TO#]!UO~P#SO#nRO#oRO~OZ!^O[!^O]!_O^!_O_!`O`!kOn!hOp!iOr!]Os!]Ot!jO{!lO!i!fO#z!dOv$bX~O#l#tX$s#tX~P%VO$i!mOT$YXZ$YX[$YXd$YXh$YXi$YXr$YXs$YXv$YX!T$YX!U$YX!V$YX!X$YX!c$YX!g$YX!i$YX!p$YX!w$YX#S$YX#n$YX#o$YX$Z$YX$j$YX$k$YX$l$YX~O#nRO#oROZ!PX[!PX]!PX^!PX_!PX`!PXn!PXp!PXr!PXs!PXt!PXv!PX{!PX!i!PX#l!PX#p!PX#z!PX$s!PX$O!PXx!PX#}!PX!g!PXe!PXb!PX#R!PXf!PXl!PX~Ov!pO~O$j`O~O#p!uOZ#vX[#vX]#vX^#vX_#vX`#vXn#vXp#vXr#vXs#vXt#vXv#vX{#vX!i#vX#l#vX#z#vX$s#vX$O#vXx#vX#}#vX!g#vXe#vXb#vX#R#vXf#vXl#vX~O!g$eP~P`Ov!xO~O#m!yO$j`O#R$rP~Op#VO~Op#WOv!uX~O$s#ZO~O#luX$OuX$suXxuX#}uX!guXeuXbuX#RuXfuXluX~P%VO$O#]O#l$UXx$UX~O#l#[X~P&bOv#_O~OZ#`O[#`O]#`O^#`O_#`O#nRO#oRO#z#`O#{#`O$]WX~O`WXxWX$OWX~P.]O`#dO~O$O#eOb#xX~Ob#hO~O#nRO#oRO$ZZO~OTsOZVO[UOdtOhvOivOr}Os}O!T{O!U{O!VxO!XzO!c!OO!g|O!igO!pyO!wjO#SnO#nRO#oRO$ZZO$i_O$j`O$kaO$lbO~Ov#rO~P/yO|#tO~O{!lO!i!fO#z!dOZya[ya]ya^ya_ya`yanyapyaryasyatyav$bX#lya$sya$Oyaxya#}ya!gyaeyabya#Ryafyalya~Ox$eP~P`Ox#}O#}$OO~P%VO#}$OO$O$PO!g$eX~P%VO!g$RO~O#nRO#oROx$pP~OZ#`O[#`O]#`O^#`O_#`O#m!yO#z#`O#{#`O~O$]#WX~P4jO$]$YO~O$O$ZO#R$rX~O#R$]O~Oe$^O~P%VO$O$`Ol$SX~Ol$bO~O!W$cO~O!T$dO~O#l!xa$s!xa$O!xax!xa#}!xa!g!xae!xab!xa#R!xaf!xal!xa~P%VO$O#]O#l$Uax$Ua~OZ#`O[#`O]#`O^#`O_#`O#nRO#oRO#z#`O#{#`O~O`Wa$]WaxWa$OWa~P7aO$O#eOb#xa~OZ!^O[!^O]!_O^!_O_!`O{!lO!i!fO#z!dOv$bX~O`qinqipqirqisqitqi#lqi$sqi$Oqixqi#}qi!gqieqibqi#Rqifqilqi~P8hO_!`O{!lO!i!fO#z!dOZyi[yi`yinyipyiryisyityiv$bX#lyi$syi$Oyixyi#}yi!gyieyibyi#Ryifyilyi~O]!_O^!_O~P:`O]yi^yi~P:`O{!lO!i!fO#z!dOZyi[yi]yi^yi_yi`yinyipyiryisyityiv$bX#lyi$syi$Oyixyi#}yi!gyieyibyi#Ryifyilyi~O!g$pO~P%VO`!kOp!iOr!]Os!]Ot!jOnmi#lmi$smi$Omixmi#}mi!gmiemibmi#Rmifmilmi~P8hO`!kOr!]Os!]Ot!jOnoipoi#loi$soi$Ooixoi#}oi!goieoiboi#Roifoiloi~P8hO`!kOn!hOp$qOr!]Os!]Ot!jO~P8hO!S$vO!V$wO!X$xO![$yO!_$zO!c${O#nRO#oRO$ZZO~OZ#bX[#bX]#bX^#bX_#bX`#bXn#bXp#bXr#bXs#bXt#bXv#bXx#bX{#bX!i#bX#n#bX#o#bX#p#bX#z#bX$O#bX~P.]O$O$POx$eX~P%VO$]$}O~O$O%OOx$dX~Ox%QO~O$O$PO!g$eax$ea~O$]%UOx#OX$O#OX~O$O%VOx$pX~Ox%XO~O$]#Wa~P4jO#m!yO$j`O~O$O$ZO#R$ra~O$O$`Ol$Sa~O!U%cO~OxrO~O#}%dObaX$OaX~P%VO#lSq$sSq$OSqxSq#}Sq!gSqeSqbSq#RSqfSqlSq~P%VOx#}O#}$OO$OuX~P%VOx%fO~O#z%gOZ!OX[!OX]!OX^!OX_!OX`!OXn!OXp!OXr!OXs!OXt!OXv!OX{!OX!i!OX#l!OX$s!OX$O!OXx!OX#}!OX!g!OXe!OXb!OX#R!OXf!OXl!OX~Op%iO~Op%jO~Op%kO~O!]%lO~O!]%mO~O!]%nO~O$O%OOx$da~OZ!^O[!^O]!_O^!_O_!`O`!kOn!hOp!iOr!]Os!]Ot!jO{!lO#z!dOv$bX~Ox%sO!g%sO!i%rO~PIfO!g#ga$O#gax#ga~P%VO$O%VOx$pa~O#P%yO~P`O#R#Ui$O#Ui~P%VOf%zO~P%VOl$Ti$O$Ti~P%VO#lgq$sgq$Ogqxgq#}gq!ggqegqbgq#Rgqfgqlgq~P%VO`qynqypqyrqysqytqy#lqy$sqy$Oqyxqy#}qy!gqyeqybqy#Rqyfqylqy~P8hO#z%gOZ!Oa[!Oa]!Oa^!Oa_!Oa`!Oan!Oap!Oar!Oas!Oat!Oav!Oa{!Oa!i!Oa#l!Oa$s!Oa$O!Oax!Oa#}!Oa!g!Oae!Oab!Oa#R!Oaf!Oal!Oa~O!T&OO~O!W&OO~O!T&PO~O!S$vO!V$wO!X$xO![$yO!_$zO!c&uO#nRO#oRO$ZZO~O!Y$^P~P! }Ox!mi$O!mi~P%VOT$aXZ$aX[$aX]!yy^!yy_!yy`!yyd$aXh$aXi$aXn!yyp!yyr$aXs$aXt!yyv$aX{!yy!T$aX!U$aX!V$aX!X$aX!c$aX!g$aX!i$aX!p$aX!w$aX#S$aX#l!yy#n$aX#o$aX#z!yy$Z$aX$i$aX$j$aX$k$aX$l$aX$s!yy$O!yyx!yy#}!yye!yyb!yy#R!yyf!yyl!yy~O#l#QX$s#QX$O#QXx#QX#}#QX!g#QXe#QXb#QX#R#QXf#QXl#QX~P%VObai$Oai~P%VO!U&_O~O#nRO#oRO!Y!PX#z!PX$O!PX~O#z&pO!Y!OX$O!OX~O!Y&aO~O$]&bO~O$O&cO!Y$[X~O!Y&eO~O$O&fO!Y$^X~O!Y&hO~O#lc!R$sc!R$Oc!Rxc!R#}c!R!gc!Rec!Rbc!R#Rc!Rfc!Rlc!R~P%VO#z&pO!Y!Oa$O!Oa~O$O&cO!Y$[a~O$O&fO!Y$^a~O$_&nO~O$_&qO~O!Y&rO~O!]&tO~O$Z~QP_^$i]#z~\",\n goto: \"E|$sPPPP$tP%m%p%v&Y'sPPPPPP'|P$tPPP$tPP(P(SP$tP$tP$tPPP(YP(eP$t$tPP(n)T)`*m)TPPPPPPP)TPP)TP+r+u)TP+{,R$tP$tP$t,Y-R-U-[-RP-d.]-d-d/]0UP$t0}$t1v1v2o2rP2xPP1v3O3U/X3YPP3bP3e3l3r3x4O5Z5e5k5q5w6O6U6[6bPPPPPPPP6h6q8x9q:j:mPP:qPP:w:z;s<l<o<s<x=g>V>vP?oP?rP?v@iA[BTBZB^$tBdBdPPPPC]8xDUD}EQEy!mjOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR![SQ!YSR$m#eS!WS#eS#Qw$`W#w!p!x%O%VT&T%m&c#WXOPQWYilu|}!]!a!b!c!e!g!h!i!j!k#Z#]#_#c#g#r#t$O$P$Y$^$_$b$q$}%U%X%d%g%l%n%y%z&Q&b&f&n&p&q&tb!VSw!x#e$`%O%V%m&cU#a!V#b#uR#u!pU#a!V#b#uT$W!z$XR$l#cR#UwQ#SwR%`$`U!RQ#_#rQ#s!kR$g#]QrQQ$i#_R$s#rQ$|#tQ%t%UQ&S%lU&X%n&f&tQ&i&bT&o&n&qc$u#t%U%l%n&b&f&n&q&t!lkOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zQ#m!eU$t#t%U&nS%|%g&p]&R%l%n&b&f&q&t#V[OPQWilu|}!]!a!b!c!e!g!h!i!j!k!p#Z#]#_#c#g#r#t$O$P$Y$^$_$b$q$}%U%X%d%g%l%n%y%z&b&f&n&p&q&tR&W%mQ&U%mR&j&cQ&[%nR&s&tS&Y%n&tR&l&f!m]OPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR#|!pQ#y!pR%p%OS#x!p%OT$S!x%V!meOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!leOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zQ!rbT!{o$Z!mcOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mdOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mhOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mpOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR$V!xQ$T!xR%u%VQ%x%XR&]%yQ!}oR%[$ZT!|o$ZS!zo$ZT$W!z$XRrQS#b!V#uR$j#bQ#f!YR$n#fQ$a#SR%a$aQ#^!RR$h#^!vYOPQWilu|}!]!a!b!c!e!g!h!i!j!k!p#Z#]#_#c#g#r#t$O$P$Y$^$_$b$q$}%U%X%d%g%y%z&nS!oY&Q_&Q%l%n&b&f&p&q&tQ%h$tS%}%h&`R&`&RQ&d&UR&k&dQ&g&YR&m&gQ%P#yR%q%PS$Q!v#vR%T$QQ%W$TR%v%WQ$X!zR%Y$XQ$[!}R%]$[Q#[!PR$f#[QrOQ!PPR$e#ZUTOP#ZW!QQ!k#]#_Q!nWQ!tiQ!vlQ#PuQ#X|Q#Y}Q#i!]Q#j!aQ#k!bQ#l!cQ#n!gQ#o!hQ#p!iQ#q!jQ#v!pQ$k#cQ$o#gQ$r#rQ%R$OQ%S$PQ%Z$YQ%^$^Q%_$_Q%b$bQ%e$qQ%o$}S%w%X%yQ%{%dR&^%z!mqOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mSOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR!ZST!XS#eQ#c!WR$_#QR#g![!muOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mwOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR#TwT#Rw$`V!SQ#_#r!X!aT!Q!t!v#P#X#Y#i#n#o#p#q#v$k$o$r%R%S%Z%^%_%b%e%o%w%{&^!Z!bT!Q!t!v#P#X#Y#i#j#n#o#p#q#v$k$o$r%R%S%Z%^%_%b%e%o%w%{&^!]!cT!Q!t!v#P#X#Y#i#j#k#n#o#p#q#v$k$o$r%R%S%Z%^%_%b%e%o%w%{&^!mWOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR&V%mT&Z%n&t!a!eT!Q!n!t!v#P#X#Y#i#j#k#l#n#o#p#q#v$k$o$r%R%S%Z%^%_%b%e%o%w%{&^!a!gT!Q!n!t!v#P#X#Y#i#j#k#l#n#o#p#q#v$k$o$r%R%S%Z%^%_%b%e%o%w%{&^!m^OPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zQ!q^R!scR#z!pQ!wlR#{!p!mfOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mlOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%z!mmOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR$U!x!moOPQWilu|}!]!a!b!c!g!h!i!j!k!p#Z#]#_#c#g#r$O$P$Y$^$_$b$q$}%X%d%y%zR#Oo\",\n nodeNames: \"⚠ LineComment BlockComment Expression ForExpression for InExpressions InExpression Name Identifier Identifier ArithOp ArithOp ArithOp ArithOp ArithOp in IterationContext return IfExpression if then else QuantifiedExpression some every InExpressions InExpression satisfies Disjunction or Conjunction and Comparison CompareOp CompareOp between PositiveUnaryTest ( PositiveUnaryTests ) ArithmeticExpression InstanceOfExpression instance of Type QualifiedName VariableName BacktickIdentifier SpecialType days time duration years months date > ListType list < ContextType context ContextEntryTypes ContextEntryType FunctionType function ArgumentTypes ArgumentType PathExpression ] FilterExpression [ FunctionInvocation SpecialFunctionName NamedParameters NamedParameter ParameterName PositionalParameters null NumericLiteral StringLiteral BooleanLiteral DateTimeLiteral DateTimeConstructor AtLiteral ? SimplePositiveUnaryTest Interval ParenthesizedExpression List FunctionDefinition FormalParameters FormalParameter external FunctionBody } { Context ContextEntry Key Name Identifier Expressions UnaryTests Wildcard not\",\n maxTerm: 173,\n context: variableTracker,\n nodeProps: [\n [\"group\", -17,4,19,23,29,31,33,41,42,68,70,72,85,86,88,89,90,97,\"Expr\",47,\"Expr Expr\",-5,78,79,80,81,82,\"Expr Literal\"],\n [\"closedBy\", 38,\")\",71,\"]\",96,\"}\"],\n [\"openedBy\", 40,\"(\",69,\"[\",95,\"{\"]\n ],\n propSources: [feelHighlighting],\n skippedNodes: [0,1,2],\n repeatNodeCount: 14,\n tokenData: \".Z~RvXY#iYZ$^Z[#i]^$^pq#iqr$crs$nwx&fxy&kyz&pz{&u{|'S|}'X}!O'^!O!P'k!P!Q(u!Q![*p![!]+X!]!^+^!^!_+c!_!`$i!`!a+r!b!c+|!}#O,R#P#Q,W#Q#R&}#S#T,]#o#p.P#q#r.U$f$g#i#BY#BZ#i$IS$I_#i$I|$I}$^$I}$JO$^$JT$JU#i$KV$KW#i&FU&FV#i?HT?HU#i~#nY#r~XY#iZ[#ipq#i$f$g#i#BY#BZ#i$IS$I_#i$JT$JU#i$KV$KW#i&FU&FV#i?HT?HU#i~$cO#s~~$fP!_!`$i~$nOr~~$sW$j~OY$nZr$nrs%]s#O$n#O#P%b#P;'S$n;'S;=`&`<%lO$n~%bO$j~~%eRO;'S$n;'S;=`%n;=`O$n~%sX$j~OY$nZr$nrs%]s#O$n#O#P%b#P;'S$n;'S;=`&`;=`<%l$n<%lO$n~&cP;=`<%l$n~&kO#{~~&pOv~~&uOx~~&zP^~z{&}~'SO_~~'XO[~~'^O$O~R'cPZP!`!a'fQ'kO$_Q~'pQ#z~!O!P'v!Q!['{~'{O#}~~(QR$i~!Q!['{!g!h(Z#X#Y(Z~(^R{|(g}!O(g!Q![(m~(jP!Q![(m~(rP$i~!Q![(m~(zQ]~z{)Q!P!Q*X~)TTOz)Qz{)d{;'S)Q;'S;=`*R<%lO)Q~)gVOz)Qz{)d{!P)Q!P!Q)|!Q;'S)Q;'S;=`*R<%lO)Q~*ROQ~~*UP;=`<%l)Q~*^SP~OY*XZ;'S*X;'S;=`*j<%lO*X~*mP;=`<%l*X~*uS$i~!O!P+R!Q![*p!g!h(Z#X#Y(Z~+UP!Q!['{~+^O$]~~+cO$s~R+jP!]QsP!_!`+mP+rOsPR+yP!YQsP!_!`+m~,RO$l~~,WO!i~~,]O!g~~,`WOY,]Z#O,]#O#P,x#P#S,]#S#T-t#T;'S,];'S;=`-y<%lO,]~,{RO;'S,];'S;=`-U;=`O,]~-XXOY,]Z#O,]#O#P,x#P#S,]#S#T-t#T;'S,];'S;=`-y;=`<%l,]<%lO,]~-yO$Z~~-|P;=`<%l,]~.UO#S~~.ZO#R~\",\n tokenizers: [propertyIdentifiers, identifiers, insertSemicolon, 0, 1],\n topRules: {\"Expression\":[0,3],\"Expressions\":[1,102],\"UnaryTests\":[2,103]},\n dialects: {camunda: 2544},\n dynamicPrecedences: {\"31\":-1,\"68\":1,\"72\":-1,\"74\":-1},\n specialized: [{term: 122, get: (value) => spec_identifier[value] || -1}],\n tokenPrec: 2546\n})\n"],"names":["t"],"mappings":"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"}
@@ -1,61 +0,0 @@
1
- {
2
- "name": "lezer-feel",
3
- "version": "1.7.0",
4
- "description": "Lezer-based FEEL grammar",
5
- "type": "module",
6
- "exports": {
7
- ".": {
8
- "import": "./dist/index.js",
9
- "require": "./dist/index.cjs",
10
- "types": "./dist/index.d.ts"
11
- },
12
- "./package.json": "./package.json"
13
- },
14
- "types": "./dist/index.d.ts",
15
- "author": "Nico Rehwaldt <https://github.com/nikku>",
16
- "license": "MIT",
17
- "sideEffects": false,
18
- "devDependencies": {
19
- "@lezer/generator": "^1.7.2",
20
- "@rollup/plugin-node-resolve": "^16.0.0",
21
- "@types/chai": "^5.0.1",
22
- "@types/mocha": "^10.0.10",
23
- "@types/node": "^20.16.11",
24
- "chai": "^5.1.2",
25
- "chokidar-cli": "^3.0.0",
26
- "eslint": "^9.18.0",
27
- "eslint-plugin-bpmn-io": "^2.0.2",
28
- "mocha": "^10.8.2",
29
- "npm-run-all2": "^7.0.2",
30
- "rollup": "^4.30.1",
31
- "source-map-support": "^0.5.21",
32
- "typescript": "^5.6.3"
33
- },
34
- "dependencies": {
35
- "@lezer/highlight": "^1.2.1",
36
- "@lezer/lr": "^1.4.2",
37
- "min-dash": "^4.2.1"
38
- },
39
- "engines": {
40
- "node": "*"
41
- },
42
- "repository": {
43
- "type": "git",
44
- "url": "https://github.com/nikku/lezer-feel.git"
45
- },
46
- "scripts": {
47
- "build": "lezer-generator src/feel.grammar -o src/parser && rollup -c",
48
- "build-debug": "lezer-generator src/feel.grammar --names -o src/parser && rollup -c",
49
- "test": "mocha -r source-map-support/register test/test-*.js",
50
- "dev": "run-p dev:*",
51
- "dev:build": "chokidar 'src/*.grammar' 'src/{highlight,tokens}.js' --initial -c 'npm run build-debug'",
52
- "dev:test": "chokidar '{dist,test}/**/*.{js,cjs,txt}' -c 'npm test'",
53
- "all": "run-s lint build check-types test",
54
- "lint": "eslint .",
55
- "check-types": "tsc --noEmit",
56
- "prepare": "run-s build"
57
- },
58
- "files": [
59
- "dist"
60
- ]
61
- }
@@ -1,7 +0,0 @@
1
- Copyright 2019 JS Foundation and other contributors
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
-
5
- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6
-
7
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,55 +0,0 @@
1
- # Luxon
2
-
3
- [![MIT License][license-image]][license] [![Build Status][github-action-image]][github-action-url] [![NPM version][npm-version-image]][npm-url] [![Coverage Status][test-coverage-image]][test-coverage-url] [![PRs welcome][contributing-image]][contributing-url]
4
-
5
- Luxon is a library for working with dates and times in JavaScript.
6
-
7
- ```js
8
- DateTime.now().setZone("America/New_York").minus({ weeks: 1 }).endOf("day").toISO();
9
- ```
10
-
11
- ## Upgrading to 3.0
12
-
13
- [Guide](https://moment.github.io/luxon/#upgrading)
14
-
15
- ## Features
16
- * DateTime, Duration, and Interval types.
17
- * Immutable, chainable, unambiguous API.
18
- * Parsing and formatting for common and custom formats.
19
- * Native time zone and Intl support (no locale or tz files).
20
-
21
- ## Download/install
22
-
23
- [Download/install instructions](https://moment.github.io/luxon/#/install)
24
-
25
- ## Documentation
26
-
27
- * [General documentation](https://moment.github.io/luxon/#/?id=luxon)
28
- * [API docs](https://moment.github.io/luxon/api-docs/index.html)
29
- * [Quick tour](https://moment.github.io/luxon/#/tour)
30
- * [For Moment users](https://moment.github.io/luxon/#/moment)
31
- * [Why does Luxon exist?](https://moment.github.io/luxon/#/why)
32
- * [A quick demo](https://moment.github.io/luxon/demo/global.html)
33
-
34
- ## Development
35
-
36
- See [contributing](CONTRIBUTING.md).
37
-
38
- ![Phasers to stun][phasers-image]
39
-
40
- [license-image]: https://img.shields.io/badge/license-MIT-blue.svg
41
- [license]: LICENSE.md
42
-
43
- [github-action-image]: https://github.com/moment/luxon/actions/workflows/test.yml/badge.svg
44
- [github-action-url]: https://github.com/moment/luxon/actions/workflows/test.yml
45
-
46
- [npm-url]: https://npmjs.org/package/luxon
47
- [npm-version-image]: https://badge.fury.io/js/luxon.svg
48
-
49
- [test-coverage-url]: https://codecov.io/gh/moment/luxon
50
- [test-coverage-image]: https://codecov.io/gh/moment/luxon/branch/master/graph/badge.svg
51
-
52
- [contributing-url]: https://github.com/moment/luxon/blob/master/CONTRIBUTING.md
53
- [contributing-image]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg
54
-
55
- [phasers-image]: https://img.shields.io/badge/phasers-stun-brightgreen.svg