@jondotsoy/don 0.0.2 → 0.0.5
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/LICENSE +21 -0
- package/README.md +72 -373
- package/lib/esm/don.d.ts +10 -0
- package/lib/esm/don.d.ts.map +1 -0
- package/lib/esm/don.js +27 -0
- package/lib/esm/don.js.map +1 -0
- package/lib/esm/index.d.ts +1 -2
- package/lib/esm/index.d.ts.map +1 -1
- package/lib/esm/index.js +2 -2
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/v1/__utils__/key-syntax-kind.d.ts +2 -0
- package/lib/esm/v1/__utils__/key-syntax-kind.d.ts.map +1 -0
- package/lib/esm/v1/__utils__/key-syntax-kind.js +23 -0
- package/lib/esm/v1/__utils__/key-syntax-kind.js.map +1 -0
- package/lib/esm/v1/__utils__/normalize.d.ts +3 -0
- package/lib/esm/v1/__utils__/normalize.d.ts.map +1 -0
- package/lib/esm/v1/__utils__/normalize.js +10 -0
- package/lib/esm/v1/__utils__/normalize.js.map +1 -0
- package/lib/esm/v1/__utils__/t.d.ts +15 -0
- package/lib/esm/v1/__utils__/t.d.ts.map +1 -0
- package/lib/esm/v1/__utils__/t.js +32 -0
- package/lib/esm/v1/__utils__/t.js.map +1 -0
- package/lib/esm/v1/__utils__/to-token-snapshot.d.ts +7 -0
- package/lib/esm/v1/__utils__/to-token-snapshot.d.ts.map +1 -0
- package/lib/esm/v1/__utils__/to-token-snapshot.js +162 -0
- package/lib/esm/v1/__utils__/to-token-snapshot.js.map +1 -0
- package/lib/esm/v1/compiler/directive-node.d.ts +26 -0
- package/lib/esm/v1/compiler/directive-node.d.ts.map +1 -0
- package/lib/esm/v1/compiler/directive-node.js +48 -0
- package/lib/esm/v1/compiler/directive-node.js.map +1 -0
- package/lib/esm/v1/compiler/lexema-encode.d.ts +15 -0
- package/lib/esm/v1/compiler/lexema-encode.d.ts.map +1 -0
- package/lib/esm/v1/compiler/lexema-encode.js +22 -0
- package/lib/esm/v1/compiler/lexema-encode.js.map +1 -0
- package/lib/esm/v1/compiler/lexema.d.ts +10 -0
- package/lib/esm/v1/compiler/lexema.d.ts.map +1 -0
- package/lib/esm/v1/compiler/lexema.js +26 -0
- package/lib/esm/v1/compiler/lexema.js.map +1 -0
- package/lib/esm/v1/compiler/part-set-encode.d.ts +6 -0
- package/lib/esm/v1/compiler/part-set-encode.d.ts.map +1 -0
- package/lib/esm/v1/compiler/part-set-encode.js +15 -0
- package/lib/esm/v1/compiler/part-set-encode.js.map +1 -0
- package/lib/esm/v1/compiler/part-set.d.ts +6 -0
- package/lib/esm/v1/compiler/part-set.d.ts.map +1 -0
- package/lib/esm/v1/compiler/part-set.js +7 -0
- package/lib/esm/v1/compiler/part-set.js.map +1 -0
- package/lib/esm/v1/compiler/part.d.ts +31 -0
- package/lib/esm/v1/compiler/part.d.ts.map +1 -0
- package/lib/esm/v1/compiler/part.js +109 -0
- package/lib/esm/v1/compiler/part.js.map +1 -0
- package/lib/esm/v1/compiler/partial-span.d.ts +6 -0
- package/lib/esm/v1/compiler/partial-span.d.ts.map +1 -0
- package/lib/esm/v1/compiler/partial-span.js +9 -0
- package/lib/esm/v1/compiler/partial-span.js.map +1 -0
- package/lib/esm/v1/compiler/span.d.ts +9 -0
- package/lib/esm/v1/compiler/span.d.ts.map +1 -0
- package/lib/esm/v1/compiler/span.js +13 -0
- package/lib/esm/v1/compiler/span.js.map +1 -0
- package/lib/esm/v1/compiler/syntax-encode.d.ts +9 -0
- package/lib/esm/v1/compiler/syntax-encode.d.ts.map +1 -0
- package/lib/esm/v1/compiler/syntax-encode.js +160 -0
- package/lib/esm/v1/compiler/syntax-encode.js.map +1 -0
- package/lib/esm/v1/compiler/token.d.ts +59 -0
- package/lib/esm/v1/compiler/token.d.ts.map +1 -0
- package/lib/esm/v1/compiler/token.js +320 -0
- package/lib/esm/v1/compiler/token.js.map +1 -0
- package/lib/esm/v1/types/location.d.ts +6 -0
- package/lib/esm/v1/types/location.d.ts.map +1 -0
- package/lib/esm/v1/types/location.js +2 -0
- package/lib/esm/v1/types/location.js.map +1 -0
- package/lib/esm/v1/types/u8.d.ts +2 -0
- package/lib/esm/v1/types/u8.d.ts.map +1 -0
- package/lib/esm/v1/types/u8.js +2 -0
- package/lib/esm/v1/types/u8.js.map +1 -0
- package/lib/esm/v1/utils/build-logger.d.ts +11 -0
- package/lib/esm/v1/utils/build-logger.d.ts.map +1 -0
- package/lib/esm/v1/utils/build-logger.js +20 -0
- package/lib/esm/v1/utils/build-logger.js.map +1 -0
- package/lib/esm/v1/utils/charset-tools.d.ts +15 -0
- package/lib/esm/v1/utils/charset-tools.d.ts.map +1 -0
- package/lib/esm/v1/utils/charset-tools.js +37 -0
- package/lib/esm/v1/utils/charset-tools.js.map +1 -0
- package/lib/esm/v1/utils/charset.d.ts +34 -0
- package/lib/esm/v1/utils/charset.d.ts.map +1 -0
- package/lib/esm/v1/utils/charset.js +52 -0
- package/lib/esm/v1/utils/charset.js.map +1 -0
- package/lib/esm/v1/utils/parts-match.d.ts +12 -0
- package/lib/esm/v1/utils/parts-match.d.ts.map +1 -0
- package/lib/esm/v1/utils/parts-match.js +30 -0
- package/lib/esm/v1/utils/parts-match.js.map +1 -0
- package/lib/esm/v1/utils/syntax-kind.d.ts +22 -0
- package/lib/esm/v1/utils/syntax-kind.d.ts.map +1 -0
- package/lib/esm/v1/utils/syntax-kind.js +28 -0
- package/lib/esm/v1/utils/syntax-kind.js.map +1 -0
- package/lib/esm/v1/utils/take-while.d.ts +53 -0
- package/lib/esm/v1/utils/take-while.d.ts.map +1 -0
- package/lib/esm/v1/utils/take-while.js +69 -0
- package/lib/esm/v1/utils/take-while.js.map +1 -0
- package/package.json +5 -1
- package/lib/esm/chunk.d.ts +0 -28
- package/lib/esm/chunk.d.ts.map +0 -1
- package/lib/esm/chunk.js +0 -84
- package/lib/esm/chunk.js.map +0 -1
- package/lib/esm/document.d.ts +0 -20
- package/lib/esm/document.d.ts.map +0 -1
- package/lib/esm/document.js +0 -138
- package/lib/esm/document.js.map +0 -1
- package/lib/esm/lexer.d.ts +0 -38
- package/lib/esm/lexer.d.ts.map +0 -1
- package/lib/esm/lexer.js +0 -600
- package/lib/esm/lexer.js.map +0 -1
- package/lib/esm/utils/inspect.d.ts +0 -7
- package/lib/esm/utils/inspect.d.ts.map +0 -1
- package/lib/esm/utils/inspect.js +0 -39
- package/lib/esm/utils/inspect.js.map +0 -1
package/lib/esm/document.js
DELETED
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
import { LexerEncoder, Lexema } from "./lexer";
|
|
2
|
-
export class Directive {
|
|
3
|
-
name;
|
|
4
|
-
args;
|
|
5
|
-
children;
|
|
6
|
-
constructor(name, args, children) {
|
|
7
|
-
this.name = name;
|
|
8
|
-
this.args = args;
|
|
9
|
-
this.children = children;
|
|
10
|
-
}
|
|
11
|
-
static isDirective(doc) {
|
|
12
|
-
return doc instanceof Directive;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
export class Document {
|
|
16
|
-
children;
|
|
17
|
-
constructor(children) {
|
|
18
|
-
this.children = children;
|
|
19
|
-
}
|
|
20
|
-
static isDocument(doc) {
|
|
21
|
-
return doc instanceof Document;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
export class DocumentEncoder {
|
|
25
|
-
encode(input) {
|
|
26
|
-
const lexema = input instanceof Lexema ? input : new LexerEncoder().encode(input);
|
|
27
|
-
const tokens = Array.from(lexema.tokens);
|
|
28
|
-
// Segmentar por grupos de brackets
|
|
29
|
-
const groups = this.segmentByBrackets(tokens);
|
|
30
|
-
// Parsear las directivas
|
|
31
|
-
const directives = this.parseDirectives(tokens, 0, tokens.length, groups);
|
|
32
|
-
return new Document(directives);
|
|
33
|
-
}
|
|
34
|
-
segmentByBrackets(tokens) {
|
|
35
|
-
const groups = [];
|
|
36
|
-
const stack = [];
|
|
37
|
-
for (let i = 0; i < tokens.length; i++) {
|
|
38
|
-
const token = tokens[i];
|
|
39
|
-
if (!token || token.type !== "punctuator")
|
|
40
|
-
continue;
|
|
41
|
-
const value = token.raw;
|
|
42
|
-
if (value === "{") {
|
|
43
|
-
stack.push({ type: "braces", openIndex: i });
|
|
44
|
-
}
|
|
45
|
-
else if (value === "}") {
|
|
46
|
-
const open = stack.pop();
|
|
47
|
-
if (open && open.type === "braces") {
|
|
48
|
-
groups.push({
|
|
49
|
-
openIndex: open.openIndex,
|
|
50
|
-
closeIndex: i,
|
|
51
|
-
type: "braces",
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
else if (value === "[") {
|
|
56
|
-
stack.push({ type: "brackets", openIndex: i });
|
|
57
|
-
}
|
|
58
|
-
else if (value === "]") {
|
|
59
|
-
const open = stack.pop();
|
|
60
|
-
if (open && open.type === "brackets") {
|
|
61
|
-
groups.push({
|
|
62
|
-
openIndex: open.openIndex,
|
|
63
|
-
closeIndex: i,
|
|
64
|
-
type: "brackets",
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
return groups;
|
|
70
|
-
}
|
|
71
|
-
parseDirectives(tokens, startIndex, endIndex, groups) {
|
|
72
|
-
const directives = [];
|
|
73
|
-
let i = startIndex;
|
|
74
|
-
while (i < endIndex) {
|
|
75
|
-
const token = tokens[i];
|
|
76
|
-
if (!token)
|
|
77
|
-
break;
|
|
78
|
-
// Skip newlines
|
|
79
|
-
if (token.type === "newline") {
|
|
80
|
-
i++;
|
|
81
|
-
continue;
|
|
82
|
-
}
|
|
83
|
-
// Skip closing brackets (ya fueron procesados)
|
|
84
|
-
if (token.type === "punctuator" &&
|
|
85
|
-
(token.raw === "}" || token.raw === "]")) {
|
|
86
|
-
break;
|
|
87
|
-
}
|
|
88
|
-
// Parse directive: only keyword, string, number, or boolean can be directive names
|
|
89
|
-
if (token.type === "keyword" ||
|
|
90
|
-
token.type === "string" ||
|
|
91
|
-
token.type === "number" ||
|
|
92
|
-
token.type === "boolean") {
|
|
93
|
-
const name = token;
|
|
94
|
-
const args = [];
|
|
95
|
-
i++;
|
|
96
|
-
// Collect arguments until newline, block start, or end
|
|
97
|
-
while (i < endIndex) {
|
|
98
|
-
const argToken = tokens[i];
|
|
99
|
-
if (!argToken ||
|
|
100
|
-
argToken.type === "newline" ||
|
|
101
|
-
(argToken.type === "punctuator" && argToken.raw === "{") ||
|
|
102
|
-
(argToken.type === "punctuator" && argToken.raw === "}")) {
|
|
103
|
-
break;
|
|
104
|
-
}
|
|
105
|
-
args.push(argToken);
|
|
106
|
-
i++;
|
|
107
|
-
// If we just added a heredoc, stop collecting arguments
|
|
108
|
-
// because heredoc already includes its own newline
|
|
109
|
-
if (argToken.type === "heredoc") {
|
|
110
|
-
break;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
// Check for block - buscar el grupo que empieza en la posición actual
|
|
114
|
-
let children = [];
|
|
115
|
-
const group = groups.find((g) => g.openIndex === i && g.type === "braces");
|
|
116
|
-
if (group) {
|
|
117
|
-
// Parsear recursivamente el contenido del grupo
|
|
118
|
-
children = this.parseDirectives(tokens, group.openIndex + 1, group.closeIndex, groups);
|
|
119
|
-
i = group.closeIndex + 1; // Saltar al final del grupo
|
|
120
|
-
// After a block, there should be no more tokens before newline
|
|
121
|
-
if (i < endIndex) {
|
|
122
|
-
const nextToken = tokens[i];
|
|
123
|
-
if (nextToken && nextToken.type !== "newline") {
|
|
124
|
-
throw new Error(`Syntax error: Unexpected token after block. Expected newline but got ${nextToken.type} "${nextToken.raw}"`);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
directives.push(new Directive(name, args, children));
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
// Invalid directive name - throw syntax error
|
|
132
|
-
throw new Error(`Syntax error: Invalid directive name. Expected keyword, string, number, or boolean, but got ${token.type} "${token.raw}"`);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
return directives;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
//# sourceMappingURL=document.js.map
|
package/lib/esm/document.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/document.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/lexer.d.ts
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { ChunkList } from "./chunk";
|
|
2
|
-
export declare class Token {
|
|
3
|
-
readonly type: string;
|
|
4
|
-
readonly raw: string;
|
|
5
|
-
constructor(type: string, raw: string);
|
|
6
|
-
}
|
|
7
|
-
export declare class Lexema {
|
|
8
|
-
readonly length: number;
|
|
9
|
-
readonly tokens: Iterable<Token>;
|
|
10
|
-
constructor(length: number, tokens: Iterable<Token>);
|
|
11
|
-
}
|
|
12
|
-
declare class MatchTokenExpressionResult {
|
|
13
|
-
readonly matched: ChunkList;
|
|
14
|
-
readonly length: number;
|
|
15
|
-
constructor(matched: ChunkList, length: number);
|
|
16
|
-
}
|
|
17
|
-
export declare class TokenExpression {
|
|
18
|
-
readonly test: (chunks: ChunkList, fromIndex: number) => () => null | MatchTokenExpressionResult;
|
|
19
|
-
constructor(test: (chunks: ChunkList, fromIndex: number) => () => null | MatchTokenExpressionResult);
|
|
20
|
-
match(chunks: ChunkList, fromIndex: number): null | MatchTokenExpressionResult;
|
|
21
|
-
static stringLiteral: TokenExpression;
|
|
22
|
-
static keyword: TokenExpression;
|
|
23
|
-
static punctuator: TokenExpression;
|
|
24
|
-
static newline: TokenExpression;
|
|
25
|
-
static booleanLiteral: TokenExpression;
|
|
26
|
-
static nullLiteral: TokenExpression;
|
|
27
|
-
static numberLiteral: TokenExpression;
|
|
28
|
-
static singleComment: TokenExpression;
|
|
29
|
-
static multilineComment: TokenExpression;
|
|
30
|
-
static heredoc: TokenExpression;
|
|
31
|
-
static whitespace: TokenExpression;
|
|
32
|
-
}
|
|
33
|
-
export declare class LexerEncoder {
|
|
34
|
-
encode(inpt: string | Iterable<number> | ChunkList): Lexema;
|
|
35
|
-
private findMatchingExpression;
|
|
36
|
-
}
|
|
37
|
-
export {};
|
|
38
|
-
//# sourceMappingURL=lexer.d.ts.map
|
package/lib/esm/lexer.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lexer.d.ts","sourceRoot":"","sources":["../../src/lexer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,SAAS,EAAE,MAAM,SAAS,CAAC;AAElD,qBAAa,KAAK;IAEd,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM;gBADX,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM;CAEvB;AAED,qBAAa,MAAM;IAEf,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC;gBADvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC;CAEnC;AAED,cAAM,0BAA0B;IAE5B,QAAQ,CAAC,OAAO,EAAE,SAAS;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM;gBADd,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,MAAM;CAE1B;AAED,qBAAa,eAAe;IAExB,QAAQ,CAAC,IAAI,EAAE,CACb,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,KACd,MAAM,IAAI,GAAG,0BAA0B;gBAHnC,IAAI,EAAE,CACb,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,KACd,MAAM,IAAI,GAAG,0BAA0B;IAG9C,KAAK,CACH,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,GAChB,IAAI,GAAG,0BAA0B;IAKpC,MAAM,CAAC,aAAa,kBAqElB;IAEF,MAAM,CAAC,OAAO,kBAmEZ;IAEF,MAAM,CAAC,UAAU,kBA4Bf;IAEF,MAAM,CAAC,OAAO,kBA0BZ;IAEF,MAAM,CAAC,cAAc,kBA0BnB;IAEF,MAAM,CAAC,WAAW,kBA0BhB;IAEF,MAAM,CAAC,aAAa,kBA8DlB;IAEF,MAAM,CAAC,aAAa,kBA+ElB;IAEF,MAAM,CAAC,gBAAgB,kBAqFrB;IAEF,MAAM,CAAC,OAAO,kBA4KZ;IAEF,MAAM,CAAC,UAAU,kBA2Bf;CACH;AAED,qBAAa,YAAY;IACvB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,MAAM;IAwE3D,OAAO,CAAC,sBAAsB;CAiB/B"}
|