{"library":"odata-v4-literal","title":"OData V4 Literal Converter","description":"The `odata-v4-literal` package is a focused utility designed to convert OData V4 literal values (represented as strings, e.g., `'Hello'`, `123`, `true`, `2023-01-15T10:30:00Z`) into their corresponding native JavaScript data types. This functionality is essential for applications that parse OData query parameters or expressions and need to process the actual values. The package is currently at version 0.1.1, and its last publish date was over nine years ago, indicating that it is effectively abandoned. There is no active development or defined release cadence. Its primary differentiator is providing a direct, simple method for handling the specific syntax and escaping rules of OData V4 primitive literals, which can be complex for types like strings (requiring double single quotes for embedded apostrophes), dates, and GUIDs. Developers should be aware of its unmaintained status when considering its use in new projects.","language":"javascript","status":"abandoned","last_verified":"Sun Apr 19","install":{"commands":["npm install odata-v4-literal"],"cli":null},"imports":["import { Literal } from 'odata-v4-literal';","const { Literal } = require('odata-v4-literal');"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import { Literal } from 'odata-v4-literal';\n\n// Demonstrate conversion of various OData V4 literal types\nconsole.log('--- OData V4 Literal Conversions ---');\n\n// Edm.String (note the escaping for O'Neill)\nconst string1 = Literal.convert(\"Edm.String\", \"'Hello O''Neill'\");\nconsole.log(`'Hello O''Neill' (Edm.String) -> ${JSON.stringify(string1)} (Type: ${typeof string1})`);\n\n// Another simple Edm.String\nconst string2 = Literal.convert(\"Edm.String\", \"'Another String'\");\nconsole.log(`'Another String' (Edm.String) -> ${JSON.stringify(string2)} (Type: ${typeof string2})`);\n\n// Edm.Int32\nconst int32 = Literal.convert(\"Edm.Int32\", \"123\");\nconsole.log(`123 (Edm.Int32) -> ${JSON.stringify(int32)} (Type: ${typeof int32})`);\n\n// Edm.Decimal / Edm.Double\nconst decimal = Literal.convert(\"Edm.Decimal\", \"123.45\");\nconsole.log(`123.45 (Edm.Decimal) -> ${JSON.stringify(decimal)} (Type: ${typeof decimal})`);\n\n// Edm.Boolean\nconst booleanTrue = Literal.convert(\"Edm.Boolean\", \"true\");\nconsole.log(`true (Edm.Boolean) -> ${JSON.stringify(booleanTrue)} (Type: ${typeof booleanTrue})`);\n\nconst booleanFalse = Literal.convert(\"Edm.Boolean\", \"false\");\nconsole.log(`false (Edm.Boolean) -> ${JSON.stringify(booleanFalse)} (Type: ${typeof booleanFalse})`);\n\n// Edm.Guid\nconst guid = Literal.convert(\"Edm.Guid\", \"80336209-66cb-4034-8b63-952467d344ff\");\nconsole.log(`80336209-66cb-4034-8b63-952467d344ff (Edm.Guid) -> ${JSON.stringify(guid)} (Type: ${typeof guid})`);\n\n// Edm.DateTimeOffset (ISO 8601 format)\nconst dateTimeOffset = Literal.convert(\"Edm.DateTimeOffset\", \"2023-01-15T10:30:00Z\");\nconsole.log(`2023-01-15T10:30:00Z (Edm.DateTimeOffset) -> ${JSON.stringify(dateTimeOffset)} (Type: ${typeof dateTimeOffset})`);\n\n// Edm.Date\nconst date = Literal.convert(\"Edm.Date\", \"2023-01-15\");\nconsole.log(`2023-01-15 (Edm.Date) -> ${JSON.stringify(date)} (Type: ${typeof date})`);\n\n// Example of a potentially malformed literal (unquoted string for Edm.String)\ntry {\n    // This will likely throw an error or return null/undefined depending on implementation\n    const malformed = Literal.convert(\"Edm.String\", \"Unquoted String\");\n    console.log(`'Unquoted String' (malformed Edm.String) -> ${JSON.stringify(malformed)}`);\n} catch (e: any) {\n    console.error(`Error converting malformed string literal: ${e.message}`);\n}","lang":"typescript","description":"This quickstart demonstrates how to use `odata-v4-literal` to convert various OData V4 literal string representations into their native JavaScript types, including strings with escaped characters, numbers, booleans, GUIDs, and date/time types. It also shows basic error handling for malformed input.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}