@barefootjs/go-template 0.5.2 → 0.6.0
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"go-template-adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/go-template-adapter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"go-template-adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/go-template-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/adapter/index.js
CHANGED
|
@@ -1916,7 +1916,7 @@ ${goFields.join(`
|
|
|
1916
1916
|
switch (method) {
|
|
1917
1917
|
case "join": {
|
|
1918
1918
|
const obj = emit(object);
|
|
1919
|
-
const sep = emit(args[0]);
|
|
1919
|
+
const sep = args.length >= 1 ? emit(args[0]) : '","';
|
|
1920
1920
|
return `bf_join (${obj}) ${wrapIfMultiToken(sep)}`;
|
|
1921
1921
|
}
|
|
1922
1922
|
case "includes": {
|
|
@@ -1933,18 +1933,21 @@ ${goFields.join(`
|
|
|
1933
1933
|
}
|
|
1934
1934
|
case "at": {
|
|
1935
1935
|
const obj = emit(object);
|
|
1936
|
-
const idx = emit(args[0]);
|
|
1936
|
+
const idx = args.length >= 1 ? emit(args[0]) : "0";
|
|
1937
1937
|
return `bf_at ${wrapIfMultiToken(obj)} ${wrapIfMultiToken(idx)}`;
|
|
1938
1938
|
}
|
|
1939
1939
|
case "concat": {
|
|
1940
|
+
if (args.length === 0) {
|
|
1941
|
+
return emit(object);
|
|
1942
|
+
}
|
|
1940
1943
|
const a = emit(object);
|
|
1941
1944
|
const b = emit(args[0]);
|
|
1942
1945
|
return `bf_concat ${wrapIfMultiToken(a)} ${wrapIfMultiToken(b)}`;
|
|
1943
1946
|
}
|
|
1944
1947
|
case "slice": {
|
|
1945
1948
|
const recv = emit(object);
|
|
1946
|
-
const start = emit(args[0]);
|
|
1947
|
-
if (args.length
|
|
1949
|
+
const start = args.length >= 1 ? emit(args[0]) : "0";
|
|
1950
|
+
if (args.length <= 1) {
|
|
1948
1951
|
return `bf_slice ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(start)}`;
|
|
1949
1952
|
}
|
|
1950
1953
|
const end = emit(args[1]);
|
|
@@ -1967,6 +1970,54 @@ ${goFields.join(`
|
|
|
1967
1970
|
const recv = emit(object);
|
|
1968
1971
|
return `bf_trim ${wrapIfMultiToken(recv)}`;
|
|
1969
1972
|
}
|
|
1973
|
+
case "split": {
|
|
1974
|
+
const recv = emit(object);
|
|
1975
|
+
if (args.length === 0) {
|
|
1976
|
+
return `bf_arr ${wrapIfMultiToken(recv)}`;
|
|
1977
|
+
}
|
|
1978
|
+
const sep = emit(args[0]);
|
|
1979
|
+
if (args.length === 1) {
|
|
1980
|
+
return `bf_split ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(sep)}`;
|
|
1981
|
+
}
|
|
1982
|
+
const limit = emit(args[1]);
|
|
1983
|
+
return `bf_split ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(sep)} ${wrapIfMultiToken(limit)}`;
|
|
1984
|
+
}
|
|
1985
|
+
case "startsWith":
|
|
1986
|
+
case "endsWith": {
|
|
1987
|
+
const fn = method === "startsWith" ? "bf_starts_with" : "bf_ends_with";
|
|
1988
|
+
const recv = emit(object);
|
|
1989
|
+
const arg = emit(args[0]);
|
|
1990
|
+
const base = `${fn} ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(arg)}`;
|
|
1991
|
+
if (args.length >= 2) {
|
|
1992
|
+
return `${base} ${wrapIfMultiToken(emit(args[1]))}`;
|
|
1993
|
+
}
|
|
1994
|
+
return base;
|
|
1995
|
+
}
|
|
1996
|
+
case "replace": {
|
|
1997
|
+
const recv = emit(object);
|
|
1998
|
+
const oldS = emit(args[0]);
|
|
1999
|
+
const newS = emit(args[1]);
|
|
2000
|
+
return `bf_replace ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(oldS)} ${wrapIfMultiToken(newS)}`;
|
|
2001
|
+
}
|
|
2002
|
+
case "repeat": {
|
|
2003
|
+
const recv = emit(object);
|
|
2004
|
+
const count = args.length === 0 ? "0" : emit(args[0]);
|
|
2005
|
+
return `bf_repeat ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(count)}`;
|
|
2006
|
+
}
|
|
2007
|
+
case "padStart":
|
|
2008
|
+
case "padEnd": {
|
|
2009
|
+
const fn = method === "padStart" ? "bf_pad_start" : "bf_pad_end";
|
|
2010
|
+
const recv = emit(object);
|
|
2011
|
+
if (args.length === 0) {
|
|
2012
|
+
return `${fn} ${wrapIfMultiToken(recv)} 0`;
|
|
2013
|
+
}
|
|
2014
|
+
const target = emit(args[0]);
|
|
2015
|
+
if (args.length === 1) {
|
|
2016
|
+
return `${fn} ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(target)}`;
|
|
2017
|
+
}
|
|
2018
|
+
const pad = emit(args[1]);
|
|
2019
|
+
return `${fn} ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(target)} ${wrapIfMultiToken(pad)}`;
|
|
2020
|
+
}
|
|
1970
2021
|
default: {
|
|
1971
2022
|
const _exhaustive = method;
|
|
1972
2023
|
throw new Error(`Go arrayMethod: unhandled ArrayMethod '${_exhaustive}'`);
|
package/dist/build.js
CHANGED
|
@@ -2256,7 +2256,7 @@ ${goFields.join(`
|
|
|
2256
2256
|
switch (method) {
|
|
2257
2257
|
case "join": {
|
|
2258
2258
|
const obj = emit(object);
|
|
2259
|
-
const sep = emit(args[0]);
|
|
2259
|
+
const sep = args.length >= 1 ? emit(args[0]) : '","';
|
|
2260
2260
|
return `bf_join (${obj}) ${wrapIfMultiToken(sep)}`;
|
|
2261
2261
|
}
|
|
2262
2262
|
case "includes": {
|
|
@@ -2273,18 +2273,21 @@ ${goFields.join(`
|
|
|
2273
2273
|
}
|
|
2274
2274
|
case "at": {
|
|
2275
2275
|
const obj = emit(object);
|
|
2276
|
-
const idx = emit(args[0]);
|
|
2276
|
+
const idx = args.length >= 1 ? emit(args[0]) : "0";
|
|
2277
2277
|
return `bf_at ${wrapIfMultiToken(obj)} ${wrapIfMultiToken(idx)}`;
|
|
2278
2278
|
}
|
|
2279
2279
|
case "concat": {
|
|
2280
|
+
if (args.length === 0) {
|
|
2281
|
+
return emit(object);
|
|
2282
|
+
}
|
|
2280
2283
|
const a = emit(object);
|
|
2281
2284
|
const b = emit(args[0]);
|
|
2282
2285
|
return `bf_concat ${wrapIfMultiToken(a)} ${wrapIfMultiToken(b)}`;
|
|
2283
2286
|
}
|
|
2284
2287
|
case "slice": {
|
|
2285
2288
|
const recv = emit(object);
|
|
2286
|
-
const start = emit(args[0]);
|
|
2287
|
-
if (args.length
|
|
2289
|
+
const start = args.length >= 1 ? emit(args[0]) : "0";
|
|
2290
|
+
if (args.length <= 1) {
|
|
2288
2291
|
return `bf_slice ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(start)}`;
|
|
2289
2292
|
}
|
|
2290
2293
|
const end = emit(args[1]);
|
|
@@ -2307,6 +2310,54 @@ ${goFields.join(`
|
|
|
2307
2310
|
const recv = emit(object);
|
|
2308
2311
|
return `bf_trim ${wrapIfMultiToken(recv)}`;
|
|
2309
2312
|
}
|
|
2313
|
+
case "split": {
|
|
2314
|
+
const recv = emit(object);
|
|
2315
|
+
if (args.length === 0) {
|
|
2316
|
+
return `bf_arr ${wrapIfMultiToken(recv)}`;
|
|
2317
|
+
}
|
|
2318
|
+
const sep = emit(args[0]);
|
|
2319
|
+
if (args.length === 1) {
|
|
2320
|
+
return `bf_split ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(sep)}`;
|
|
2321
|
+
}
|
|
2322
|
+
const limit = emit(args[1]);
|
|
2323
|
+
return `bf_split ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(sep)} ${wrapIfMultiToken(limit)}`;
|
|
2324
|
+
}
|
|
2325
|
+
case "startsWith":
|
|
2326
|
+
case "endsWith": {
|
|
2327
|
+
const fn = method === "startsWith" ? "bf_starts_with" : "bf_ends_with";
|
|
2328
|
+
const recv = emit(object);
|
|
2329
|
+
const arg = emit(args[0]);
|
|
2330
|
+
const base = `${fn} ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(arg)}`;
|
|
2331
|
+
if (args.length >= 2) {
|
|
2332
|
+
return `${base} ${wrapIfMultiToken(emit(args[1]))}`;
|
|
2333
|
+
}
|
|
2334
|
+
return base;
|
|
2335
|
+
}
|
|
2336
|
+
case "replace": {
|
|
2337
|
+
const recv = emit(object);
|
|
2338
|
+
const oldS = emit(args[0]);
|
|
2339
|
+
const newS = emit(args[1]);
|
|
2340
|
+
return `bf_replace ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(oldS)} ${wrapIfMultiToken(newS)}`;
|
|
2341
|
+
}
|
|
2342
|
+
case "repeat": {
|
|
2343
|
+
const recv = emit(object);
|
|
2344
|
+
const count = args.length === 0 ? "0" : emit(args[0]);
|
|
2345
|
+
return `bf_repeat ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(count)}`;
|
|
2346
|
+
}
|
|
2347
|
+
case "padStart":
|
|
2348
|
+
case "padEnd": {
|
|
2349
|
+
const fn = method === "padStart" ? "bf_pad_start" : "bf_pad_end";
|
|
2350
|
+
const recv = emit(object);
|
|
2351
|
+
if (args.length === 0) {
|
|
2352
|
+
return `${fn} ${wrapIfMultiToken(recv)} 0`;
|
|
2353
|
+
}
|
|
2354
|
+
const target = emit(args[0]);
|
|
2355
|
+
if (args.length === 1) {
|
|
2356
|
+
return `${fn} ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(target)}`;
|
|
2357
|
+
}
|
|
2358
|
+
const pad = emit(args[1]);
|
|
2359
|
+
return `${fn} ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(target)} ${wrapIfMultiToken(pad)}`;
|
|
2360
|
+
}
|
|
2310
2361
|
default: {
|
|
2311
2362
|
const _exhaustive = method;
|
|
2312
2363
|
throw new Error(`Go arrayMethod: unhandled ArrayMethod '${_exhaustive}'`);
|
package/dist/index.js
CHANGED
|
@@ -1916,7 +1916,7 @@ ${goFields.join(`
|
|
|
1916
1916
|
switch (method) {
|
|
1917
1917
|
case "join": {
|
|
1918
1918
|
const obj = emit(object);
|
|
1919
|
-
const sep = emit(args[0]);
|
|
1919
|
+
const sep = args.length >= 1 ? emit(args[0]) : '","';
|
|
1920
1920
|
return `bf_join (${obj}) ${wrapIfMultiToken(sep)}`;
|
|
1921
1921
|
}
|
|
1922
1922
|
case "includes": {
|
|
@@ -1933,18 +1933,21 @@ ${goFields.join(`
|
|
|
1933
1933
|
}
|
|
1934
1934
|
case "at": {
|
|
1935
1935
|
const obj = emit(object);
|
|
1936
|
-
const idx = emit(args[0]);
|
|
1936
|
+
const idx = args.length >= 1 ? emit(args[0]) : "0";
|
|
1937
1937
|
return `bf_at ${wrapIfMultiToken(obj)} ${wrapIfMultiToken(idx)}`;
|
|
1938
1938
|
}
|
|
1939
1939
|
case "concat": {
|
|
1940
|
+
if (args.length === 0) {
|
|
1941
|
+
return emit(object);
|
|
1942
|
+
}
|
|
1940
1943
|
const a = emit(object);
|
|
1941
1944
|
const b = emit(args[0]);
|
|
1942
1945
|
return `bf_concat ${wrapIfMultiToken(a)} ${wrapIfMultiToken(b)}`;
|
|
1943
1946
|
}
|
|
1944
1947
|
case "slice": {
|
|
1945
1948
|
const recv = emit(object);
|
|
1946
|
-
const start = emit(args[0]);
|
|
1947
|
-
if (args.length
|
|
1949
|
+
const start = args.length >= 1 ? emit(args[0]) : "0";
|
|
1950
|
+
if (args.length <= 1) {
|
|
1948
1951
|
return `bf_slice ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(start)}`;
|
|
1949
1952
|
}
|
|
1950
1953
|
const end = emit(args[1]);
|
|
@@ -1967,6 +1970,54 @@ ${goFields.join(`
|
|
|
1967
1970
|
const recv = emit(object);
|
|
1968
1971
|
return `bf_trim ${wrapIfMultiToken(recv)}`;
|
|
1969
1972
|
}
|
|
1973
|
+
case "split": {
|
|
1974
|
+
const recv = emit(object);
|
|
1975
|
+
if (args.length === 0) {
|
|
1976
|
+
return `bf_arr ${wrapIfMultiToken(recv)}`;
|
|
1977
|
+
}
|
|
1978
|
+
const sep = emit(args[0]);
|
|
1979
|
+
if (args.length === 1) {
|
|
1980
|
+
return `bf_split ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(sep)}`;
|
|
1981
|
+
}
|
|
1982
|
+
const limit = emit(args[1]);
|
|
1983
|
+
return `bf_split ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(sep)} ${wrapIfMultiToken(limit)}`;
|
|
1984
|
+
}
|
|
1985
|
+
case "startsWith":
|
|
1986
|
+
case "endsWith": {
|
|
1987
|
+
const fn = method === "startsWith" ? "bf_starts_with" : "bf_ends_with";
|
|
1988
|
+
const recv = emit(object);
|
|
1989
|
+
const arg = emit(args[0]);
|
|
1990
|
+
const base = `${fn} ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(arg)}`;
|
|
1991
|
+
if (args.length >= 2) {
|
|
1992
|
+
return `${base} ${wrapIfMultiToken(emit(args[1]))}`;
|
|
1993
|
+
}
|
|
1994
|
+
return base;
|
|
1995
|
+
}
|
|
1996
|
+
case "replace": {
|
|
1997
|
+
const recv = emit(object);
|
|
1998
|
+
const oldS = emit(args[0]);
|
|
1999
|
+
const newS = emit(args[1]);
|
|
2000
|
+
return `bf_replace ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(oldS)} ${wrapIfMultiToken(newS)}`;
|
|
2001
|
+
}
|
|
2002
|
+
case "repeat": {
|
|
2003
|
+
const recv = emit(object);
|
|
2004
|
+
const count = args.length === 0 ? "0" : emit(args[0]);
|
|
2005
|
+
return `bf_repeat ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(count)}`;
|
|
2006
|
+
}
|
|
2007
|
+
case "padStart":
|
|
2008
|
+
case "padEnd": {
|
|
2009
|
+
const fn = method === "padStart" ? "bf_pad_start" : "bf_pad_end";
|
|
2010
|
+
const recv = emit(object);
|
|
2011
|
+
if (args.length === 0) {
|
|
2012
|
+
return `${fn} ${wrapIfMultiToken(recv)} 0`;
|
|
2013
|
+
}
|
|
2014
|
+
const target = emit(args[0]);
|
|
2015
|
+
if (args.length === 1) {
|
|
2016
|
+
return `${fn} ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(target)}`;
|
|
2017
|
+
}
|
|
2018
|
+
const pad = emit(args[1]);
|
|
2019
|
+
return `${fn} ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(target)} ${wrapIfMultiToken(pad)}`;
|
|
2020
|
+
}
|
|
1970
2021
|
default: {
|
|
1971
2022
|
const _exhaustive = method;
|
|
1972
2023
|
throw new Error(`Go arrayMethod: unhandled ArrayMethod '${_exhaustive}'`);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@barefootjs/go-template",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Go html/template adapter for BarefootJS - generates Go template files from IR",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -54,6 +54,6 @@
|
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@barefootjs/adapter-tests": "0.1.0",
|
|
57
|
-
"@barefootjs/jsx": "0.
|
|
57
|
+
"@barefootjs/jsx": "0.6.0"
|
|
58
58
|
}
|
|
59
59
|
}
|
|
@@ -2182,11 +2182,26 @@ import { fixture as arrayLastIndexOfFixture } from '../../../adapter-tests/fixtu
|
|
|
2182
2182
|
import { fixture as arrayAtFixture } from '../../../adapter-tests/fixtures/methods/array-at'
|
|
2183
2183
|
import { fixture as arrayConcatFixture } from '../../../adapter-tests/fixtures/methods/array-concat'
|
|
2184
2184
|
import { fixture as arraySliceFixture } from '../../../adapter-tests/fixtures/methods/array-slice'
|
|
2185
|
+
import { fixture as arraySliceCopyFixture } from '../../../adapter-tests/fixtures/methods/array-slice-copy'
|
|
2186
|
+
import { fixture as arrayJoinDefaultFixture } from '../../../adapter-tests/fixtures/methods/array-join-default'
|
|
2187
|
+
import { fixture as arrayAtDefaultFixture } from '../../../adapter-tests/fixtures/methods/array-at-default'
|
|
2188
|
+
import { fixture as arrayConcatCopyFixture } from '../../../adapter-tests/fixtures/methods/array-concat-copy'
|
|
2185
2189
|
import { fixture as arrayReverseFixture } from '../../../adapter-tests/fixtures/methods/array-reverse'
|
|
2186
2190
|
import { fixture as arrayToReversedFixture } from '../../../adapter-tests/fixtures/methods/array-toReversed'
|
|
2187
2191
|
import { fixture as stringToLowerCaseFixture } from '../../../adapter-tests/fixtures/methods/string-toLowerCase'
|
|
2188
2192
|
import { fixture as stringToUpperCaseFixture } from '../../../adapter-tests/fixtures/methods/string-toUpperCase'
|
|
2189
2193
|
import { fixture as stringTrimFixture } from '../../../adapter-tests/fixtures/methods/string-trim'
|
|
2194
|
+
// #1448 Tier B — string methods.
|
|
2195
|
+
import { fixture as stringSplitFixture } from '../../../adapter-tests/fixtures/methods/string-split'
|
|
2196
|
+
import { fixture as stringSplitLimitFixture } from '../../../adapter-tests/fixtures/methods/string-split-limit'
|
|
2197
|
+
import { fixture as stringStartsWithFixture } from '../../../adapter-tests/fixtures/methods/string-startsWith'
|
|
2198
|
+
import { fixture as stringStartsWithPositionFixture } from '../../../adapter-tests/fixtures/methods/string-startsWith-position'
|
|
2199
|
+
import { fixture as stringEndsWithFixture } from '../../../adapter-tests/fixtures/methods/string-endsWith'
|
|
2200
|
+
import { fixture as stringEndsWithPositionFixture } from '../../../adapter-tests/fixtures/methods/string-endsWith-position'
|
|
2201
|
+
import { fixture as stringReplaceFixture } from '../../../adapter-tests/fixtures/methods/string-replace'
|
|
2202
|
+
import { fixture as stringRepeatFixture } from '../../../adapter-tests/fixtures/methods/string-repeat'
|
|
2203
|
+
import { fixture as stringPadStartFixture } from '../../../adapter-tests/fixtures/methods/string-padStart'
|
|
2204
|
+
import { fixture as stringPadEndFixture } from '../../../adapter-tests/fixtures/methods/string-padEnd'
|
|
2190
2205
|
// #1448 Tier B — .sort / .toSorted fixtures.
|
|
2191
2206
|
import { fixture as arraySortFieldAscFixture } from '../../../adapter-tests/fixtures/methods/array-sort-field-asc'
|
|
2192
2207
|
import { fixture as arraySortFieldDescFixture } from '../../../adapter-tests/fixtures/methods/array-sort-field-desc'
|
|
@@ -2214,6 +2229,13 @@ describe('GoTemplateAdapter - #1448 Tier A/B fixture-driven lowering pins', () =
|
|
|
2214
2229
|
{ fixture: arrayAtFixture, expect: 'bf_at .Items (bf_neg 1)' },
|
|
2215
2230
|
{ fixture: arrayConcatFixture, expect: 'bf_concat .Left .Right' },
|
|
2216
2231
|
{ fixture: arraySliceFixture, expect: 'bf_slice .Items 1 3' },
|
|
2232
|
+
// #1448 full-arity — zero-arg defaults. `.slice()` → start 0 (full
|
|
2233
|
+
// copy); `.join()` → default `,` separator.
|
|
2234
|
+
{ fixture: arraySliceCopyFixture, expect: 'bf_slice .Items 0' },
|
|
2235
|
+
{ fixture: arrayJoinDefaultFixture, expect: 'bf_join (.Items) ","' },
|
|
2236
|
+
// `.at()` → index 0; `.concat()` → the receiver (shallow copy).
|
|
2237
|
+
{ fixture: arrayAtDefaultFixture, expect: 'bf_at .Items 0' },
|
|
2238
|
+
{ fixture: arrayConcatCopyFixture, expect: 'bf_join (.Items) "|"' },
|
|
2217
2239
|
{ fixture: arrayReverseFixture, expect: 'bf_reverse .Items' },
|
|
2218
2240
|
// .toReversed shares the helper with .reverse — pinning both
|
|
2219
2241
|
// routings catches a future divergence between them.
|
|
@@ -2221,6 +2243,24 @@ describe('GoTemplateAdapter - #1448 Tier A/B fixture-driven lowering pins', () =
|
|
|
2221
2243
|
{ fixture: stringToLowerCaseFixture,expect: 'bf_lower .Value' },
|
|
2222
2244
|
{ fixture: stringToUpperCaseFixture,expect: 'bf_upper .Value' },
|
|
2223
2245
|
{ fixture: stringTrimFixture, expect: 'bf_trim .Value' },
|
|
2246
|
+
// #1448 Tier B — string → array. `.split(',')` lowers to
|
|
2247
|
+
// `bf_split`, here chained into `.join('|')` so the slice is
|
|
2248
|
+
// observable (`bf_join (bf_split .Value ",") "|"`).
|
|
2249
|
+
{ fixture: stringSplitFixture, expect: 'bf_split .Value ","' },
|
|
2250
|
+
{ fixture: stringSplitLimitFixture, expect: 'bf_split .Value "," 2' },
|
|
2251
|
+
// #1448 Tier B — string → boolean at condition position, so the
|
|
2252
|
+
// emit lands inside `{{if ...}}`.
|
|
2253
|
+
{ fixture: stringStartsWithFixture, expect: '{{if bf_starts_with .Value .Prefix}}' },
|
|
2254
|
+
{ fixture: stringStartsWithPositionFixture, expect: '{{if bf_starts_with .Value "world" 6}}' },
|
|
2255
|
+
{ fixture: stringEndsWithFixture, expect: '{{if bf_ends_with .Value .Suffix}}' },
|
|
2256
|
+
{ fixture: stringEndsWithPositionFixture, expect: '{{if bf_ends_with .Value "hello" 5}}' },
|
|
2257
|
+
// #1448 Tier B — string → string, first-occurrence replace.
|
|
2258
|
+
{ fixture: stringReplaceFixture, expect: 'bf_replace .Value "o" "0"' },
|
|
2259
|
+
// #1448 Tier B — string → string, repeat n times.
|
|
2260
|
+
{ fixture: stringRepeatFixture, expect: 'bf_repeat .Value 3' },
|
|
2261
|
+
// #1448 Tier B — string → string, padded to a target width.
|
|
2262
|
+
{ fixture: stringPadStartFixture, expect: 'bf_pad_start .Value 5 "0"' },
|
|
2263
|
+
{ fixture: stringPadEndFixture, expect: 'bf_pad_end .Value 5 "."' },
|
|
2224
2264
|
// #1448 Tier B — sort / toSorted. Loop-chained shapes wrap the
|
|
2225
2265
|
// iterable in `bf_sort .Items <kind> <key> <type> <dir>`;
|
|
2226
2266
|
// standalone shapes inline the helper at the call site.
|
|
@@ -2327,15 +2367,22 @@ export function C() {
|
|
|
2327
2367
|
{ name: 'reduce', expr: `items().reduce((a, b) => a + b.n, 0)`, badEmit: '.Reduce' },
|
|
2328
2368
|
{ name: 'flatMap', expr: `items().flatMap(i => i.tags)`, badEmit: '.FlatMap' },
|
|
2329
2369
|
{ name: 'flat', expr: `items().flat()`, badEmit: '.Flat' },
|
|
2370
|
+
// Lowered methods whose MEANINGFUL extra argument isn't lowered yet
|
|
2371
|
+
// (#1448): the `fromIndex` of `.includes`/`.indexOf`/`.lastIndexOf`
|
|
2372
|
+
// and the variadic `.concat`. The parser refuses these (silently
|
|
2373
|
+
// dropping the arg would change the result) rather than emitting a
|
|
2374
|
+
// render-crashing `.Includes` / `.Concat` field access. (The
|
|
2375
|
+
// zero-arg defaults `.join()`/`.slice()` and JS-ignored trailing
|
|
2376
|
+
// args like `.trim(1)` are accepted — pinned in the positive blocks.)
|
|
2377
|
+
{ name: 'includes (2-arg fromIndex)', expr: `items().includes("a", 1)`, badEmit: '.Includes' },
|
|
2378
|
+
{ name: 'concat (variadic)', expr: `items().concat(items(), items())`, badEmit: '.Concat' },
|
|
2330
2379
|
// Tier B/C string methods — previously slipped through with no
|
|
2331
|
-
// diagnostic; now gated by `UNSUPPORTED_METHODS`.
|
|
2332
|
-
|
|
2333
|
-
|
|
2334
|
-
|
|
2335
|
-
|
|
2336
|
-
|
|
2337
|
-
{ name: 'padStart', expr: `name().padStart(5, "0")`, badEmit: '.Name.PadStart' },
|
|
2338
|
-
{ name: 'padEnd', expr: `name().padEnd(5, "0")`, badEmit: '.Name.PadEnd' },
|
|
2380
|
+
// diagnostic; now gated by `UNSUPPORTED_METHODS`. The full Tier B
|
|
2381
|
+
// string set (`split`, `startsWith`, `endsWith`, `replace`,
|
|
2382
|
+
// `repeat`, `padStart`, `padEnd`) has since landed its full-arity
|
|
2383
|
+
// lowering and moved to the positive fixture-pin block above. The
|
|
2384
|
+
// regex-pattern `replace` form is pinned separately below; `charAt`
|
|
2385
|
+
// is Tier C and stays refused entirely.
|
|
2339
2386
|
{ name: 'charAt', expr: `name().charAt(0)`, badEmit: '.Name.CharAt' },
|
|
2340
2387
|
]
|
|
2341
2388
|
for (const { name, expr, badEmit } of unsupported) {
|
|
@@ -2355,24 +2402,43 @@ export function C() {
|
|
|
2355
2402
|
}
|
|
2356
2403
|
|
|
2357
2404
|
// Predicate-level use of an unsupported string method also fails the
|
|
2358
|
-
// build loudly (intended): a `.filter(t => t.name.
|
|
2405
|
+
// build loudly (intended): a `.filter(t => t.name.charAt(0) === "a")`
|
|
2359
2406
|
// whose predicate calls one of the gated methods now refuses the whole
|
|
2360
2407
|
// loop with BF101 (via the shared `isSupported` predicate gate in
|
|
2361
|
-
// jsx-to-ir) rather than lowering to a broken `.
|
|
2408
|
+
// jsx-to-ir) rather than lowering to a broken `.CharAt` inside the
|
|
2362
2409
|
// range. Pinning this so the loud-failure contract can't silently
|
|
2363
|
-
// regress back to the old emit-broken-template behaviour.
|
|
2410
|
+
// regress back to the old emit-broken-template behaviour. (`charAt`
|
|
2411
|
+
// is a Tier C method that stays refused — earlier this test used
|
|
2412
|
+
// `startsWith`, which has since landed its Tier B lowering.)
|
|
2364
2413
|
test('unsupported string method inside a .filter() predicate raises BF101', () => {
|
|
2365
2414
|
const result = compileJSX(`
|
|
2366
2415
|
"use client"
|
|
2367
2416
|
import { createSignal } from "@barefootjs/client"
|
|
2368
2417
|
export function C() {
|
|
2369
2418
|
const [items, setItems] = createSignal<{ name: string }[]>([])
|
|
2370
|
-
return <ul>{items().filter(t => t.name.
|
|
2419
|
+
return <ul>{items().filter(t => t.name.charAt(0) === "a").map(t => <li key={t.name}>{t.name}</li>)}</ul>
|
|
2371
2420
|
}
|
|
2372
2421
|
`.trimStart(), 'test.tsx', { adapter: new GoTemplateAdapter() })
|
|
2373
2422
|
expect(result.errors?.some(e => e.code === 'BF101')).toBe(true)
|
|
2374
2423
|
})
|
|
2375
2424
|
|
|
2425
|
+
// The string-pattern form of `.replace` lowers (#1448 Tier B), but
|
|
2426
|
+
// the regex-pattern form stays refused with BF101 — the Perl `s///`
|
|
2427
|
+
// vs Go `regexp.ReplaceAllString` flavour gap is the open design
|
|
2428
|
+
// question. Pinning the refusal so the string-form lowering can't
|
|
2429
|
+
// accidentally start emitting a broken `.Replace` for the regex form.
|
|
2430
|
+
test('regex-pattern .replace raises BF101 (string-pattern form is lowered)', () => {
|
|
2431
|
+
const result = compileJSX(`
|
|
2432
|
+
function C({ value }: { value: string }) {
|
|
2433
|
+
return <div>{value.replace(/o/g, "0")}</div>
|
|
2434
|
+
}
|
|
2435
|
+
export { C }
|
|
2436
|
+
`.trimStart(), 'test.tsx', { adapter: new GoTemplateAdapter() })
|
|
2437
|
+
expect(result.errors?.some(e => e.code === 'BF101')).toBe(true)
|
|
2438
|
+
const template = result.files?.find(f => f.path.endsWith('.tmpl'))?.content ?? ''
|
|
2439
|
+
expect(template).not.toContain('.Replace')
|
|
2440
|
+
})
|
|
2441
|
+
|
|
2376
2442
|
// Tier B `.sort` / `.toSorted` follow-ups still refused with BF021.
|
|
2377
2443
|
const unsupportedSort: Array<[string, string]> = [
|
|
2378
2444
|
['function-reference comparator', `items().toSorted(myCmp).map(x => <li key={x.name}>{x.name}</li>)`],
|
|
@@ -2404,7 +2470,9 @@ export function C() {
|
|
|
2404
2470
|
// more `can't evaluate field …` crash), so we assert the build error
|
|
2405
2471
|
// rather than a render crash. Skipped on hosts without Go.
|
|
2406
2472
|
test('e2e: @client renders placeholder; bare is caught at build with BF101', async () => {
|
|
2407
|
-
|
|
2473
|
+
// Uses the Tier C `charAt` (still refused) — earlier this test used
|
|
2474
|
+
// `repeat`, which has since landed its #1448 Tier B lowering.
|
|
2475
|
+
const bare = emit(`name().charAt(0)`, false)
|
|
2408
2476
|
expect(bare.errors.some(e => e.code === 'BF101')).toBe(true)
|
|
2409
2477
|
|
|
2410
2478
|
try {
|
|
@@ -2414,7 +2482,7 @@ export function C() {
|
|
|
2414
2482
|
import { createSignal } from "@barefootjs/client"
|
|
2415
2483
|
export function C() {
|
|
2416
2484
|
const [name, setName] = createSignal("hello")
|
|
2417
|
-
return <div>{/* @client */ name().
|
|
2485
|
+
return <div>{/* @client */ name().charAt(0)}</div>
|
|
2418
2486
|
}
|
|
2419
2487
|
`.trimStart(),
|
|
2420
2488
|
adapter: new GoTemplateAdapter(),
|
|
@@ -3109,7 +3109,9 @@ export class GoTemplateAdapter extends BaseAdapter implements ParsedExprEmitter,
|
|
|
3109
3109
|
switch (method) {
|
|
3110
3110
|
case 'join': {
|
|
3111
3111
|
const obj = emit(object)
|
|
3112
|
-
|
|
3112
|
+
// `.join()` defaults the separator to `,` (JS); any extra
|
|
3113
|
+
// argument is ignored. Only `args[0]` is read.
|
|
3114
|
+
const sep = args.length >= 1 ? emit(args[0]) : '","'
|
|
3113
3115
|
// Both operands need paren-wrapping when they emit a
|
|
3114
3116
|
// multi-token prefix-call form (e.g. `sep` lowering to
|
|
3115
3117
|
// `bf_trim .Raw` would make Go template parse
|
|
@@ -3145,30 +3147,36 @@ export class GoTemplateAdapter extends BaseAdapter implements ParsedExprEmitter,
|
|
|
3145
3147
|
// `.at(i)` supports negative indices (`.at(-1)` → last
|
|
3146
3148
|
// element). The Go `bf_at` helper was already registered in
|
|
3147
3149
|
// the FuncMap for the runtime — this PR wires it to the JS
|
|
3148
|
-
// method name at the adapter layer.
|
|
3150
|
+
// method name at the adapter layer. `.at()` with no argument is
|
|
3151
|
+
// `.at(0)` (the first element); extra arguments are ignored.
|
|
3149
3152
|
const obj = emit(object)
|
|
3150
|
-
const idx = emit(args[0])
|
|
3153
|
+
const idx = args.length >= 1 ? emit(args[0]) : '0'
|
|
3151
3154
|
return `bf_at ${wrapIfMultiToken(obj)} ${wrapIfMultiToken(idx)}`
|
|
3152
3155
|
}
|
|
3153
3156
|
case 'concat': {
|
|
3154
3157
|
// `.concat(other)` merges two arrays. The runtime helper
|
|
3155
3158
|
// `bf_concat` reflects over both operands so callers can
|
|
3156
3159
|
// mix `[]string` + `[]string` or `[]any` + `[]string` etc.
|
|
3157
|
-
// without per-call-site type-juggling.
|
|
3160
|
+
// without per-call-site type-juggling. `.concat()` with no
|
|
3161
|
+
// argument is a shallow copy — indistinguishable from the
|
|
3162
|
+
// receiver in an SSR snapshot, so it lowers to the receiver.
|
|
3163
|
+
if (args.length === 0) {
|
|
3164
|
+
return emit(object)
|
|
3165
|
+
}
|
|
3158
3166
|
const a = emit(object)
|
|
3159
3167
|
const b = emit(args[0])
|
|
3160
3168
|
return `bf_concat ${wrapIfMultiToken(a)} ${wrapIfMultiToken(b)}`
|
|
3161
3169
|
}
|
|
3162
3170
|
case 'slice': {
|
|
3163
|
-
// `.slice(start)` / `.slice(start, end)` —
|
|
3164
|
-
// through `bf_slice`.
|
|
3165
|
-
//
|
|
3166
|
-
//
|
|
3167
|
-
//
|
|
3168
|
-
//
|
|
3171
|
+
// `.slice()` / `.slice(start)` / `.slice(start, end)` — route
|
|
3172
|
+
// through `bf_slice`. A missing `start` defaults to 0 (full
|
|
3173
|
+
// copy); the runtime helper treats an absent `end` as "to
|
|
3174
|
+
// length". Out-of-bounds indices clamp instead of panicking
|
|
3175
|
+
// (JS-compat); `start > end` returns an empty slice. JS ignores
|
|
3176
|
+
// a third+ argument, so only `args[0]` / `args[1]` are read.
|
|
3169
3177
|
const recv = emit(object)
|
|
3170
|
-
const start = emit(args[0])
|
|
3171
|
-
if (args.length
|
|
3178
|
+
const start = args.length >= 1 ? emit(args[0]) : '0'
|
|
3179
|
+
if (args.length <= 1) {
|
|
3172
3180
|
return `bf_slice ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(start)}`
|
|
3173
3181
|
}
|
|
3174
3182
|
const end = emit(args[1])
|
|
@@ -3204,6 +3212,78 @@ export class GoTemplateAdapter extends BaseAdapter implements ParsedExprEmitter,
|
|
|
3204
3212
|
const recv = emit(object)
|
|
3205
3213
|
return `bf_trim ${wrapIfMultiToken(recv)}`
|
|
3206
3214
|
}
|
|
3215
|
+
case 'split': {
|
|
3216
|
+
// `.split()` / `.split(sep)` / `.split(sep, limit)` — string →
|
|
3217
|
+
// `[]any`. No separator → the whole string as a single element
|
|
3218
|
+
// (`bf_arr`). Otherwise `bf_split` (wraps `strings.Split`,
|
|
3219
|
+
// normalised to `[]any`); a second `limit` argument caps the
|
|
3220
|
+
// pieces. JS ignores a third+ argument. See #1448 Tier B.
|
|
3221
|
+
const recv = emit(object)
|
|
3222
|
+
if (args.length === 0) {
|
|
3223
|
+
return `bf_arr ${wrapIfMultiToken(recv)}`
|
|
3224
|
+
}
|
|
3225
|
+
const sep = emit(args[0])
|
|
3226
|
+
if (args.length === 1) {
|
|
3227
|
+
return `bf_split ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(sep)}`
|
|
3228
|
+
}
|
|
3229
|
+
const limit = emit(args[1])
|
|
3230
|
+
return `bf_split ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(sep)} ${wrapIfMultiToken(limit)}`
|
|
3231
|
+
}
|
|
3232
|
+
case 'startsWith':
|
|
3233
|
+
case 'endsWith': {
|
|
3234
|
+
// `.startsWith(prefix, position?)` / `.endsWith(suffix,
|
|
3235
|
+
// endPosition?)` — string → boolean via the `bf_starts_with` /
|
|
3236
|
+
// `bf_ends_with` helpers (`strings.HasPrefix` /
|
|
3237
|
+
// `strings.HasSuffix`). The optional second argument re-anchors
|
|
3238
|
+
// the test; JS ignores a third+ argument. See #1448 Tier B.
|
|
3239
|
+
const fn = method === 'startsWith' ? 'bf_starts_with' : 'bf_ends_with'
|
|
3240
|
+
const recv = emit(object)
|
|
3241
|
+
const arg = emit(args[0])
|
|
3242
|
+
const base = `${fn} ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(arg)}`
|
|
3243
|
+
if (args.length >= 2) {
|
|
3244
|
+
return `${base} ${wrapIfMultiToken(emit(args[1]))}`
|
|
3245
|
+
}
|
|
3246
|
+
return base
|
|
3247
|
+
}
|
|
3248
|
+
case 'replace': {
|
|
3249
|
+
// `.replace(old, new)` — string-pattern form, first occurrence
|
|
3250
|
+
// only, via the new `bf_replace` helper (`strings.Replace` with
|
|
3251
|
+
// n=1). The regex-pattern form is refused upstream at the
|
|
3252
|
+
// parser. See #1448 Tier B.
|
|
3253
|
+
const recv = emit(object)
|
|
3254
|
+
const oldS = emit(args[0])
|
|
3255
|
+
const newS = emit(args[1])
|
|
3256
|
+
return `bf_replace ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(oldS)} ${wrapIfMultiToken(newS)}`
|
|
3257
|
+
}
|
|
3258
|
+
case 'repeat': {
|
|
3259
|
+
// `.repeat(n)` — string repeated `n` times via the `bf_repeat`
|
|
3260
|
+
// helper. The helper clamps a negative count to "" instead of
|
|
3261
|
+
// letting `strings.Repeat` panic. Full JS arity: the no-argument
|
|
3262
|
+
// form is `repeat(0)` → ""; a second+ argument is ignored.
|
|
3263
|
+
// See #1448 Tier B.
|
|
3264
|
+
const recv = emit(object)
|
|
3265
|
+
const count = args.length === 0 ? '0' : emit(args[0])
|
|
3266
|
+
return `bf_repeat ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(count)}`
|
|
3267
|
+
}
|
|
3268
|
+
case 'padStart':
|
|
3269
|
+
case 'padEnd': {
|
|
3270
|
+
// `.padStart(target, pad?)` / `.padEnd(target, pad?)` — pad to
|
|
3271
|
+
// `target` runes with `pad` (default a single space, supplied
|
|
3272
|
+
// by the variadic helper when the arg is absent). Full JS arity:
|
|
3273
|
+
// the no-argument form is `padStart(0)` → the receiver
|
|
3274
|
+
// unchanged; a third+ argument is ignored. See #1448 Tier B.
|
|
3275
|
+
const fn = method === 'padStart' ? 'bf_pad_start' : 'bf_pad_end'
|
|
3276
|
+
const recv = emit(object)
|
|
3277
|
+
if (args.length === 0) {
|
|
3278
|
+
return `${fn} ${wrapIfMultiToken(recv)} 0`
|
|
3279
|
+
}
|
|
3280
|
+
const target = emit(args[0])
|
|
3281
|
+
if (args.length === 1) {
|
|
3282
|
+
return `${fn} ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(target)}`
|
|
3283
|
+
}
|
|
3284
|
+
const pad = emit(args[1])
|
|
3285
|
+
return `${fn} ${wrapIfMultiToken(recv)} ${wrapIfMultiToken(target)} ${wrapIfMultiToken(pad)}`
|
|
3286
|
+
}
|
|
3207
3287
|
default: {
|
|
3208
3288
|
const _exhaustive: never = method
|
|
3209
3289
|
throw new Error(`Go arrayMethod: unhandled ArrayMethod '${(_exhaustive as string)}'`)
|