@cirru/writer.ts 0.1.4 → 0.1.6
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/.github/workflows/npm-publish.yaml +7 -8
- package/.github/workflows/upload.yaml +3 -3
- package/lib/types.js +2 -1
- package/lib/types.js.map +1 -1
- package/lib/writer.d.ts +2 -1
- package/lib/writer.js +78 -32
- package/lib/writer.js.map +1 -1
- package/package.json +7 -3
|
@@ -7,19 +7,18 @@ on:
|
|
|
7
7
|
jobs:
|
|
8
8
|
publish-npm:
|
|
9
9
|
runs-on: ubuntu-latest
|
|
10
|
+
permissions:
|
|
11
|
+
contents: read
|
|
12
|
+
id-token: write
|
|
10
13
|
steps:
|
|
11
|
-
- uses: actions/checkout@
|
|
14
|
+
- uses: actions/checkout@v4
|
|
12
15
|
|
|
13
|
-
- uses: actions/
|
|
14
|
-
|
|
15
|
-
- uses: actions/setup-node@v3
|
|
16
|
+
- uses: actions/setup-node@v6
|
|
16
17
|
with:
|
|
17
|
-
node-version:
|
|
18
|
+
node-version: 24
|
|
18
19
|
cache: "yarn"
|
|
19
20
|
registry-url: https://registry.npmjs.org/
|
|
20
21
|
|
|
21
22
|
- run: yarn && yarn test && yarn compile
|
|
22
23
|
|
|
23
|
-
- run: npm publish
|
|
24
|
-
env:
|
|
25
|
-
NODE_AUTH_TOKEN: ${{secrets.npm_token}}
|
|
24
|
+
- run: npm publish --provenance --access public
|
|
@@ -10,11 +10,11 @@ jobs:
|
|
|
10
10
|
upload-assets:
|
|
11
11
|
runs-on: ubuntu-latest
|
|
12
12
|
steps:
|
|
13
|
-
- uses: actions/checkout@
|
|
13
|
+
- uses: actions/checkout@v4
|
|
14
14
|
|
|
15
|
-
- uses: actions/setup-node@
|
|
15
|
+
- uses: actions/setup-node@v6
|
|
16
16
|
with:
|
|
17
|
-
node-version:
|
|
17
|
+
node-version: 24
|
|
18
18
|
cache: "yarn"
|
|
19
19
|
|
|
20
20
|
- run: yarn && yarn test
|
package/lib/types.js
CHANGED
|
@@ -11,7 +11,8 @@ var WriterNodeKind;
|
|
|
11
11
|
})(WriterNodeKind || (exports.WriterNodeKind = WriterNodeKind = {}));
|
|
12
12
|
function isSimpleExpr(xs) {
|
|
13
13
|
if (Array.isArray(xs)) {
|
|
14
|
-
for (let
|
|
14
|
+
for (let idx = 0; idx < xs.length; idx++) {
|
|
15
|
+
let x = xs[idx];
|
|
15
16
|
if (typeof x !== "string") {
|
|
16
17
|
return false;
|
|
17
18
|
}
|
package/lib/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AACA,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,yCAAuB,CAAA;IACvB,iDAA+B,CAAA;IAC/B,+CAA6B,CAAA;IAC7B,yCAAuB,CAAA;AACzB,CAAC,EANW,cAAc,8BAAd,cAAc,QAMzB;AAED,SAAgB,YAAY,CAAC,EAAmB;IAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACrB,KAAK,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AACA,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,yCAAuB,CAAA;IACvB,iDAA+B,CAAA;IAC/B,+CAA6B,CAAA;IAC7B,yCAAuB,CAAA;AACzB,CAAC,EANW,cAAc,8BAAd,cAAc,QAMzB;AAED,SAAgB,YAAY,CAAC,EAAmB;IAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACrB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YACxC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YAChB,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;gBACzB,OAAO,KAAK,CAAC;aACd;SACF;QAED,OAAO,IAAI,CAAC;KACb;SAAM;QACL,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAbD,oCAaC"}
|
package/lib/writer.d.ts
CHANGED
|
@@ -3,4 +3,5 @@ export { CirruWriterNode };
|
|
|
3
3
|
type WriterTreeOptions = {
|
|
4
4
|
useInline: boolean;
|
|
5
5
|
};
|
|
6
|
-
export declare function writeCirruCode(xs: CirruWriterNode, options?: WriterTreeOptions): string;
|
|
6
|
+
export declare function writeCirruCode(xs: CirruWriterNode[], options?: WriterTreeOptions): string;
|
|
7
|
+
export declare function writeCirruOneLiner(xs: CirruWriterNode): string;
|
package/lib/writer.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.writeCirruCode = void 0;
|
|
3
|
+
exports.writeCirruOneLiner = exports.writeCirruCode = void 0;
|
|
4
4
|
const types_1 = require("./types");
|
|
5
5
|
const str_util_1 = require("./str-util");
|
|
6
6
|
let allowedChars = "-~_@#$&%!?^*=+|\\/<>[]{}.,:;'";
|
|
7
7
|
function isBoxed(xs) {
|
|
8
8
|
if (Array.isArray(xs)) {
|
|
9
|
-
for (let
|
|
9
|
+
for (let idx = 0; idx < xs.length; idx++) {
|
|
10
|
+
let x = xs[idx];
|
|
10
11
|
if (typeof x === "string") {
|
|
11
12
|
return false;
|
|
12
13
|
}
|
|
@@ -18,7 +19,7 @@ function isBoxed(xs) {
|
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
21
|
function isSimpleChar(x) {
|
|
21
|
-
return (0, str_util_1.
|
|
22
|
+
return (0, str_util_1.isALetter)(x) || (0, str_util_1.isADigit)(x);
|
|
22
23
|
}
|
|
23
24
|
function isCharAllowed(x) {
|
|
24
25
|
if (isSimpleChar(x)) {
|
|
@@ -43,7 +44,8 @@ function generateLeaf(xs) {
|
|
|
43
44
|
}
|
|
44
45
|
else {
|
|
45
46
|
let allAllowed = true;
|
|
46
|
-
for (let
|
|
47
|
+
for (let idx = 0; idx < xs.length; idx++) {
|
|
48
|
+
let x = xs[idx];
|
|
47
49
|
if (!isCharAllowed(x)) {
|
|
48
50
|
allAllowed = false;
|
|
49
51
|
break;
|
|
@@ -63,10 +65,10 @@ function generateInlineExpr(xs) {
|
|
|
63
65
|
for (let idx = 0; idx < xs.length; idx++) {
|
|
64
66
|
let x = xs[idx];
|
|
65
67
|
if (idx > 0) {
|
|
66
|
-
result
|
|
68
|
+
result += charSpace;
|
|
67
69
|
}
|
|
68
70
|
let childForm = typeof x === "string" ? generateLeaf(x) : generateInlineExpr(x);
|
|
69
|
-
result
|
|
71
|
+
result += childForm;
|
|
70
72
|
}
|
|
71
73
|
}
|
|
72
74
|
else {
|
|
@@ -77,7 +79,7 @@ function generateInlineExpr(xs) {
|
|
|
77
79
|
function renderSpaces(n) {
|
|
78
80
|
let result = "";
|
|
79
81
|
for (let i = 0; i < n; i++) {
|
|
80
|
-
result
|
|
82
|
+
result += " ";
|
|
81
83
|
}
|
|
82
84
|
return result;
|
|
83
85
|
}
|
|
@@ -124,50 +126,55 @@ function generateTree(xs, insistHead, options, baseLevel, inTail) {
|
|
|
124
126
|
// console.log("\nloop", prevKind, kind);
|
|
125
127
|
// console.log("cursor", cursor);
|
|
126
128
|
// console.log(JSON.stringify(result));
|
|
127
|
-
let child; // mutable
|
|
129
|
+
let child = ""; // mutable
|
|
128
130
|
if (typeof cursor === "string") {
|
|
129
|
-
child
|
|
131
|
+
child += generateLeaf(cursor);
|
|
130
132
|
}
|
|
131
133
|
else if (atTail) {
|
|
132
134
|
if (typeof cursor === "string") {
|
|
133
135
|
throw new Error("Expected list");
|
|
134
136
|
}
|
|
135
137
|
if (cursor.length === 0) {
|
|
136
|
-
child
|
|
138
|
+
child += "$";
|
|
137
139
|
}
|
|
138
140
|
else {
|
|
139
|
-
child
|
|
141
|
+
child += "$ ";
|
|
142
|
+
child += generateTree(cursor, false, options, level, atTail);
|
|
140
143
|
}
|
|
141
144
|
}
|
|
142
145
|
else if (idx === 0 && insistHead) {
|
|
143
|
-
child
|
|
146
|
+
child += generateInlineExpr(cursor);
|
|
144
147
|
}
|
|
145
148
|
else if (kind === types_1.WriterNodeKind.writerKindLeaf) {
|
|
146
149
|
if (idx === 0) {
|
|
147
|
-
child
|
|
150
|
+
child += renderNewline(level);
|
|
151
|
+
child += generateLeaf(cursor);
|
|
148
152
|
}
|
|
149
153
|
else {
|
|
150
|
-
child
|
|
154
|
+
child += generateLeaf(cursor);
|
|
151
155
|
}
|
|
152
156
|
}
|
|
153
157
|
else if (kind === types_1.WriterNodeKind.writerKindSimpleExpr) {
|
|
154
158
|
if (prevKind === types_1.WriterNodeKind.writerKindLeaf) {
|
|
155
|
-
child
|
|
159
|
+
child += generateInlineExpr(cursor);
|
|
156
160
|
}
|
|
157
161
|
else if (options.useInline && prevKind === types_1.WriterNodeKind.writerKindSimpleExpr) {
|
|
158
|
-
child
|
|
162
|
+
child += " ";
|
|
163
|
+
child += generateInlineExpr(cursor);
|
|
159
164
|
}
|
|
160
165
|
else {
|
|
161
|
-
child
|
|
166
|
+
child += renderNewline(nextLevel);
|
|
167
|
+
child += generateTree(cursor, childInsistHead, options, nextLevel, false);
|
|
162
168
|
}
|
|
163
169
|
}
|
|
164
170
|
else if (kind === types_1.WriterNodeKind.writerKindExpr) {
|
|
165
171
|
let content = generateTree(cursor, childInsistHead, options, nextLevel, false);
|
|
166
172
|
if (content.startsWith("\n")) {
|
|
167
|
-
child
|
|
173
|
+
child += content;
|
|
168
174
|
}
|
|
169
175
|
else {
|
|
170
|
-
child
|
|
176
|
+
child += renderNewline(nextLevel);
|
|
177
|
+
child += content;
|
|
171
178
|
}
|
|
172
179
|
}
|
|
173
180
|
else if (kind === types_1.WriterNodeKind.writerKindBoxedExpr) {
|
|
@@ -175,37 +182,42 @@ function generateTree(xs, insistHead, options, baseLevel, inTail) {
|
|
|
175
182
|
if (prevKind === types_1.WriterNodeKind.writerKindNil ||
|
|
176
183
|
prevKind === types_1.WriterNodeKind.writerKindLeaf ||
|
|
177
184
|
prevKind === types_1.WriterNodeKind.writerKindSimpleExpr) {
|
|
178
|
-
child
|
|
185
|
+
child += content;
|
|
179
186
|
}
|
|
180
187
|
else {
|
|
181
|
-
child
|
|
188
|
+
child += renderNewline(nextLevel);
|
|
189
|
+
child += content;
|
|
182
190
|
}
|
|
183
191
|
}
|
|
184
192
|
else {
|
|
185
|
-
throw new Error("
|
|
193
|
+
throw new Error("Unexpected condition");
|
|
186
194
|
}
|
|
187
195
|
let bended = kind === types_1.WriterNodeKind.writerKindLeaf &&
|
|
188
196
|
(prevKind === types_1.WriterNodeKind.writerKindBoxedExpr || prevKind === types_1.WriterNodeKind.writerKindExpr);
|
|
189
|
-
let chunk; // mutable
|
|
190
197
|
if (atTail) {
|
|
191
|
-
|
|
198
|
+
result += " ";
|
|
199
|
+
result += child;
|
|
192
200
|
}
|
|
193
201
|
else if (prevKind === types_1.WriterNodeKind.writerKindLeaf && kind === types_1.WriterNodeKind.writerKindLeaf) {
|
|
194
|
-
|
|
202
|
+
result += " ";
|
|
203
|
+
result += child;
|
|
195
204
|
}
|
|
196
205
|
else if (prevKind === types_1.WriterNodeKind.writerKindLeaf && kind === types_1.WriterNodeKind.writerKindSimpleExpr) {
|
|
197
|
-
|
|
206
|
+
result += " ";
|
|
207
|
+
result += child;
|
|
198
208
|
}
|
|
199
209
|
else if (prevKind === types_1.WriterNodeKind.writerKindSimpleExpr && kind === types_1.WriterNodeKind.writerKindLeaf) {
|
|
200
|
-
|
|
210
|
+
result += " ";
|
|
211
|
+
result += child;
|
|
201
212
|
}
|
|
202
213
|
else if (bended) {
|
|
203
|
-
|
|
214
|
+
result += renderNewline(nextLevel);
|
|
215
|
+
result += ", ";
|
|
216
|
+
result += child;
|
|
204
217
|
}
|
|
205
218
|
else {
|
|
206
|
-
|
|
219
|
+
result += child;
|
|
207
220
|
}
|
|
208
|
-
result = result + chunk;
|
|
209
221
|
// update writer states
|
|
210
222
|
if (kind === types_1.WriterNodeKind.writerKindSimpleExpr) {
|
|
211
223
|
if (idx === 0 && insistHead) {
|
|
@@ -232,8 +244,8 @@ function generateTree(xs, insistHead, options, baseLevel, inTail) {
|
|
|
232
244
|
prevKind = kind;
|
|
233
245
|
}
|
|
234
246
|
if (bended) {
|
|
235
|
-
bendedSize
|
|
236
|
-
level
|
|
247
|
+
bendedSize += 1;
|
|
248
|
+
level += 1;
|
|
237
249
|
}
|
|
238
250
|
// console.log("chunk", JSON.stringify(chunk));
|
|
239
251
|
// console.log("And result", JSON.stringify(result));
|
|
@@ -254,4 +266,38 @@ function writeCirruCode(xs, options = { useInline: false }) {
|
|
|
254
266
|
return generateStatements(xs, options);
|
|
255
267
|
}
|
|
256
268
|
exports.writeCirruCode = writeCirruCode;
|
|
269
|
+
function writeCirruOneLiner(xs) {
|
|
270
|
+
if (typeof xs === "string") {
|
|
271
|
+
throw new Error("writeCirruOneLiner expects an expression (array), not a leaf (string)");
|
|
272
|
+
}
|
|
273
|
+
else if (Array.isArray(xs)) {
|
|
274
|
+
let result = "";
|
|
275
|
+
let prevIsLeaf = false;
|
|
276
|
+
for (let idx = 0; idx < xs.length; idx++) {
|
|
277
|
+
let x = xs[idx];
|
|
278
|
+
let isLastItem = idx === xs.length - 1;
|
|
279
|
+
let atTail = idx > 0 && prevIsLeaf && isLastItem && Array.isArray(x);
|
|
280
|
+
if (idx > 0) {
|
|
281
|
+
result += charSpace;
|
|
282
|
+
}
|
|
283
|
+
if (atTail) {
|
|
284
|
+
result += "$";
|
|
285
|
+
if (x.length > 0) {
|
|
286
|
+
result += charSpace;
|
|
287
|
+
result += writeCirruOneLiner(x);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
let childForm = typeof x === "string" ? generateLeaf(x) : generateInlineExpr(x);
|
|
292
|
+
result += childForm;
|
|
293
|
+
}
|
|
294
|
+
prevIsLeaf = typeof x === "string";
|
|
295
|
+
}
|
|
296
|
+
return result;
|
|
297
|
+
}
|
|
298
|
+
else {
|
|
299
|
+
throw new Error("Unexpected node type");
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
exports.writeCirruOneLiner = writeCirruOneLiner;
|
|
257
303
|
//# sourceMappingURL=writer.js.map
|
package/lib/writer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":";;;AAAA,mCAAwE;AACxE,yCAAiD;AAIjD,IAAI,YAAY,GAAG,+BAA+B,CAAC;AAEnD,SAAS,OAAO,CAAC,EAAmB;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACrB,KAAK,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cirru/writer.ts",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"description": "Cirru Writer in TS",
|
|
5
5
|
"main": "lib/writer.js",
|
|
6
6
|
"author": "Cirru",
|
|
7
7
|
"license": "MIT",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "https://github.com/Cirru/writer.ts.git"
|
|
11
|
+
},
|
|
8
12
|
"scripts": {
|
|
9
13
|
"compile": "tsc -d --outDir lib/",
|
|
10
14
|
"test": "ts-node tests/test-writer.ts"
|
|
11
15
|
},
|
|
12
16
|
"devDependencies": {
|
|
13
|
-
"@types/node": "^20.
|
|
14
|
-
"prettier": "^3.0.
|
|
17
|
+
"@types/node": "^20.5.1",
|
|
18
|
+
"prettier": "^3.0.2",
|
|
15
19
|
"ts-node": "^10.9.1",
|
|
16
20
|
"typescript": "^5.1.6"
|
|
17
21
|
}
|