demo working using typescript; some type issues picked up
This commit is contained in:
parent
722c4de693
commit
6cef29f47f
@ -45,9 +45,15 @@ ts_compile.character <- function(
|
|||||||
"import { Robj } from 'rserve-ts';",
|
"import { Robj } from 'rserve-ts';",
|
||||||
"import { z } from 'zod';",
|
"import { z } from 'zod';",
|
||||||
"\n",
|
"\n",
|
||||||
x
|
x,
|
||||||
|
"\n",
|
||||||
|
sprintf("export default {\n %s\n};", paste(ls(e), collapse = ",\n "))
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# if (file != "" && file.exists(file)) {
|
||||||
|
# stop(sprintf("File exists: %s", file))
|
||||||
|
# return()
|
||||||
|
# }
|
||||||
cat(src, file = file, sep = "\n")
|
cat(src, file = file, sep = "\n")
|
||||||
|
|
||||||
invisible()
|
invisible()
|
||||||
|
|||||||
@ -120,7 +120,7 @@ ts_array <- function(type = c("z.number()", "z.boolean()", "z.string()")) {
|
|||||||
if (type == "z.boolean()") {
|
if (type == "z.boolean()") {
|
||||||
return("z.instanceof(Uint8Array)")
|
return("z.instanceof(Uint8Array)")
|
||||||
}
|
}
|
||||||
return("Robj.character(0)")
|
return("z.array(z.string())")
|
||||||
}
|
}
|
||||||
|
|
||||||
n_type <- function(n, type, pl = ts_array(type)) {
|
n_type <- function(n, type, pl = ts_array(type)) {
|
||||||
@ -173,7 +173,11 @@ ts_integer <- function(n = -1L) {
|
|||||||
n_type(n, "z.number()", "z.instanceof(Int32Array)"),
|
n_type(n, "z.number()", "z.instanceof(Int32Array)"),
|
||||||
n_type_fun(n, "Robj.integer"),
|
n_type_fun(n, "Robj.integer"),
|
||||||
check = function(x) {
|
check = function(x) {
|
||||||
if (!is.integer(x)) stop("Expected an integer")
|
if (!is.numeric(x)) stop("Expected a number")
|
||||||
|
if (!all.equal(x, as.integer(x))) {
|
||||||
|
# javascript only has one number type
|
||||||
|
stop("Expected an integer")
|
||||||
|
}
|
||||||
if (n > 0 && length(x) != n) {
|
if (n > 0 && length(x) != n) {
|
||||||
stop("Expected an integer of length ", n)
|
stop("Expected an integer of length ", n)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,12 +1,13 @@
|
|||||||
library(ts)
|
library(ts)
|
||||||
|
|
||||||
fn_mean <- ts_function(mean, x = ts_numeric(), result = ts_numeric(1))
|
fn_mean <- ts_function(mean, x = ts_numeric(), result = ts_numeric(1))
|
||||||
fn_first <- ts_function(function(x = ts_character(-1)) x[1],
|
fn_first <- ts_function(function(x = ts_character()) x[1],
|
||||||
result = ts_character(1)
|
result = ts_character(1)
|
||||||
)
|
)
|
||||||
|
|
||||||
sample_num <- ts_function(
|
sample_num <- ts_function(
|
||||||
sample,
|
sample,
|
||||||
x = ts_numeric(0),
|
x = ts_numeric(0),
|
||||||
result = ts_numeric(1)
|
size = ts_integer(1),
|
||||||
|
result = ts_numeric()
|
||||||
)
|
)
|
||||||
|
|||||||
@ -4,14 +4,15 @@ library(ts)
|
|||||||
library(ts)
|
library(ts)
|
||||||
|
|
||||||
fn_mean <- ts_function(mean, x = ts_numeric(), result = ts_numeric(1))
|
fn_mean <- ts_function(mean, x = ts_numeric(), result = ts_numeric(1))
|
||||||
fn_first <- ts_function(function(x = ts_character(-1)) x[1],
|
fn_first <- ts_function(function(x = ts_character()) x[1],
|
||||||
result = ts_character(1)
|
result = ts_character(1)
|
||||||
)
|
)
|
||||||
|
|
||||||
sample_num <- ts_function(
|
sample_num <- ts_function(
|
||||||
sample,
|
sample,
|
||||||
x = ts_numeric(0),
|
x = ts_numeric(0),
|
||||||
result = ts_numeric(1)
|
size = ts_integer(1),
|
||||||
|
result = ts_numeric()
|
||||||
)
|
)
|
||||||
first.fns <- function() ts_app(list(
|
first.fns <- function() ts_app(list(
|
||||||
fn_first = fn_first,
|
fn_first = fn_first,
|
||||||
|
|||||||
@ -1,25 +0,0 @@
|
|||||||
var R = require("./node_modules/rserve-ts/dist/index.js").default;
|
|
||||||
global.WebSocket = require("ws");
|
|
||||||
|
|
||||||
async function main() {
|
|
||||||
const con = await R.create({
|
|
||||||
host: "http://127.0.0.1:6311",
|
|
||||||
});
|
|
||||||
|
|
||||||
const app = await con.ocap();
|
|
||||||
|
|
||||||
console.log(app);
|
|
||||||
console.log(app.fn_mean);
|
|
||||||
|
|
||||||
app.fn_mean(new Float64Array([1, 2, 3, 4, 5]), (err, res) => {
|
|
||||||
if (err) {
|
|
||||||
console.error(err);
|
|
||||||
process.exit(1);
|
|
||||||
}
|
|
||||||
console.log("Mean:", res);
|
|
||||||
process.exit(0);
|
|
||||||
});
|
|
||||||
// console.log("Mean:", m);
|
|
||||||
}
|
|
||||||
console.log("Running sampler script...\n");
|
|
||||||
main();
|
|
||||||
@ -2,13 +2,20 @@ import { Robj } from "rserve-ts";
|
|||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
const fn_first = Robj.ocap(
|
const fn_first = Robj.ocap(
|
||||||
[z.union([z.string(), Robj.character(0)])],
|
[z.union([z.string(), z.array(z.string())])],
|
||||||
Robj.character(1)
|
Robj.character(1)
|
||||||
);
|
);
|
||||||
|
|
||||||
const fn_mean = Robj.ocap(
|
const fn_mean = Robj.ocap(
|
||||||
[z.union([z.number(), z.instanceof(Float64Array)])],
|
[z.union([z.number(), z.instanceof(Float64Array)])],
|
||||||
Robj.numeric(1)
|
Robj.numeric(1)
|
||||||
);
|
);
|
||||||
|
const sample_num = Robj.ocap(
|
||||||
|
[z.instanceof(Float64Array), z.number()],
|
||||||
|
Robj.numeric()
|
||||||
|
);
|
||||||
|
|
||||||
const sample_num = Robj.ocap([z.instanceof(Float64Array)], Robj.numeric(1));
|
export default {
|
||||||
|
fn_first,
|
||||||
|
fn_mean,
|
||||||
|
sample_num,
|
||||||
|
};
|
||||||
33
tests/testthat/sampler/app.ts
Normal file
33
tests/testthat/sampler/app.ts
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
// var R = require("./node_modules/rserve-ts/dist/index.js").default;
|
||||||
|
// global.WebSocket = require("ws");
|
||||||
|
|
||||||
|
import RserveClient from "rserve-ts";
|
||||||
|
import WebSocket from "ws";
|
||||||
|
|
||||||
|
interface global {
|
||||||
|
WebSocket: typeof WebSocket;
|
||||||
|
}
|
||||||
|
|
||||||
|
global.WebSocket = WebSocket as any;
|
||||||
|
|
||||||
|
import appFuns from "./app.schema";
|
||||||
|
|
||||||
|
async function main() {
|
||||||
|
const con = await RserveClient.create({
|
||||||
|
host: "http://127.0.0.1:6311",
|
||||||
|
});
|
||||||
|
const app = await con.ocap(appFuns);
|
||||||
|
|
||||||
|
const m = await app.fn_mean(new Float64Array([1, 2, 3, 4, 5]));
|
||||||
|
console.log("Mean:", m);
|
||||||
|
|
||||||
|
const f = await app.fn_first(["hello", "world"]);
|
||||||
|
console.log("First char:", f);
|
||||||
|
|
||||||
|
const s = await app.sample_num(new Float64Array([1, 2, 3, 4, 5]), 2);
|
||||||
|
console.log("Sample num:", s);
|
||||||
|
|
||||||
|
process.exit(0);
|
||||||
|
}
|
||||||
|
console.log("Running sampler script...\n");
|
||||||
|
main();
|
||||||
0
tests/testthat/sampler/index.js
Normal file
0
tests/testthat/sampler/index.js
Normal file
@ -10,7 +10,12 @@
|
|||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@types/node": "^22.10.7",
|
||||||
|
"@types/ws": "^8.5.13",
|
||||||
"rserve-ts": "^0.6.1",
|
"rserve-ts": "^0.6.1",
|
||||||
"ws": "^8.18.0"
|
"ts-node": "^10.9.2",
|
||||||
|
"typescript": "^5.7.3",
|
||||||
|
"ws": "^8.18.0",
|
||||||
|
"zod": "^3.24.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
167
tests/testthat/sampler/pnpm-lock.yaml
generated
167
tests/testthat/sampler/pnpm-lock.yaml
generated
@ -8,21 +8,115 @@ importers:
|
|||||||
|
|
||||||
.:
|
.:
|
||||||
dependencies:
|
dependencies:
|
||||||
|
'@types/node':
|
||||||
|
specifier: ^22.10.7
|
||||||
|
version: 22.10.7
|
||||||
|
'@types/ws':
|
||||||
|
specifier: ^8.5.13
|
||||||
|
version: 8.5.13
|
||||||
rserve-ts:
|
rserve-ts:
|
||||||
specifier: ^0.6.1
|
specifier: ^0.6.1
|
||||||
version: 0.6.1
|
version: 0.6.1
|
||||||
|
ts-node:
|
||||||
|
specifier: ^10.9.2
|
||||||
|
version: 10.9.2(@types/node@22.10.7)(typescript@5.7.3)
|
||||||
|
typescript:
|
||||||
|
specifier: ^5.7.3
|
||||||
|
version: 5.7.3
|
||||||
ws:
|
ws:
|
||||||
specifier: ^8.18.0
|
specifier: ^8.18.0
|
||||||
version: 8.18.0
|
version: 8.18.0
|
||||||
|
zod:
|
||||||
|
specifier: ^3.24.1
|
||||||
|
version: 3.24.1
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
|
|
||||||
|
'@cspotcode/source-map-support@0.8.1':
|
||||||
|
resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
|
'@jridgewell/resolve-uri@3.1.2':
|
||||||
|
resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
|
||||||
|
engines: {node: '>=6.0.0'}
|
||||||
|
|
||||||
|
'@jridgewell/sourcemap-codec@1.5.0':
|
||||||
|
resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
|
||||||
|
|
||||||
|
'@jridgewell/trace-mapping@0.3.9':
|
||||||
|
resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
|
||||||
|
|
||||||
|
'@tsconfig/node10@1.0.11':
|
||||||
|
resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==}
|
||||||
|
|
||||||
|
'@tsconfig/node12@1.0.11':
|
||||||
|
resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==}
|
||||||
|
|
||||||
|
'@tsconfig/node14@1.0.3':
|
||||||
|
resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==}
|
||||||
|
|
||||||
|
'@tsconfig/node16@1.0.4':
|
||||||
|
resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
|
||||||
|
|
||||||
|
'@types/node@22.10.7':
|
||||||
|
resolution: {integrity: sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==}
|
||||||
|
|
||||||
|
'@types/ws@8.5.13':
|
||||||
|
resolution: {integrity: sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==}
|
||||||
|
|
||||||
|
acorn-walk@8.3.4:
|
||||||
|
resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==}
|
||||||
|
engines: {node: '>=0.4.0'}
|
||||||
|
|
||||||
|
acorn@8.14.0:
|
||||||
|
resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
|
||||||
|
engines: {node: '>=0.4.0'}
|
||||||
|
hasBin: true
|
||||||
|
|
||||||
|
arg@4.1.3:
|
||||||
|
resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
|
||||||
|
|
||||||
|
create-require@1.1.1:
|
||||||
|
resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
|
||||||
|
|
||||||
|
diff@4.0.2:
|
||||||
|
resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
|
||||||
|
engines: {node: '>=0.3.1'}
|
||||||
|
|
||||||
|
make-error@1.3.6:
|
||||||
|
resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
|
||||||
|
|
||||||
rserve-ts@0.6.1:
|
rserve-ts@0.6.1:
|
||||||
resolution: {integrity: sha512-oxT5ZttA/IExReAjZzKc80f8ug/y/xeIi2YhKSqvy9Hf7nQaQTmmtmDLfJ+vxqLuPRnhxHwjqhsjN2NpxDtLRw==}
|
resolution: {integrity: sha512-oxT5ZttA/IExReAjZzKc80f8ug/y/xeIi2YhKSqvy9Hf7nQaQTmmtmDLfJ+vxqLuPRnhxHwjqhsjN2NpxDtLRw==}
|
||||||
|
|
||||||
|
ts-node@10.9.2:
|
||||||
|
resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==}
|
||||||
|
hasBin: true
|
||||||
|
peerDependencies:
|
||||||
|
'@swc/core': '>=1.2.50'
|
||||||
|
'@swc/wasm': '>=1.2.50'
|
||||||
|
'@types/node': '*'
|
||||||
|
typescript: '>=2.7'
|
||||||
|
peerDependenciesMeta:
|
||||||
|
'@swc/core':
|
||||||
|
optional: true
|
||||||
|
'@swc/wasm':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
typescript@5.7.3:
|
||||||
|
resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==}
|
||||||
|
engines: {node: '>=14.17'}
|
||||||
|
hasBin: true
|
||||||
|
|
||||||
underscore@1.13.7:
|
underscore@1.13.7:
|
||||||
resolution: {integrity: sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==}
|
resolution: {integrity: sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==}
|
||||||
|
|
||||||
|
undici-types@6.20.0:
|
||||||
|
resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
|
||||||
|
|
||||||
|
v8-compile-cache-lib@3.0.1:
|
||||||
|
resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
|
||||||
|
|
||||||
ws@8.18.0:
|
ws@8.18.0:
|
||||||
resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
|
resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
|
||||||
engines: {node: '>=10.0.0'}
|
engines: {node: '>=10.0.0'}
|
||||||
@ -35,18 +129,91 @@ packages:
|
|||||||
utf-8-validate:
|
utf-8-validate:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
yn@3.1.1:
|
||||||
|
resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
|
||||||
|
engines: {node: '>=6'}
|
||||||
|
|
||||||
zod@3.24.1:
|
zod@3.24.1:
|
||||||
resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==}
|
resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==}
|
||||||
|
|
||||||
snapshots:
|
snapshots:
|
||||||
|
|
||||||
|
'@cspotcode/source-map-support@0.8.1':
|
||||||
|
dependencies:
|
||||||
|
'@jridgewell/trace-mapping': 0.3.9
|
||||||
|
|
||||||
|
'@jridgewell/resolve-uri@3.1.2': {}
|
||||||
|
|
||||||
|
'@jridgewell/sourcemap-codec@1.5.0': {}
|
||||||
|
|
||||||
|
'@jridgewell/trace-mapping@0.3.9':
|
||||||
|
dependencies:
|
||||||
|
'@jridgewell/resolve-uri': 3.1.2
|
||||||
|
'@jridgewell/sourcemap-codec': 1.5.0
|
||||||
|
|
||||||
|
'@tsconfig/node10@1.0.11': {}
|
||||||
|
|
||||||
|
'@tsconfig/node12@1.0.11': {}
|
||||||
|
|
||||||
|
'@tsconfig/node14@1.0.3': {}
|
||||||
|
|
||||||
|
'@tsconfig/node16@1.0.4': {}
|
||||||
|
|
||||||
|
'@types/node@22.10.7':
|
||||||
|
dependencies:
|
||||||
|
undici-types: 6.20.0
|
||||||
|
|
||||||
|
'@types/ws@8.5.13':
|
||||||
|
dependencies:
|
||||||
|
'@types/node': 22.10.7
|
||||||
|
|
||||||
|
acorn-walk@8.3.4:
|
||||||
|
dependencies:
|
||||||
|
acorn: 8.14.0
|
||||||
|
|
||||||
|
acorn@8.14.0: {}
|
||||||
|
|
||||||
|
arg@4.1.3: {}
|
||||||
|
|
||||||
|
create-require@1.1.1: {}
|
||||||
|
|
||||||
|
diff@4.0.2: {}
|
||||||
|
|
||||||
|
make-error@1.3.6: {}
|
||||||
|
|
||||||
rserve-ts@0.6.1:
|
rserve-ts@0.6.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
underscore: 1.13.7
|
underscore: 1.13.7
|
||||||
zod: 3.24.1
|
zod: 3.24.1
|
||||||
|
|
||||||
|
ts-node@10.9.2(@types/node@22.10.7)(typescript@5.7.3):
|
||||||
|
dependencies:
|
||||||
|
'@cspotcode/source-map-support': 0.8.1
|
||||||
|
'@tsconfig/node10': 1.0.11
|
||||||
|
'@tsconfig/node12': 1.0.11
|
||||||
|
'@tsconfig/node14': 1.0.3
|
||||||
|
'@tsconfig/node16': 1.0.4
|
||||||
|
'@types/node': 22.10.7
|
||||||
|
acorn: 8.14.0
|
||||||
|
acorn-walk: 8.3.4
|
||||||
|
arg: 4.1.3
|
||||||
|
create-require: 1.1.1
|
||||||
|
diff: 4.0.2
|
||||||
|
make-error: 1.3.6
|
||||||
|
typescript: 5.7.3
|
||||||
|
v8-compile-cache-lib: 3.0.1
|
||||||
|
yn: 3.1.1
|
||||||
|
|
||||||
|
typescript@5.7.3: {}
|
||||||
|
|
||||||
underscore@1.13.7: {}
|
underscore@1.13.7: {}
|
||||||
|
|
||||||
|
undici-types@6.20.0: {}
|
||||||
|
|
||||||
|
v8-compile-cache-lib@3.0.1: {}
|
||||||
|
|
||||||
ws@8.18.0: {}
|
ws@8.18.0: {}
|
||||||
|
|
||||||
|
yn@3.1.1: {}
|
||||||
|
|
||||||
zod@3.24.1: {}
|
zod@3.24.1: {}
|
||||||
|
|||||||
15
tests/testthat/sampler/tsconfig.json
Normal file
15
tests/testthat/sampler/tsconfig.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"target": "es2018",
|
||||||
|
"module": "commonjs",
|
||||||
|
"allowJs": true,
|
||||||
|
"noEmit": true,
|
||||||
|
"esModuleInterop": true,
|
||||||
|
"forceConsistentCasingInFileNames": true,
|
||||||
|
"strict": true,
|
||||||
|
"skipLibCheck": true
|
||||||
|
},
|
||||||
|
"ts-node": {
|
||||||
|
"files": true
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user