llm-exe 0.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.
- package/dist/embedding/base.d.ts +8 -0
- package/dist/embedding/base.js +43 -0
- package/dist/embedding/base.js.map +1 -0
- package/dist/embedding/openai.d.ts +11 -0
- package/dist/embedding/openai.js +72 -0
- package/dist/embedding/openai.js.map +1 -0
- package/dist/executor/_base.d.ts +54 -0
- package/dist/executor/_base.js +173 -0
- package/dist/executor/_base.js.map +1 -0
- package/dist/executor/_functions.d.ts +25 -0
- package/dist/executor/_functions.js +30 -0
- package/dist/executor/_functions.js.map +1 -0
- package/dist/executor/_metadata.d.ts +8 -0
- package/dist/executor/_metadata.js +69 -0
- package/dist/executor/_metadata.js.map +1 -0
- package/dist/executor/core.d.ts +10 -0
- package/dist/executor/core.js +28 -0
- package/dist/executor/core.js.map +1 -0
- package/dist/executor/index.d.ts +4 -0
- package/dist/executor/index.js +13 -0
- package/dist/executor/index.js.map +1 -0
- package/dist/executor/llm.d.ts +29 -0
- package/dist/executor/llm.js +73 -0
- package/dist/executor/llm.js.map +1 -0
- package/dist/index.d.ts +61 -0
- package/dist/index.js +88 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/chat.d.ts +19 -0
- package/dist/interfaces/chat.js +3 -0
- package/dist/interfaces/chat.js.map +1 -0
- package/dist/interfaces/functions.d.ts +72 -0
- package/dist/interfaces/functions.js +3 -0
- package/dist/interfaces/functions.js.map +1 -0
- package/dist/interfaces/index.d.ts +6 -0
- package/dist/interfaces/index.js +23 -0
- package/dist/interfaces/index.js.map +1 -0
- package/dist/interfaces/openai.d.ts +33 -0
- package/dist/interfaces/openai.js +3 -0
- package/dist/interfaces/openai.js.map +1 -0
- package/dist/interfaces/parser.d.ts +11 -0
- package/dist/interfaces/parser.js +3 -0
- package/dist/interfaces/parser.js.map +1 -0
- package/dist/interfaces/prompt.d.ts +20 -0
- package/dist/interfaces/prompt.js +3 -0
- package/dist/interfaces/prompt.js.map +1 -0
- package/dist/interfaces/utils.d.ts +15 -0
- package/dist/interfaces/utils.js +3 -0
- package/dist/interfaces/utils.js.map +1 -0
- package/dist/llm/_base.d.ts +78 -0
- package/dist/llm/_base.js +164 -0
- package/dist/llm/_base.js.map +1 -0
- package/dist/llm/index.d.ts +2 -0
- package/dist/llm/index.js +9 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/llm/openai.d.ts +95 -0
- package/dist/llm/openai.js +274 -0
- package/dist/llm/openai.js.map +1 -0
- package/dist/llm/output/base.d.ts +12 -0
- package/dist/llm/output/base.js +45 -0
- package/dist/llm/output/base.js.map +1 -0
- package/dist/llm/output/index.d.ts +9 -0
- package/dist/llm/output/index.js +29 -0
- package/dist/llm/output/index.js.map +1 -0
- package/dist/llm/output/openai-chat.d.ts +13 -0
- package/dist/llm/output/openai-chat.js +51 -0
- package/dist/llm/output/openai-chat.js.map +1 -0
- package/dist/parser/_base.d.ts +33 -0
- package/dist/parser/_base.js +64 -0
- package/dist/parser/_base.js.map +1 -0
- package/dist/parser/_functions.d.ts +94 -0
- package/dist/parser/_functions.js +52 -0
- package/dist/parser/_functions.js.map +1 -0
- package/dist/parser/index.d.ts +14 -0
- package/dist/parser/index.js +31 -0
- package/dist/parser/index.js.map +1 -0
- package/dist/parser/parsers/BooleanParser.d.ts +8 -0
- package/dist/parser/parsers/BooleanParser.js +20 -0
- package/dist/parser/parsers/BooleanParser.js.map +1 -0
- package/dist/parser/parsers/CustomParser.d.ts +27 -0
- package/dist/parser/parsers/CustomParser.js +41 -0
- package/dist/parser/parsers/CustomParser.js.map +1 -0
- package/dist/parser/parsers/JsonParser.d.ts +7 -0
- package/dist/parser/parsers/JsonParser.js +15 -0
- package/dist/parser/parsers/JsonParser.js.map +1 -0
- package/dist/parser/parsers/ListToArrayParser.d.ts +5 -0
- package/dist/parser/parsers/ListToArrayParser.js +17 -0
- package/dist/parser/parsers/ListToArrayParser.js.map +1 -0
- package/dist/parser/parsers/ListToJsonParser.d.ts +7 -0
- package/dist/parser/parsers/ListToJsonParser.js +25 -0
- package/dist/parser/parsers/ListToJsonParser.js.map +1 -0
- package/dist/parser/parsers/ListToKeyValueParser.d.ts +14 -0
- package/dist/parser/parsers/ListToKeyValueParser.js +24 -0
- package/dist/parser/parsers/ListToKeyValueParser.js.map +1 -0
- package/dist/parser/parsers/MarkdownCodeBlock.d.ts +14 -0
- package/dist/parser/parsers/MarkdownCodeBlock.js +16 -0
- package/dist/parser/parsers/MarkdownCodeBlock.js.map +1 -0
- package/dist/parser/parsers/MarkdownCodeBlocks.d.ts +14 -0
- package/dist/parser/parsers/MarkdownCodeBlocks.js +25 -0
- package/dist/parser/parsers/MarkdownCodeBlocks.js.map +1 -0
- package/dist/parser/parsers/NumberParser.d.ts +8 -0
- package/dist/parser/parsers/NumberParser.js +16 -0
- package/dist/parser/parsers/NumberParser.js.map +1 -0
- package/dist/parser/parsers/ReplaceStringTemplateParser.d.ts +8 -0
- package/dist/parser/parsers/ReplaceStringTemplateParser.js +15 -0
- package/dist/parser/parsers/ReplaceStringTemplateParser.js.map +1 -0
- package/dist/parser/parsers/StringParser.d.ts +8 -0
- package/dist/parser/parsers/StringParser.js +17 -0
- package/dist/parser/parsers/StringParser.js.map +1 -0
- package/dist/plugins/callable/callable.d.ts +72 -0
- package/dist/plugins/callable/callable.js +107 -0
- package/dist/plugins/callable/callable.js.map +1 -0
- package/dist/plugins/callable/index.d.ts +26 -0
- package/dist/plugins/callable/index.js +28 -0
- package/dist/plugins/callable/index.js.map +1 -0
- package/dist/prompt/_base.d.ts +56 -0
- package/dist/prompt/_base.js +139 -0
- package/dist/prompt/_base.js.map +1 -0
- package/dist/prompt/_functions.d.ts +19 -0
- package/dist/prompt/_functions.js +24 -0
- package/dist/prompt/_functions.js.map +1 -0
- package/dist/prompt/chat.d.ts +68 -0
- package/dist/prompt/chat.js +136 -0
- package/dist/prompt/chat.js.map +1 -0
- package/dist/prompt/index.d.ts +4 -0
- package/dist/prompt/index.js +13 -0
- package/dist/prompt/index.js.map +1 -0
- package/dist/prompt/text.d.ts +9 -0
- package/dist/prompt/text.js +16 -0
- package/dist/prompt/text.js.map +1 -0
- package/dist/state/_base.d.ts +29 -0
- package/dist/state/_base.js +92 -0
- package/dist/state/_base.js.map +1 -0
- package/dist/state/_functions.d.ts +6 -0
- package/dist/state/_functions.js +19 -0
- package/dist/state/_functions.js.map +1 -0
- package/dist/state/dialogue.d.ts +17 -0
- package/dist/state/dialogue.js +66 -0
- package/dist/state/dialogue.js.map +1 -0
- package/dist/state/index.d.ts +4 -0
- package/dist/state/index.js +16 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/item.d.ts +23 -0
- package/dist/state/item.js +64 -0
- package/dist/state/item.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.js +18 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +18 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/modules/asyncCallWithTimeout.d.ts +1 -0
- package/dist/utils/modules/asyncCallWithTimeout.js +17 -0
- package/dist/utils/modules/asyncCallWithTimeout.js.map +1 -0
- package/dist/utils/modules/handlebars/helpers/index.d.ts +7 -0
- package/dist/utils/modules/handlebars/helpers/index.js +71 -0
- package/dist/utils/modules/handlebars/helpers/index.js.map +1 -0
- package/dist/utils/modules/handlebars/index.d.ts +2 -0
- package/dist/utils/modules/handlebars/index.js +105 -0
- package/dist/utils/modules/handlebars/index.js.map +1 -0
- package/dist/utils/modules/handlebars/templates/index.d.ts +9 -0
- package/dist/utils/modules/handlebars/templates/index.js +34 -0
- package/dist/utils/modules/handlebars/templates/index.js.map +1 -0
- package/dist/utils/modules/index.d.ts +42 -0
- package/dist/utils/modules/index.js +133 -0
- package/dist/utils/modules/index.js.map +1 -0
- package/dist/utils/modules/json-schema-filter.d.ts +1 -0
- package/dist/utils/modules/json-schema-filter.js +69 -0
- package/dist/utils/modules/json-schema-filter.js.map +1 -0
- package/dist/utils/modules/json.d.ts +3 -0
- package/dist/utils/modules/json.js +57 -0
- package/dist/utils/modules/json.js.map +1 -0
- package/dist/utils/modules/replaceTemplateString.d.ts +2 -0
- package/dist/utils/modules/replaceTemplateString.js +21 -0
- package/dist/utils/modules/replaceTemplateString.js.map +1 -0
- package/dist/vector/base.d.ts +11 -0
- package/dist/vector/base.js +23 -0
- package/dist/vector/base.js.map +1 -0
- package/dist/vector/index.d.ts +2 -0
- package/dist/vector/index.js +8 -0
- package/dist/vector/index.js.map +1 -0
- package/dist/vector/pinecone.d.ts +6 -0
- package/dist/vector/pinecone.js +22 -0
- package/dist/vector/pinecone.js.map +1 -0
- package/package.json +67 -0
- package/readme.md +12 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseLlmOutput } from "./base";
|
|
2
|
+
export declare class OutputOpenAIChat extends BaseLlmOutput {
|
|
3
|
+
constructor(result: any);
|
|
4
|
+
setResult(result: any, _attributes?: {}): void;
|
|
5
|
+
getResult(resultIndex?: number): any;
|
|
6
|
+
getResultContent(resultIndex?: number): any;
|
|
7
|
+
}
|
|
8
|
+
export declare class OutputOpenAICompletion extends BaseLlmOutput {
|
|
9
|
+
constructor(result: any);
|
|
10
|
+
setResult(result: any, _attributes?: {}): void;
|
|
11
|
+
getResult(resultIndex?: number): any;
|
|
12
|
+
getResultContent(resultIndex?: number): any;
|
|
13
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OutputOpenAICompletion = exports.OutputOpenAIChat = void 0;
|
|
4
|
+
const base_1 = require("./base");
|
|
5
|
+
class OutputOpenAIChat extends base_1.BaseLlmOutput {
|
|
6
|
+
constructor(result) {
|
|
7
|
+
super(result);
|
|
8
|
+
}
|
|
9
|
+
setResult(result, _attributes = {}) {
|
|
10
|
+
this.id = result.id;
|
|
11
|
+
this.name = result.model;
|
|
12
|
+
this.created = result.created;
|
|
13
|
+
this.usage = result.usage;
|
|
14
|
+
this.results = result.choices;
|
|
15
|
+
}
|
|
16
|
+
getResult(resultIndex = 0) {
|
|
17
|
+
if (resultIndex > -1 && resultIndex <= this.results.length) {
|
|
18
|
+
const result = this.results[resultIndex];
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
getResultContent(resultIndex = 0) {
|
|
23
|
+
const result = this.getResult(resultIndex);
|
|
24
|
+
return result?.message?.content;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.OutputOpenAIChat = OutputOpenAIChat;
|
|
28
|
+
class OutputOpenAICompletion extends base_1.BaseLlmOutput {
|
|
29
|
+
constructor(result) {
|
|
30
|
+
super(result);
|
|
31
|
+
}
|
|
32
|
+
setResult(result, _attributes = {}) {
|
|
33
|
+
this.id = result.id;
|
|
34
|
+
this.name = result.model;
|
|
35
|
+
this.created = result.created;
|
|
36
|
+
this.usage = result.usage;
|
|
37
|
+
this.results = result.choices;
|
|
38
|
+
}
|
|
39
|
+
getResult(resultIndex = 0) {
|
|
40
|
+
if (resultIndex > -1 && resultIndex <= this.results.length) {
|
|
41
|
+
const result = this.results[resultIndex];
|
|
42
|
+
return result;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
getResultContent(resultIndex = 0) {
|
|
46
|
+
const result = this.getResult(resultIndex);
|
|
47
|
+
return result?.text;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.OutputOpenAICompletion = OutputOpenAICompletion;
|
|
51
|
+
//# sourceMappingURL=openai-chat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-chat.js","sourceRoot":"src/","sources":["llm/output/openai-chat.ts"],"names":[],"mappings":";;;AAAA,iCAAuC;AAEvC,MAAa,gBAAiB,SAAQ,oBAAa;IACjD,YAAY,MAAW;QACrB,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,MAAW,EAAE,WAAW,GAAG,EAAE;QACrC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,SAAS,CAAC,WAAW,GAAG,CAAC;QACvB,IAAI,WAAW,GAAG,CAAC,CAAC,IAAI,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACzC,OAAO,MAAM,CAAC;SACf;IACH,CAAC;IACD,gBAAgB,CAAC,WAAW,GAAG,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC3C,OAAO,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;IAClC,CAAC;CACF;AAvBD,4CAuBC;AAGD,MAAa,sBAAuB,SAAQ,oBAAa;IACvD,YAAY,MAAW;QACrB,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,MAAW,EAAE,WAAW,GAAG,EAAE;QACrC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,SAAS,CAAC,WAAW,GAAG,CAAC;QACvB,IAAI,WAAW,GAAG,CAAC,CAAC,IAAI,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACzC,OAAO,MAAM,CAAC;SACf;IACH,CAAC;IACD,gBAAgB,CAAC,WAAW,GAAG,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC3C,OAAO,MAAM,EAAE,IAAI,CAAC;IACtB,CAAC;CACF;AAvBD,wDAuBC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { BaseParserOptions } from "../types";
|
|
2
|
+
import { JSONSchema7 } from "json-schema-to-ts";
|
|
3
|
+
export interface BaseParser<T> {
|
|
4
|
+
onParseError?(text: string, attributes?: Record<string, any>): any;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* BaseParser is an abstract class for parsing text and enforcing JSON schema on the parsed data.
|
|
8
|
+
*/
|
|
9
|
+
export declare abstract class BaseParser<T = any> {
|
|
10
|
+
name: string;
|
|
11
|
+
schema: JSONSchema7 | undefined;
|
|
12
|
+
options: {};
|
|
13
|
+
/**
|
|
14
|
+
* Create a new BaseParser.
|
|
15
|
+
* @param {string} name - The name of the parser.
|
|
16
|
+
* @param options - options
|
|
17
|
+
*/
|
|
18
|
+
constructor(name: string, options?: BaseParserOptions);
|
|
19
|
+
/**
|
|
20
|
+
* Parse the given text and return the parsed data.
|
|
21
|
+
* @abstract
|
|
22
|
+
* @param {string} text - The text to parse.
|
|
23
|
+
* @param {Record<string, any>} [attributes] - Optional attributes to use during parsing.
|
|
24
|
+
* @returns {T} The parsed data.
|
|
25
|
+
*/
|
|
26
|
+
abstract parse(text: string, attributes?: Record<string, any>): T;
|
|
27
|
+
/**
|
|
28
|
+
* Enforce the JSON schema on the given parsed data.
|
|
29
|
+
* @param {Record<string, any>} parsed - The parsed data.
|
|
30
|
+
* @returns The parsed data with schema enforced.
|
|
31
|
+
*/
|
|
32
|
+
enforceSchema(parsed: Record<string, any>): T;
|
|
33
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseParser = void 0;
|
|
4
|
+
const utils_1 = require("../utils");
|
|
5
|
+
var Validator = require("jsonschema").Validator;
|
|
6
|
+
var v = new Validator();
|
|
7
|
+
/**
|
|
8
|
+
* BaseParser is an abstract class for parsing text and enforcing JSON schema on the parsed data.
|
|
9
|
+
*/
|
|
10
|
+
class BaseParser {
|
|
11
|
+
/**
|
|
12
|
+
* Create a new BaseParser.
|
|
13
|
+
* @param {string} name - The name of the parser.
|
|
14
|
+
* @param options - options
|
|
15
|
+
*/
|
|
16
|
+
constructor(name, options) {
|
|
17
|
+
Object.defineProperty(this, "name", {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
configurable: true,
|
|
20
|
+
writable: true,
|
|
21
|
+
value: void 0
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(this, "schema", {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
configurable: true,
|
|
26
|
+
writable: true,
|
|
27
|
+
value: void 0
|
|
28
|
+
});
|
|
29
|
+
Object.defineProperty(this, "options", {
|
|
30
|
+
enumerable: true,
|
|
31
|
+
configurable: true,
|
|
32
|
+
writable: true,
|
|
33
|
+
value: {}
|
|
34
|
+
});
|
|
35
|
+
this.name = name;
|
|
36
|
+
if (options) {
|
|
37
|
+
const { schema, ...restOfOptions } = options;
|
|
38
|
+
this.options = restOfOptions;
|
|
39
|
+
if (schema) {
|
|
40
|
+
this.schema = schema;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Enforce the JSON schema on the given parsed data.
|
|
46
|
+
* @param {Record<string, any>} parsed - The parsed data.
|
|
47
|
+
* @returns The parsed data with schema enforced.
|
|
48
|
+
*/
|
|
49
|
+
enforceSchema(parsed) {
|
|
50
|
+
/* istanbul ignore next */
|
|
51
|
+
if (!this.schema || !parsed || typeof parsed !== "object") {
|
|
52
|
+
return parsed;
|
|
53
|
+
}
|
|
54
|
+
const { schema } = this;
|
|
55
|
+
let results = (0, utils_1.filterObjectOnSchema)(schema, parsed);
|
|
56
|
+
const validate = v.validate(results, this.schema);
|
|
57
|
+
if (validate.errors.length) {
|
|
58
|
+
throw new Error("schema error");
|
|
59
|
+
}
|
|
60
|
+
return results;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.BaseParser = BaseParser;
|
|
64
|
+
//# sourceMappingURL=_base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_base.js","sourceRoot":"src/","sources":["parser/_base.ts"],"names":[],"mappings":";;;AAEA,mCAA+C;AAC/C,IAAI,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC;AAChD,IAAI,CAAC,GAAG,IAAI,SAAS,EAAE,CAAC;AAMxB;;GAEG;AACH,MAAsB,UAAU;IAI9B;;;;OAIG;IACH,YAAY,IAAY,EAAE,OAA2B;QARrD;;;;;WAAoB;QACpB;;;;;WAAuC;QACvC;;;;mBAAiB,EAAE;WAAC;QAOlB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,OAAO,EAAE;YACX,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC;YAC7C,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC;YAE7B,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;aACtB;SACF;IACH,CAAC;IAWD;;;;OAIG;IAEH,aAAa,CAAC,MAA2B;QACvC,0BAA0B;QAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YACzD,OAAO,MAAW,CAAC;SACpB;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,IAAW,CAAC;QAE/B,IAAI,OAAO,GAAG,IAAA,4BAAoB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEnD,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAElD,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;SACjC;QAED,OAAO,OAAY,CAAC;IACtB,CAAC;CACF;AAtDD,gCAsDC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { JSONSchema } from "json-schema-to-ts";
|
|
2
|
+
import { BaseParserOptionsWithSchema, CreateParserType, ExecutorContext } from "../types";
|
|
3
|
+
import { StringParser } from "./parsers/StringParser";
|
|
4
|
+
import { BooleanParser } from "./parsers/BooleanParser";
|
|
5
|
+
import { NumberParser } from "./parsers/NumberParser";
|
|
6
|
+
import { JsonParser } from "./parsers/JsonParser";
|
|
7
|
+
import { ListToJsonParser } from "./parsers/ListToJsonParser";
|
|
8
|
+
import { ListToKeyValueParser } from "./parsers/ListToKeyValueParser";
|
|
9
|
+
import { CustomParser } from "./parsers/CustomParser";
|
|
10
|
+
import { ListToArrayParser } from "./parsers/ListToArrayParser";
|
|
11
|
+
import { ReplaceStringTemplateParser } from "./parsers/ReplaceStringTemplateParser";
|
|
12
|
+
import { MarkdownCodeBlockParser } from "./parsers/MarkdownCodeBlock";
|
|
13
|
+
import { MarkdownCodeBlocksParser } from "./parsers/MarkdownCodeBlocks";
|
|
14
|
+
/**
|
|
15
|
+
* Creates a parser based on the given type.
|
|
16
|
+
* @template S - JSON schema type.
|
|
17
|
+
* @param {Extract<CreateParserType, "listToKeyValue">} type - The type of parser to create.
|
|
18
|
+
* @returns An instance of ListToKeyValueParser.
|
|
19
|
+
*/
|
|
20
|
+
export declare function createParser<S extends JSONSchema | undefined = undefined>(type: Extract<CreateParserType, "markdownCodeBlocks">): MarkdownCodeBlocksParser;
|
|
21
|
+
/**
|
|
22
|
+
* Creates a parser based on the given type.
|
|
23
|
+
* @template S - JSON schema type.
|
|
24
|
+
* @param {Extract<CreateParserType, "listToKeyValue">} type - The type of parser to create.
|
|
25
|
+
* @returns An instance of ListToKeyValueParser.
|
|
26
|
+
*/
|
|
27
|
+
export declare function createParser<S extends JSONSchema | undefined = undefined>(type: Extract<CreateParserType, "markdownCodeBlock">): MarkdownCodeBlockParser;
|
|
28
|
+
/**
|
|
29
|
+
* Creates a parser based on the given type.
|
|
30
|
+
* @template S - JSON schema type.
|
|
31
|
+
* @param {Extract<CreateParserType, "listToKeyValue">} type - The type of parser to create.
|
|
32
|
+
* @returns An instance of ListToKeyValueParser.
|
|
33
|
+
*/
|
|
34
|
+
export declare function createParser<S extends JSONSchema | undefined = undefined>(type: Extract<CreateParserType, "listToKeyValue">): ListToKeyValueParser;
|
|
35
|
+
/**
|
|
36
|
+
* Creates a parser based on the given type and schema.
|
|
37
|
+
* @template S - JSON schema type.
|
|
38
|
+
* @param {Extract<CreateParserType, "listToJson">} type - The type of parser to create.
|
|
39
|
+
* @param {S} [schema] - The JSON schema.
|
|
40
|
+
* @returns An instance of ListToJsonParser.
|
|
41
|
+
*/
|
|
42
|
+
export declare function createParser<S extends JSONSchema | undefined = undefined>(type: Extract<CreateParserType, "listToJson">, options?: BaseParserOptionsWithSchema<S>): ListToJsonParser<S>;
|
|
43
|
+
/**
|
|
44
|
+
* Creates a parser based on the given type.
|
|
45
|
+
* @template S - JSON schema type.
|
|
46
|
+
* @param {Extract<CreateParserType, "listToArray">} type - The type of parser to create.
|
|
47
|
+
* @returns An instance of ListToArrayParser.
|
|
48
|
+
*/
|
|
49
|
+
export declare function createParser<S extends JSONSchema | undefined = undefined>(type: Extract<CreateParserType, "listToArray">): ListToArrayParser;
|
|
50
|
+
/**
|
|
51
|
+
* Creates a parser based on the given type.
|
|
52
|
+
* @template S - JSON schema type.
|
|
53
|
+
* @param {Extract<CreateParserType, "number">} type - The type of parser to create.
|
|
54
|
+
* @returns An instance of NumberParser.
|
|
55
|
+
*/
|
|
56
|
+
export declare function createParser<S extends JSONSchema | undefined = undefined>(type: Extract<CreateParserType, "number">): NumberParser;
|
|
57
|
+
/**
|
|
58
|
+
* Creates a parser based on the given type.
|
|
59
|
+
* @template S - JSON schema type.
|
|
60
|
+
* @param {Extract<CreateParserType, "number">} type - The type of parser to create.
|
|
61
|
+
* @returns An instance of NumberParser.
|
|
62
|
+
*/
|
|
63
|
+
export declare function createParser<S extends JSONSchema | undefined = undefined>(type: Extract<CreateParserType, "boolean">): BooleanParser;
|
|
64
|
+
/**
|
|
65
|
+
* Creates a parser based on the given type.
|
|
66
|
+
* @template S - JSON schema type.
|
|
67
|
+
* @param {Extract<CreateParserType, "replaceStringTemplate">} type - The type of parser to create.
|
|
68
|
+
* @returns An instance of ReplaceStringTemplateParser.
|
|
69
|
+
*/
|
|
70
|
+
export declare function createParser<S extends JSONSchema | undefined = undefined>(type: Extract<CreateParserType, "replaceStringTemplate">): ReplaceStringTemplateParser;
|
|
71
|
+
/**
|
|
72
|
+
* Creates a parser based on the given type and schema.
|
|
73
|
+
* @template S - JSON schema type.
|
|
74
|
+
* @param {Extract<CreateParserType, "json">} type - The type of parser to create.
|
|
75
|
+
* @param {S} [schema] - The JSON schema.
|
|
76
|
+
* @returns An instance of JsonParser.
|
|
77
|
+
*/
|
|
78
|
+
export declare function createParser<S extends JSONSchema | undefined = undefined>(type: Extract<CreateParserType, "json">, options?: BaseParserOptionsWithSchema<S>): JsonParser<S>;
|
|
79
|
+
/**
|
|
80
|
+
* Creates a parser based on the given type.
|
|
81
|
+
* @template S - JSON schema type.
|
|
82
|
+
* @param {Extract<CreateParserType, "string">} type - The type of parser to create.
|
|
83
|
+
* @returns An instance of StringParser.
|
|
84
|
+
*/
|
|
85
|
+
export declare function createParser<S extends JSONSchema | undefined = undefined>(type: Extract<CreateParserType, "string">): StringParser;
|
|
86
|
+
/**
|
|
87
|
+
* Creates a default string parser if type defined
|
|
88
|
+
* @template S - JSON schema type.
|
|
89
|
+
* @param {Extract<CreateParserType, "string">} type - The type of parser to create.
|
|
90
|
+
* @returns An instance of StringParser.
|
|
91
|
+
*/
|
|
92
|
+
export declare function createParser<S extends JSONSchema | undefined = undefined>(type?: undefined): StringParser;
|
|
93
|
+
export declare function createParser<S extends JSONSchema | undefined = undefined>(type: Extract<CreateParserType, "json" | "string" | "number" | "boolean" | "listToArray" | "listToKeyValue" | "replaceStringTemplate" | "listToJson" | "markdownCodeBlocks" | "markdownCodeBlock">, options?: BaseParserOptionsWithSchema<S>): JsonParser<S> | StringParser | NumberParser | BooleanParser | ListToArrayParser | ListToKeyValueParser | ReplaceStringTemplateParser | MarkdownCodeBlockParser | MarkdownCodeBlocksParser | ListToJsonParser<S>;
|
|
94
|
+
export declare function createCustomParser<T>(name: string, parserFn: (text: string, inputValues: ExecutorContext<any, any>) => T): CustomParser<T, [text: string, inputValues: ExecutorContext<any, any, Record<string, any>>]>;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createCustomParser = exports.createParser = void 0;
|
|
4
|
+
const StringParser_1 = require("./parsers/StringParser");
|
|
5
|
+
const BooleanParser_1 = require("./parsers/BooleanParser");
|
|
6
|
+
const NumberParser_1 = require("./parsers/NumberParser");
|
|
7
|
+
const JsonParser_1 = require("./parsers/JsonParser");
|
|
8
|
+
const ListToJsonParser_1 = require("./parsers/ListToJsonParser");
|
|
9
|
+
const ListToKeyValueParser_1 = require("./parsers/ListToKeyValueParser");
|
|
10
|
+
const CustomParser_1 = require("./parsers/CustomParser");
|
|
11
|
+
const ListToArrayParser_1 = require("./parsers/ListToArrayParser");
|
|
12
|
+
const ReplaceStringTemplateParser_1 = require("./parsers/ReplaceStringTemplateParser");
|
|
13
|
+
const MarkdownCodeBlock_1 = require("./parsers/MarkdownCodeBlock");
|
|
14
|
+
const MarkdownCodeBlocks_1 = require("./parsers/MarkdownCodeBlocks");
|
|
15
|
+
/**
|
|
16
|
+
* Creates a parser based on the given type and schema.
|
|
17
|
+
* @template S - JSON schema type.
|
|
18
|
+
* @param type - The type of parser to create.
|
|
19
|
+
* @param options - The parser options.
|
|
20
|
+
* @returns An instance of the specified parser.
|
|
21
|
+
*/
|
|
22
|
+
function createParser(type, options) {
|
|
23
|
+
switch (type) {
|
|
24
|
+
case "markdownCodeBlocks":
|
|
25
|
+
return new MarkdownCodeBlocks_1.MarkdownCodeBlocksParser();
|
|
26
|
+
case "markdownCodeBlock":
|
|
27
|
+
return new MarkdownCodeBlock_1.MarkdownCodeBlockParser();
|
|
28
|
+
case "json":
|
|
29
|
+
return new JsonParser_1.JsonParser(options);
|
|
30
|
+
case "listToArray":
|
|
31
|
+
return new ListToArrayParser_1.ListToArrayParser();
|
|
32
|
+
case "listToJson":
|
|
33
|
+
return new ListToJsonParser_1.ListToJsonParser(options);
|
|
34
|
+
case "listToKeyValue":
|
|
35
|
+
return new ListToKeyValueParser_1.ListToKeyValueParser();
|
|
36
|
+
case "replaceStringTemplate":
|
|
37
|
+
return new ReplaceStringTemplateParser_1.ReplaceStringTemplateParser();
|
|
38
|
+
case "boolean":
|
|
39
|
+
return new BooleanParser_1.BooleanParser();
|
|
40
|
+
case "number":
|
|
41
|
+
return new NumberParser_1.NumberParser();
|
|
42
|
+
case "string":
|
|
43
|
+
default:
|
|
44
|
+
return new StringParser_1.StringParser();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.createParser = createParser;
|
|
48
|
+
function createCustomParser(name, parserFn) {
|
|
49
|
+
return new CustomParser_1.CustomParser(name, parserFn);
|
|
50
|
+
}
|
|
51
|
+
exports.createCustomParser = createCustomParser;
|
|
52
|
+
//# sourceMappingURL=_functions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_functions.js","sourceRoot":"src/","sources":["parser/_functions.ts"],"names":[],"mappings":";;;AAMA,yDAAsD;AACtD,2DAAwD;AACxD,yDAAsD;AACtD,qDAAkD;AAClD,iEAA8D;AAC9D,yEAAsE;AACtE,yDAAsD;AACtD,mEAAgE;AAChE,uFAAoF;AACpF,mEAAsE;AACtE,qEAAwE;AA8IxE;;;;;;GAMG;AACH,SAAgB,YAAY,CAC1B,IAYC,EACD,OAAwC;IAYxC,QAAQ,IAAI,EAAE;QACZ,KAAK,oBAAoB;YACvB,OAAO,IAAI,6CAAwB,EAAE,CAAC;QACxC,KAAK,mBAAmB;YACtB,OAAO,IAAI,2CAAuB,EAAE,CAAC;QACvC,KAAK,MAAM;YACT,OAAO,IAAI,uBAAU,CAAC,OAAO,CAAC,CAAC;QACjC,KAAK,aAAa;YAChB,OAAO,IAAI,qCAAiB,EAAE,CAAC;QACjC,KAAK,YAAY;YACf,OAAO,IAAI,mCAAgB,CAAC,OAAO,CAAC,CAAC;QACvC,KAAK,gBAAgB;YACnB,OAAO,IAAI,2CAAoB,EAAE,CAAC;QACpC,KAAK,uBAAuB;YAC1B,OAAO,IAAI,yDAA2B,EAAE,CAAC;QAC3C,KAAK,SAAS;YACZ,OAAO,IAAI,6BAAa,EAAE,CAAC;QAC7B,KAAK,QAAQ;YACX,OAAO,IAAI,2BAAY,EAAE,CAAC;QAC5B,KAAK,QAAQ,CAAC;QACd;YACE,OAAO,IAAI,2BAAY,EAAE,CAAC;KAC7B;AACH,CAAC;AAjDD,oCAiDC;AAED,SAAgB,kBAAkB,CAChC,IAAY,EACZ,QAAqE;IAErE,OAAO,IAAI,2BAAY,CAGrB,IAAI,EAAE,QAAQ,CAAC,CAAC;AACpB,CAAC;AARD,gDAQC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseParser } from "./_base";
|
|
2
|
+
import { StringParser } from "./parsers/StringParser";
|
|
3
|
+
import { BooleanParser } from "./parsers/BooleanParser";
|
|
4
|
+
import { NumberParser } from "./parsers/NumberParser";
|
|
5
|
+
import { JsonParser } from "./parsers/JsonParser";
|
|
6
|
+
import { ListToJsonParser } from "./parsers/ListToJsonParser";
|
|
7
|
+
import { ListToKeyValueParser } from "./parsers/ListToKeyValueParser";
|
|
8
|
+
import { CustomParser } from "./parsers/CustomParser";
|
|
9
|
+
import { ListToArrayParser } from "./parsers/ListToArrayParser";
|
|
10
|
+
import { ReplaceStringTemplateParser } from "./parsers/ReplaceStringTemplateParser";
|
|
11
|
+
import { MarkdownCodeBlockParser } from "./parsers/MarkdownCodeBlock";
|
|
12
|
+
import { MarkdownCodeBlocksParser } from "./parsers/MarkdownCodeBlocks";
|
|
13
|
+
import { createCustomParser, createParser } from "./_functions";
|
|
14
|
+
export { BaseParser, BooleanParser, StringParser, NumberParser, JsonParser, ListToJsonParser, ListToKeyValueParser, ListToArrayParser, ReplaceStringTemplateParser, MarkdownCodeBlockParser, MarkdownCodeBlocksParser, CustomParser, createParser, createCustomParser, };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createCustomParser = exports.createParser = exports.CustomParser = exports.MarkdownCodeBlocksParser = exports.MarkdownCodeBlockParser = exports.ReplaceStringTemplateParser = exports.ListToArrayParser = exports.ListToKeyValueParser = exports.ListToJsonParser = exports.JsonParser = exports.NumberParser = exports.StringParser = exports.BooleanParser = exports.BaseParser = void 0;
|
|
4
|
+
const _base_1 = require("./_base");
|
|
5
|
+
Object.defineProperty(exports, "BaseParser", { enumerable: true, get: function () { return _base_1.BaseParser; } });
|
|
6
|
+
const StringParser_1 = require("./parsers/StringParser");
|
|
7
|
+
Object.defineProperty(exports, "StringParser", { enumerable: true, get: function () { return StringParser_1.StringParser; } });
|
|
8
|
+
const BooleanParser_1 = require("./parsers/BooleanParser");
|
|
9
|
+
Object.defineProperty(exports, "BooleanParser", { enumerable: true, get: function () { return BooleanParser_1.BooleanParser; } });
|
|
10
|
+
const NumberParser_1 = require("./parsers/NumberParser");
|
|
11
|
+
Object.defineProperty(exports, "NumberParser", { enumerable: true, get: function () { return NumberParser_1.NumberParser; } });
|
|
12
|
+
const JsonParser_1 = require("./parsers/JsonParser");
|
|
13
|
+
Object.defineProperty(exports, "JsonParser", { enumerable: true, get: function () { return JsonParser_1.JsonParser; } });
|
|
14
|
+
const ListToJsonParser_1 = require("./parsers/ListToJsonParser");
|
|
15
|
+
Object.defineProperty(exports, "ListToJsonParser", { enumerable: true, get: function () { return ListToJsonParser_1.ListToJsonParser; } });
|
|
16
|
+
const ListToKeyValueParser_1 = require("./parsers/ListToKeyValueParser");
|
|
17
|
+
Object.defineProperty(exports, "ListToKeyValueParser", { enumerable: true, get: function () { return ListToKeyValueParser_1.ListToKeyValueParser; } });
|
|
18
|
+
const CustomParser_1 = require("./parsers/CustomParser");
|
|
19
|
+
Object.defineProperty(exports, "CustomParser", { enumerable: true, get: function () { return CustomParser_1.CustomParser; } });
|
|
20
|
+
const ListToArrayParser_1 = require("./parsers/ListToArrayParser");
|
|
21
|
+
Object.defineProperty(exports, "ListToArrayParser", { enumerable: true, get: function () { return ListToArrayParser_1.ListToArrayParser; } });
|
|
22
|
+
const ReplaceStringTemplateParser_1 = require("./parsers/ReplaceStringTemplateParser");
|
|
23
|
+
Object.defineProperty(exports, "ReplaceStringTemplateParser", { enumerable: true, get: function () { return ReplaceStringTemplateParser_1.ReplaceStringTemplateParser; } });
|
|
24
|
+
const MarkdownCodeBlock_1 = require("./parsers/MarkdownCodeBlock");
|
|
25
|
+
Object.defineProperty(exports, "MarkdownCodeBlockParser", { enumerable: true, get: function () { return MarkdownCodeBlock_1.MarkdownCodeBlockParser; } });
|
|
26
|
+
const MarkdownCodeBlocks_1 = require("./parsers/MarkdownCodeBlocks");
|
|
27
|
+
Object.defineProperty(exports, "MarkdownCodeBlocksParser", { enumerable: true, get: function () { return MarkdownCodeBlocks_1.MarkdownCodeBlocksParser; } });
|
|
28
|
+
const _functions_1 = require("./_functions");
|
|
29
|
+
Object.defineProperty(exports, "createCustomParser", { enumerable: true, get: function () { return _functions_1.createCustomParser; } });
|
|
30
|
+
Object.defineProperty(exports, "createParser", { enumerable: true, get: function () { return _functions_1.createParser; } });
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"src/","sources":["parser/index.ts"],"names":[],"mappings":";;;AAAA,mCAAqC;AAenC,2FAfO,kBAAU,OAeP;AAdZ,yDAAsD;AAgBpD,6FAhBO,2BAAY,OAgBP;AAfd,2DAAwD;AActD,8FAdO,6BAAa,OAcP;AAbf,yDAAsD;AAepD,6FAfO,2BAAY,OAeP;AAdd,qDAAkD;AAehD,2FAfO,uBAAU,OAeP;AAdZ,iEAA8D;AAe5D,iGAfO,mCAAgB,OAeP;AAdlB,yEAAsE;AAepE,qGAfO,2CAAoB,OAeP;AAdtB,yDAAsD;AAmBpD,6FAnBO,2BAAY,OAmBP;AAlBd,mEAAgE;AAc9D,kGAdO,qCAAiB,OAcP;AAbnB,uFAAoF;AAclF,4GAdO,yDAA2B,OAcP;AAb7B,mEAAsE;AAcpE,wGAdO,2CAAuB,OAcP;AAbzB,qEAAwE;AActE,yGAdO,6CAAwB,OAcP;AAb1B,6CAAgE;AAgB9D,mGAhBO,+BAAkB,OAgBP;AADlB,6FAf2B,yBAAY,OAe3B"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BaseParser } from "../_base";
|
|
2
|
+
import { BaseParserOptions } from "../../types";
|
|
3
|
+
export interface BooleanParserOptions extends BaseParserOptions {
|
|
4
|
+
}
|
|
5
|
+
export declare class BooleanParser extends BaseParser<boolean> {
|
|
6
|
+
constructor(options?: BooleanParserOptions);
|
|
7
|
+
parse(text: string): boolean;
|
|
8
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BooleanParser = void 0;
|
|
4
|
+
const utils_1 = require("../../utils");
|
|
5
|
+
const _base_1 = require("../_base");
|
|
6
|
+
class BooleanParser extends _base_1.BaseParser {
|
|
7
|
+
constructor(options) {
|
|
8
|
+
super("boolean", options);
|
|
9
|
+
}
|
|
10
|
+
parse(text) {
|
|
11
|
+
(0, utils_1.assert)(typeof text === "string", `Invalid input. Expected string. Received ${typeof text}.`);
|
|
12
|
+
const clean = text.toLowerCase().trim();
|
|
13
|
+
if (clean === "true") {
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.BooleanParser = BooleanParser;
|
|
20
|
+
//# sourceMappingURL=BooleanParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BooleanParser.js","sourceRoot":"src/","sources":["parser/parsers/BooleanParser.ts"],"names":[],"mappings":";;;AAAA,mCAAiC;AACjC,oCAAsC;AAKtC,MAAa,aAAc,SAAQ,kBAAmB;IACpD,YAAY,OAA8B;QACxC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC;IACD,KAAK,CAAC,IAAY;QAChB,IAAA,cAAM,EACJ,OAAO,IAAI,KAAK,QAAQ,EACxB,4CAA4C,OAAO,IAAI,GAAG,CAC3D,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,KAAK,KAAK,MAAM,EAAE;YACpB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAfD,sCAeC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ExecutorContext } from "../../interfaces";
|
|
2
|
+
import { BaseParser } from "../_base";
|
|
3
|
+
/**
|
|
4
|
+
* CustomParser class, extending the BaseParser class.
|
|
5
|
+
* @template T The type of the parsed value
|
|
6
|
+
* @extends {BaseParser<T>}
|
|
7
|
+
*/
|
|
8
|
+
export declare class CustomParser<T, A> extends BaseParser<T> {
|
|
9
|
+
/**
|
|
10
|
+
* Custom parsing function.
|
|
11
|
+
* @type {any}
|
|
12
|
+
*/
|
|
13
|
+
parserFn: (text: string, inputValues: ExecutorContext<A, T>) => T;
|
|
14
|
+
/**
|
|
15
|
+
* Creates a new CustomParser instance.
|
|
16
|
+
* @param {string} name The name of the parser.
|
|
17
|
+
* @param {any} parserFn The custom parsing function.
|
|
18
|
+
*/
|
|
19
|
+
constructor(name: string, parserFn: (text: string, inputValues: ExecutorContext<A, T>) => T);
|
|
20
|
+
/**
|
|
21
|
+
* Parses the text using the custom parsing function.
|
|
22
|
+
* @param {string} text The text to be parsed.
|
|
23
|
+
* @param {any} inputValues Additional input values for the parser function.
|
|
24
|
+
* @returns {T} The parsed value.
|
|
25
|
+
*/
|
|
26
|
+
parse(text: string, inputValues: ExecutorContext<A, T>): T;
|
|
27
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CustomParser = void 0;
|
|
4
|
+
const _base_1 = require("../_base");
|
|
5
|
+
/**
|
|
6
|
+
* CustomParser class, extending the BaseParser class.
|
|
7
|
+
* @template T The type of the parsed value
|
|
8
|
+
* @extends {BaseParser<T>}
|
|
9
|
+
*/
|
|
10
|
+
class CustomParser extends _base_1.BaseParser {
|
|
11
|
+
/**
|
|
12
|
+
* Creates a new CustomParser instance.
|
|
13
|
+
* @param {string} name The name of the parser.
|
|
14
|
+
* @param {any} parserFn The custom parsing function.
|
|
15
|
+
*/
|
|
16
|
+
constructor(name, parserFn) {
|
|
17
|
+
super(name);
|
|
18
|
+
/**
|
|
19
|
+
* Custom parsing function.
|
|
20
|
+
* @type {any}
|
|
21
|
+
*/
|
|
22
|
+
Object.defineProperty(this, "parserFn", {
|
|
23
|
+
enumerable: true,
|
|
24
|
+
configurable: true,
|
|
25
|
+
writable: true,
|
|
26
|
+
value: void 0
|
|
27
|
+
});
|
|
28
|
+
this.parserFn = parserFn;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Parses the text using the custom parsing function.
|
|
32
|
+
* @param {string} text The text to be parsed.
|
|
33
|
+
* @param {any} inputValues Additional input values for the parser function.
|
|
34
|
+
* @returns {T} The parsed value.
|
|
35
|
+
*/
|
|
36
|
+
parse(text, inputValues) {
|
|
37
|
+
return this.parserFn.call(this, text, inputValues);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.CustomParser = CustomParser;
|
|
41
|
+
//# sourceMappingURL=CustomParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomParser.js","sourceRoot":"src/","sources":["parser/parsers/CustomParser.ts"],"names":[],"mappings":";;;AACA,oCAAsC;AAEtC;;;;GAIG;AACH,MAAa,YAAmB,SAAQ,kBAAa;IAMnD;;;;OAIG;IACH,YACE,IAAY,EACZ,QAAiE;QAEjE,KAAK,CAAC,IAAI,CAAC,CAAC;QAdd;;;WAGG;QACH;;;;;WAAyE;QAWvE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IACD;;;;;OAKG;IACH,KAAK,CAAC,IAAY,EAAE,WAAkC;QACpD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;CACF;AA3BD,oCA2BC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BaseParser } from "../_base";
|
|
2
|
+
import { FromSchema, JSONSchema } from "json-schema-to-ts";
|
|
3
|
+
import { BaseParserOptionsWithSchema } from "../../types";
|
|
4
|
+
export declare class JsonParser<S extends JSONSchema | undefined = undefined, T = S extends JSONSchema ? FromSchema<S> : Record<string, any>> extends BaseParser<T> {
|
|
5
|
+
constructor(options?: BaseParserOptionsWithSchema<S>);
|
|
6
|
+
parse(text: string): T;
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JsonParser = void 0;
|
|
4
|
+
const utils_1 = require("../../utils");
|
|
5
|
+
const _base_1 = require("../_base");
|
|
6
|
+
class JsonParser extends _base_1.BaseParser {
|
|
7
|
+
constructor(options) {
|
|
8
|
+
super("json", options);
|
|
9
|
+
}
|
|
10
|
+
parse(text) {
|
|
11
|
+
return (0, utils_1.maybeParseJSON)(text);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.JsonParser = JsonParser;
|
|
15
|
+
//# sourceMappingURL=JsonParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JsonParser.js","sourceRoot":"src/","sources":["parser/parsers/JsonParser.ts"],"names":[],"mappings":";;;AAAA,mCAAyC;AACzC,oCAAsC;AAItC,MAAa,UAGX,SAAQ,kBAAa;IACrB,YAAY,OAAwC;QAClD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,IAAY;QAChB,OAAO,IAAA,sBAAc,EAAI,IAAI,CAAC,CAAC;IACjC,CAAC;CACF;AAXD,gCAWC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ListToArrayParser = void 0;
|
|
4
|
+
const _base_1 = require("../_base");
|
|
5
|
+
class ListToArrayParser extends _base_1.BaseParser {
|
|
6
|
+
constructor() {
|
|
7
|
+
super("listToArray");
|
|
8
|
+
}
|
|
9
|
+
parse(text) {
|
|
10
|
+
const lines = text
|
|
11
|
+
.split("\n")
|
|
12
|
+
.map((s) => s.replace("- ", "").replace(/\'/g, "'"));
|
|
13
|
+
return lines;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.ListToArrayParser = ListToArrayParser;
|
|
17
|
+
//# sourceMappingURL=ListToArrayParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListToArrayParser.js","sourceRoot":"src/","sources":["parser/parsers/ListToArrayParser.ts"],"names":[],"mappings":";;;AAAA,oCAAsC;AAEtC,MAAa,iBAAkB,SAAQ,kBAAoB;IACzD;QACE,KAAK,CAAC,aAAa,CAAC,CAAC;IACvB,CAAC;IACD,KAAK,CAAC,IAAY;QAChB,MAAM,KAAK,GAAG,IAAI;aACf,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAVD,8CAUC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BaseParserOptionsWithSchema } from "../../types";
|
|
2
|
+
import { BaseParser } from "../_base";
|
|
3
|
+
import { FromSchema, JSONSchema } from "json-schema-to-ts";
|
|
4
|
+
export declare class ListToJsonParser<S extends JSONSchema | undefined = undefined, T = S extends JSONSchema ? FromSchema<S> : Record<string, any>> extends BaseParser<T> {
|
|
5
|
+
constructor(options?: BaseParserOptionsWithSchema<S>);
|
|
6
|
+
parse(text: string): T;
|
|
7
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ListToJsonParser = void 0;
|
|
4
|
+
const _base_1 = require("../_base");
|
|
5
|
+
class ListToJsonParser extends _base_1.BaseParser {
|
|
6
|
+
constructor(options) {
|
|
7
|
+
super("listToJson", options);
|
|
8
|
+
}
|
|
9
|
+
parse(text) {
|
|
10
|
+
const lines = text.split("\n");
|
|
11
|
+
const output = {};
|
|
12
|
+
lines.forEach((line) => {
|
|
13
|
+
const [key, value] = line.split(":");
|
|
14
|
+
if (value) {
|
|
15
|
+
output[key.trim().toLowerCase()] = value.trim();
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
if (this.schema) {
|
|
19
|
+
return this.enforceSchema(output);
|
|
20
|
+
}
|
|
21
|
+
return output;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.ListToJsonParser = ListToJsonParser;
|
|
25
|
+
//# sourceMappingURL=ListToJsonParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListToJsonParser.js","sourceRoot":"src/","sources":["parser/parsers/ListToJsonParser.ts"],"names":[],"mappings":";;;AACA,oCAAsC;AAGtC,MAAa,gBAGX,SAAQ,kBAAa;IACrB,YAAY,OAAwC;QAClD,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IACD,KAAK,CAAC,IAAY;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,KAAK,EAAE;gBACT,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;aACjD;QACH,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;SACnC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AArBD,4CAqBC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseParserOptions } from "../../types";
|
|
2
|
+
import { BaseParser } from "../_base";
|
|
3
|
+
export interface ListToKeyValueParserOptions extends BaseParserOptions {
|
|
4
|
+
}
|
|
5
|
+
export declare class ListToKeyValueParser extends BaseParser<Array<{
|
|
6
|
+
key: string;
|
|
7
|
+
value: string;
|
|
8
|
+
}>> {
|
|
9
|
+
constructor(options?: ListToKeyValueParserOptions);
|
|
10
|
+
parse(text: string): {
|
|
11
|
+
key: string;
|
|
12
|
+
value: string;
|
|
13
|
+
}[];
|
|
14
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ListToKeyValueParser = void 0;
|
|
4
|
+
const _base_1 = require("../_base");
|
|
5
|
+
class ListToKeyValueParser extends _base_1.BaseParser {
|
|
6
|
+
constructor(options) {
|
|
7
|
+
super("listToKeyValue", options);
|
|
8
|
+
}
|
|
9
|
+
parse(text) {
|
|
10
|
+
const lines = text
|
|
11
|
+
.split("\n")
|
|
12
|
+
.map((s) => s.replace("- ", "").replace(/\'/g, "'"));
|
|
13
|
+
let res = [];
|
|
14
|
+
for (const line of lines) {
|
|
15
|
+
const [key, value] = line.split(":");
|
|
16
|
+
if (key /** check more */ && value) {
|
|
17
|
+
res.push({ key: key?.trim(), value: value?.trim() });
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return res;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.ListToKeyValueParser = ListToKeyValueParser;
|
|
24
|
+
//# sourceMappingURL=ListToKeyValueParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListToKeyValueParser.js","sourceRoot":"src/","sources":["parser/parsers/ListToKeyValueParser.ts"],"names":[],"mappings":";;;AACA,oCAAsC;AAItC,MAAa,oBAAqB,SAAQ,kBAEzC;IACC,YAAY,OAAqC;QAC/C,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IACD,KAAK,CAAC,IAAY;QAChB,MAAM,KAAK,GAAG,IAAI;aACf,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QAEvD,IAAI,GAAG,GAA0C,EAAE,CAAC;QACpD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,GAAG,CAAC,iBAAiB,IAAI,KAAK,EAAE;gBAClC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;aACtD;SACF;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AApBD,oDAoBC"}
|