Upgrade Preserves, allowing automatic conversion to Preserves values in many cases

This commit is contained in:
Tony Garnock-Jones 2022-01-24 14:11:41 +01:00
parent c5f69295a2
commit 5560ce5aa1
21 changed files with 224 additions and 214 deletions

View File

@ -16,15 +16,15 @@
"author": "Tony Garnock-Jones <tonyg@leastfixedpoint.com>",
"license": "GPL-3.0+",
"dependencies": {
"@syndicate-lang/core": "^0.10",
"@syndicate-lang/html": "^0.10",
"@syndicate-lang/ws-relay": "^0.10"
"@syndicate-lang/core": "*",
"@syndicate-lang/html": "*",
"@syndicate-lang/ws-relay": "*"
},
"devDependencies": {
"@preserves/core": ">=0.18",
"@preserves/schema": ">=0.19",
"@syndicate-lang/ts-plugin": "^0.10",
"@syndicate-lang/tsc": "^0.10",
"@preserves/core": ">=0.19",
"@preserves/schema": ">=0.20",
"@syndicate-lang/ts-plugin": "*",
"@syndicate-lang/tsc": "*",
"rollup": "^2.60",
"rollup-plugin-sourcemaps": "^0.6",
"typescript": "^4.5"

View File

@ -1,11 +1,11 @@
/// SPDX-License-Identifier: GPL-3.0-or-later
/// SPDX-FileCopyrightText: Copyright © 2016-2021 Tony Garnock-Jones <tonyg@leastfixedpoint.com>
import { Dataspace, Ref, Sturdy, AnyValue, Reader, Schemas, isEmbedded } from "@syndicate-lang/core";
import { Dataspace, Ref, Sturdy, AnyValue, Reader, Schemas, Embedded } from "@syndicate-lang/core";
import { boot as bootHtml, Anchor, template as html, HtmlFragments, GlobalEvent, UIAttribute, UIChangeableProperty } from "@syndicate-lang/html";
import { boot as bootWakeDetector, WakeEvent } from "./wake-detector";
import { boot as bootWsRelay, ForceRelayDisconnect, RelayAddress, fromForceRelayDisconnect, Resolved } from "@syndicate-lang/ws-relay";
import { fromSays, fromPresent, Present, Says } from './gen/simpleChatProtocol';
import { boot as bootWsRelay, ForceRelayDisconnect, RelayAddress, Resolved } from "@syndicate-lang/ws-relay";
import { Present, Says } from './gen/simpleChatProtocol';
const Transport = Schemas.transportAddress;
@ -50,14 +50,12 @@ function bootChat(ds: Ref) {
during Resolved({
"addr": RelayAddress(Transport.WebSocket(wsurl)),
"sturdyref": servercap,
"resolved": $remoteDs_e,
"resolved": $remoteDs_e: Embedded,
}) => {
if (!isEmbedded(remoteDs_e)) return;
const remoteDs = remoteDs_e.embeddedValue;
on message WakeEvent() =>
send message fromForceRelayDisconnect(ForceRelayDisconnect(
RelayAddress(Transport.WebSocket(wsurl))));
send message ForceRelayDisconnect(RelayAddress(Transport.WebSocket(wsurl)));
outputState('connected', 'connected to ' + wsurl);
on stop outputState('disconnected', 'disconnected from ' + wsurl);
@ -68,13 +66,13 @@ function bootChat(ds: Ref) {
inp.value = '';
if (utterance) {
at remoteDs {
send message fromSays(Says({ who: nym.value, what: utterance }));
send message Says({ who: nym.value, what: utterance });
}
}
}
at remoteDs {
assert fromPresent(Present(nym.value));
assert Present(nym.value);
const ui = new Anchor();
during Present($who: string) => at ds {

View File

@ -2,17 +2,17 @@
# yarn lockfile v1
"@preserves/core@>=0.18", "@preserves/core@^0.18.1":
version "0.18.1"
resolved "https://registry.yarnpkg.com/@preserves/core/-/core-0.18.1.tgz#7e630fe7e38238bc73f3c0518142f5fe0ae2e819"
integrity sha512-b+YzeAS9vLky6PXF3SzYEcj2lBCnZ6hREdRpsksfzxEm+3IqmKk6daxpe0DsH0fgTVgMTq6+wQPOwAVwx0R6Ag==
"@preserves/core@>=0.18", "@preserves/core@>=0.19", "@preserves/core@^0.19.0":
version "0.19.0"
resolved "https://registry.yarnpkg.com/@preserves/core/-/core-0.19.0.tgz#7105a50beeb5d9531515547ca197a2c122c84935"
integrity sha512-Evsv3PGI51cJlTOr/6v52fTV6cjU11Pq6ogXBIPzfwmlMZ6kB5mx7EweFVwAf0dy5yCgBkq7ILSTCk4ZoV+x1g==
"@preserves/schema@>=0.19":
version "0.19.6"
resolved "https://registry.yarnpkg.com/@preserves/schema/-/schema-0.19.6.tgz#3827e581be899a88bb95ad063f765dc7ca13ca9d"
integrity sha512-cKKh9UwVannzWFgrxaZZ8ksBeQAj6QVclkk0FnCYA/VlOPeNpdgP4u2wYf8ZY71E8Me48ytTsCt/ALbiWI8Dlg==
"@preserves/schema@>=0.19", "@preserves/schema@>=0.20":
version "0.20.0"
resolved "https://registry.yarnpkg.com/@preserves/schema/-/schema-0.20.0.tgz#e1dcb498655114fef06678ff6298b953d127f919"
integrity sha512-TmNCKJwYSN7qksa0wRWfSkchuNIfGUBJLkZp5hBX/6uqtY1RWGa9Q4nICaNuljw+pKaCFlWqpG0ebP5cmJMCGw==
dependencies:
"@preserves/core" "^0.18.1"
"@preserves/core" "^0.19.0"
"@types/glob" "^7.1"
"@types/minimatch" "^3.0"
chalk "^4.1"
@ -35,47 +35,47 @@
resolved "https://registry.yarnpkg.com/@syndicate-lang/compiler/-/compiler-0.10.3.tgz#bf2bddea6195eb1b3160c973b93f4c24fc561645"
integrity sha512-Dc2b6SzpPQuT6zcvm+ncEfHWoFtky0Vb+M/2TJRp4WV/HpFhStZ4/7yqSmF2kcwEKmNO5doZaet295L4xEhG9w==
"@syndicate-lang/core@^0.10", "@syndicate-lang/core@^0.10.4":
version "0.10.4"
resolved "https://registry.yarnpkg.com/@syndicate-lang/core/-/core-0.10.4.tgz#cef419bfc35af2df7b6149fcd2e74e1c14d7f23e"
integrity sha512-LZ7aq/1/Rcl9xssTCwGrJG2/N8i3iJvuQopmyuzhUxmGZ/YQ6+mRdAlOhJvyMZT+De40rISxQQhvW81ew7Aekg==
"@syndicate-lang/core@*", "@syndicate-lang/core@^0.11.0":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/core/-/core-0.11.0.tgz#9cbb35e55a462ce2cb6a7f918708d4dc3be52fe5"
integrity sha512-4VbZkLOhjsL8NPh1X+/Zy9QPKG0ndOFWSoAEdBrDz9dL1PhoJmwPc2xvs2TeseeCkvACCwWep5Lu4OuqD2Yd6w==
dependencies:
"@preserves/core" ">=0.18"
"@preserves/schema" ">=0.19"
"@syndicate-lang/html@^0.10":
version "0.10.5"
resolved "https://registry.yarnpkg.com/@syndicate-lang/html/-/html-0.10.5.tgz#bb6b3f4bfabf0eb60a6e5c95605d7924b8409133"
integrity sha512-zL8RbTsKowG3UGAjyBpReKQSnBDrCb1Z/cNbOIfGPRxmNzfacx2HkGfI8IQgu8CKS8QBCiQluZANJVwxrIUVxw==
"@syndicate-lang/html@*":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/html/-/html-0.11.0.tgz#33e69eda0b72ca2a0a0700d826c498bf04cf16a7"
integrity sha512-xrdU+7Kqpnf3JaG1MVgo6+P1ZFDtwD02i/41UGCdpCzANaN+roQxQ9Z05xnKem37XiAO+lycvjbsRfWih/Sz+A==
dependencies:
"@syndicate-lang/core" "^0.10.4"
"@syndicate-lang/core" "^0.11.0"
"@syndicate-lang/ts-plugin@^0.10":
version "0.10.5"
resolved "https://registry.yarnpkg.com/@syndicate-lang/ts-plugin/-/ts-plugin-0.10.5.tgz#1543d5ed910a16e0cf59d18188e91532fa3603a6"
integrity sha512-L3uH1/BlyQLFVH/trg+lcqPdQNMYch1GV18ePvMq2uW+rUA0BQ4FVJq2f6iUqo3K/APDyvZLIIBa/wGaNEkOuw==
"@syndicate-lang/ts-plugin@*":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/ts-plugin/-/ts-plugin-0.11.0.tgz#11396a52d4c3c91b63d657980afd92b062bd6bbc"
integrity sha512-o0na2QZV/wS/unStoNj/SSSZZMwr2FeU2R15kf7WYTtxkvfeMKOTpFaHLvPzbeuRddSOonMHjMOMsrTDBavhdQ==
dependencies:
"@syndicate-lang/compiler" "^0.10.3"
"@syndicate-lang/core" "^0.10.4"
"@syndicate-lang/core" "^0.11.0"
"@syndicate-lang/tsc@^0.10":
version "0.10.5"
resolved "https://registry.yarnpkg.com/@syndicate-lang/tsc/-/tsc-0.10.5.tgz#e586909b8509f5b4cc5eb53c2d39e29fe8e24060"
integrity sha512-4b+sJ2Vs91cI7Hz2+Ve6GEOq2voGSZEkK7ixarmgenmSiqHjjIldYDqZ4OiYF94HGjZNTU0qJHQU3DytSdmR5w==
"@syndicate-lang/tsc@*":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/tsc/-/tsc-0.11.0.tgz#9edfe3cc5e59ee0fc85ecb5cbc816675590b05aa"
integrity sha512-KTf/KqxpDdOLgHw5MsVHr0Fhts3gXFnHn7QwG1nFeMZec0mmmsHrJAwkRgybN3+VrPD4xmsHjPCpVDV/qCXjig==
dependencies:
"@syndicate-lang/compiler" "^0.10.3"
"@syndicate-lang/core" "^0.10.4"
"@syndicate-lang/core" "^0.11.0"
glob "^7.1.6"
yargs "^16.2.0"
"@syndicate-lang/ws-relay@^0.10":
version "0.10.1"
resolved "https://registry.yarnpkg.com/@syndicate-lang/ws-relay/-/ws-relay-0.10.1.tgz#c58943811edf8b32b0df329a2a0032740781f063"
integrity sha512-DhjYlt1aXGWEMUE5Vc1jNhfmaS6M71uKJP8yKDNsBHU/14OxsGfKqiHJ8LF0tYvXqwDxosny7LXGXVd9Df/MZw==
"@syndicate-lang/ws-relay@*":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/ws-relay/-/ws-relay-0.11.0.tgz#ff5582de984615555fa0034d43b70ee3fb57c5cb"
integrity sha512-LIhQdU6f++aSQPToYejDP9Z0j9UIGEaVnj6+kjgZsbjGgvUoxZGEkasf04HSxt1dArudOTjvoApQrgMOIJSVhg==
dependencies:
"@preserves/core" ">=0.18"
"@preserves/schema" ">=0.19"
"@syndicate-lang/core" "^0.10.4"
"@syndicate-lang/core" "^0.11.0"
"@types/estree@0.0.39":
version "0.0.39"
@ -96,9 +96,9 @@
integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==
"@types/node@*":
version "16.11.12"
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.12.tgz#ac7fb693ac587ee182c3780c26eb65546a1a3c10"
integrity sha512-+2Iggwg7PxoO5Kyhvsq9VarmPbIelXP070HMImEpbtGCoyWNINQj4wzjbQCXzdHTRXnqufutJb5KAURZANNBAw==
version "17.0.10"
resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.10.tgz#616f16e9d3a2a3d618136b1be244315d95bd7cab"
integrity sha512-S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog==
ansi-regex@^5.0.1:
version "5.0.1"
@ -159,9 +159,9 @@ chalk@^4.1:
supports-color "^7.1.0"
chokidar@^3.5:
version "3.5.2"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75"
integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==
version "3.5.3"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
dependencies:
anymatch "~3.1.2"
braces "~3.0.2"
@ -337,9 +337,9 @@ path-is-absolute@^1.0.0:
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2:
version "2.3.0"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
version "2.3.1"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
readdirp@~3.6.0:
version "3.6.0"
@ -362,9 +362,9 @@ rollup-plugin-sourcemaps@^0.6:
source-map-resolve "^0.6.0"
rollup@^2.60:
version "2.61.1"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.61.1.tgz#1a5491f84543cf9e4caf6c61222d9a3f8f2ba454"
integrity sha512-BbTXlEvB8d+XFbK/7E5doIcRtxWPRiqr0eb5vQ0+2paMM04Ye4PZY5nHOQef2ix24l/L0SpLd5hwcH15QHPdvA==
version "2.66.0"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.66.0.tgz#ee529ea15a20485d579039637fec3050bad03bbb"
integrity sha512-L6mKOkdyP8HK5kKJXaiWG7KZDumPJjuo1P+cfyHOJPNNTK3Moe7zCH5+fy7v8pVmHXtlxorzaBjvkBMB23s98g==
optionalDependencies:
fsevents "~2.3.2"
@ -407,9 +407,9 @@ to-regex-range@^5.0.1:
is-number "^7.0.0"
typescript@^4.5:
version "4.5.3"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.3.tgz#afaa858e68c7103317d89eb90c5d8906268d353c"
integrity sha512-eVYaEHALSt+s9LbvgEv4Ef+Tdq7hBiIZgii12xXJnukryt3pMgJf6aKhoCZ3FWQsu6sydEnkg11fYXLzhLBjeQ==
version "4.5.5"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3"
integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==
wrap-ansi@^7.0.0:
version "7.0.0"

View File

@ -12,12 +12,12 @@
"author": "Tony Garnock-Jones <tonyg@leastfixedpoint.com>",
"license": "GPL-3.0+",
"dependencies": {
"@syndicate-lang/core": "^0.10"
"@syndicate-lang/core": "*"
},
"devDependencies": {
"@syndicate-lang/syndicatec": "^0.10",
"@syndicate-lang/ts-plugin": "^0.10",
"@syndicate-lang/tsc": "^0.10",
"@syndicate-lang/syndicatec": "*",
"@syndicate-lang/ts-plugin": "*",
"@syndicate-lang/tsc": "*",
"rollup": "^2.60",
"rollup-plugin-sourcemaps": "^0.6",
"typescript": "^4.5"

View File

@ -35,39 +35,39 @@
resolved "https://registry.yarnpkg.com/@syndicate-lang/compiler/-/compiler-0.10.3.tgz#bf2bddea6195eb1b3160c973b93f4c24fc561645"
integrity sha512-Dc2b6SzpPQuT6zcvm+ncEfHWoFtky0Vb+M/2TJRp4WV/HpFhStZ4/7yqSmF2kcwEKmNO5doZaet295L4xEhG9w==
"@syndicate-lang/core@^0.10", "@syndicate-lang/core@^0.10.4":
version "0.10.4"
resolved "https://registry.yarnpkg.com/@syndicate-lang/core/-/core-0.10.4.tgz#cef419bfc35af2df7b6149fcd2e74e1c14d7f23e"
integrity sha512-LZ7aq/1/Rcl9xssTCwGrJG2/N8i3iJvuQopmyuzhUxmGZ/YQ6+mRdAlOhJvyMZT+De40rISxQQhvW81ew7Aekg==
"@syndicate-lang/core@*", "@syndicate-lang/core@^0.11.0":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/core/-/core-0.11.0.tgz#9cbb35e55a462ce2cb6a7f918708d4dc3be52fe5"
integrity sha512-4VbZkLOhjsL8NPh1X+/Zy9QPKG0ndOFWSoAEdBrDz9dL1PhoJmwPc2xvs2TeseeCkvACCwWep5Lu4OuqD2Yd6w==
dependencies:
"@preserves/core" ">=0.18"
"@preserves/schema" ">=0.19"
"@syndicate-lang/syndicatec@^0.10":
version "0.10.5"
resolved "https://registry.yarnpkg.com/@syndicate-lang/syndicatec/-/syndicatec-0.10.5.tgz#32988127e5ff6fd563285b95bf454ae4dcce294c"
integrity sha512-LJHv0oW39yBpSeTu1NDaW++PZXIXrm0hB1LM5FoSYfNeBkja2UMGdVje+9FKpJy2ozLZqDNCjFMzyNVLEPVrxg==
"@syndicate-lang/syndicatec@*":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/syndicatec/-/syndicatec-0.11.0.tgz#261547b22f50c3db39b05346b5bb9bd32e967f9a"
integrity sha512-xkYYi89bPj+RtSwCmvFjwOibpQyfR/lPoYVqTUu/xxQ2BTCHFITLuUNtz/3rvIbchoh3yhchBvjsIlpFSL27Dg==
dependencies:
"@syndicate-lang/compiler" "^0.10.3"
"@syndicate-lang/core" "^0.10.4"
"@syndicate-lang/core" "^0.11.0"
glob "^7.1.6"
yargs "^16.2.0"
"@syndicate-lang/ts-plugin@^0.10":
version "0.10.5"
resolved "https://registry.yarnpkg.com/@syndicate-lang/ts-plugin/-/ts-plugin-0.10.5.tgz#1543d5ed910a16e0cf59d18188e91532fa3603a6"
integrity sha512-L3uH1/BlyQLFVH/trg+lcqPdQNMYch1GV18ePvMq2uW+rUA0BQ4FVJq2f6iUqo3K/APDyvZLIIBa/wGaNEkOuw==
"@syndicate-lang/ts-plugin@*":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/ts-plugin/-/ts-plugin-0.11.0.tgz#11396a52d4c3c91b63d657980afd92b062bd6bbc"
integrity sha512-o0na2QZV/wS/unStoNj/SSSZZMwr2FeU2R15kf7WYTtxkvfeMKOTpFaHLvPzbeuRddSOonMHjMOMsrTDBavhdQ==
dependencies:
"@syndicate-lang/compiler" "^0.10.3"
"@syndicate-lang/core" "^0.10.4"
"@syndicate-lang/core" "^0.11.0"
"@syndicate-lang/tsc@^0.10":
version "0.10.5"
resolved "https://registry.yarnpkg.com/@syndicate-lang/tsc/-/tsc-0.10.5.tgz#e586909b8509f5b4cc5eb53c2d39e29fe8e24060"
integrity sha512-4b+sJ2Vs91cI7Hz2+Ve6GEOq2voGSZEkK7ixarmgenmSiqHjjIldYDqZ4OiYF94HGjZNTU0qJHQU3DytSdmR5w==
"@syndicate-lang/tsc@*":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/tsc/-/tsc-0.11.0.tgz#9edfe3cc5e59ee0fc85ecb5cbc816675590b05aa"
integrity sha512-KTf/KqxpDdOLgHw5MsVHr0Fhts3gXFnHn7QwG1nFeMZec0mmmsHrJAwkRgybN3+VrPD4xmsHjPCpVDV/qCXjig==
dependencies:
"@syndicate-lang/compiler" "^0.10.3"
"@syndicate-lang/core" "^0.10.4"
"@syndicate-lang/core" "^0.11.0"
glob "^7.1.6"
yargs "^16.2.0"

View File

@ -12,10 +12,10 @@
"author": "Tony Garnock-Jones <tonyg@leastfixedpoint.com>",
"license": "GPL-3.0+",
"dependencies": {
"@syndicate-lang/core": "^0.10"
"@syndicate-lang/core": "*"
},
"devDependencies": {
"@syndicate-lang/tsc": "^0.10",
"@syndicate-lang/tsc": "*",
"rollup": "^2.60",
"rollup-plugin-sourcemaps": "^0.6",
"typescript": "^4.5"

View File

@ -35,21 +35,21 @@
resolved "https://registry.yarnpkg.com/@syndicate-lang/compiler/-/compiler-0.10.3.tgz#bf2bddea6195eb1b3160c973b93f4c24fc561645"
integrity sha512-Dc2b6SzpPQuT6zcvm+ncEfHWoFtky0Vb+M/2TJRp4WV/HpFhStZ4/7yqSmF2kcwEKmNO5doZaet295L4xEhG9w==
"@syndicate-lang/core@^0.10", "@syndicate-lang/core@^0.10.4":
version "0.10.4"
resolved "https://registry.yarnpkg.com/@syndicate-lang/core/-/core-0.10.4.tgz#cef419bfc35af2df7b6149fcd2e74e1c14d7f23e"
integrity sha512-LZ7aq/1/Rcl9xssTCwGrJG2/N8i3iJvuQopmyuzhUxmGZ/YQ6+mRdAlOhJvyMZT+De40rISxQQhvW81ew7Aekg==
"@syndicate-lang/core@*", "@syndicate-lang/core@^0.11.0":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/core/-/core-0.11.0.tgz#9cbb35e55a462ce2cb6a7f918708d4dc3be52fe5"
integrity sha512-4VbZkLOhjsL8NPh1X+/Zy9QPKG0ndOFWSoAEdBrDz9dL1PhoJmwPc2xvs2TeseeCkvACCwWep5Lu4OuqD2Yd6w==
dependencies:
"@preserves/core" ">=0.18"
"@preserves/schema" ">=0.19"
"@syndicate-lang/tsc@^0.10":
version "0.10.5"
resolved "https://registry.yarnpkg.com/@syndicate-lang/tsc/-/tsc-0.10.5.tgz#e586909b8509f5b4cc5eb53c2d39e29fe8e24060"
integrity sha512-4b+sJ2Vs91cI7Hz2+Ve6GEOq2voGSZEkK7ixarmgenmSiqHjjIldYDqZ4OiYF94HGjZNTU0qJHQU3DytSdmR5w==
"@syndicate-lang/tsc@*":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/tsc/-/tsc-0.11.0.tgz#9edfe3cc5e59ee0fc85ecb5cbc816675590b05aa"
integrity sha512-KTf/KqxpDdOLgHw5MsVHr0Fhts3gXFnHn7QwG1nFeMZec0mmmsHrJAwkRgybN3+VrPD4xmsHjPCpVDV/qCXjig==
dependencies:
"@syndicate-lang/compiler" "^0.10.3"
"@syndicate-lang/core" "^0.10.4"
"@syndicate-lang/core" "^0.11.0"
glob "^7.1.6"
yargs "^16.2.0"

View File

@ -12,10 +12,10 @@
"author": "Tony Garnock-Jones <tonyg@leastfixedpoint.com>",
"license": "GPL-3.0+",
"dependencies": {
"@syndicate-lang/core": "^0.10"
"@syndicate-lang/core": "*"
},
"devDependencies": {
"@syndicate-lang/syndicatec": "^0.10",
"@syndicate-lang/syndicatec": "*",
"rollup": "^2.60",
"rollup-plugin-sourcemaps": "^0.6"
}

View File

@ -35,21 +35,21 @@
resolved "https://registry.yarnpkg.com/@syndicate-lang/compiler/-/compiler-0.10.3.tgz#bf2bddea6195eb1b3160c973b93f4c24fc561645"
integrity sha512-Dc2b6SzpPQuT6zcvm+ncEfHWoFtky0Vb+M/2TJRp4WV/HpFhStZ4/7yqSmF2kcwEKmNO5doZaet295L4xEhG9w==
"@syndicate-lang/core@^0.10", "@syndicate-lang/core@^0.10.4":
version "0.10.4"
resolved "https://registry.yarnpkg.com/@syndicate-lang/core/-/core-0.10.4.tgz#cef419bfc35af2df7b6149fcd2e74e1c14d7f23e"
integrity sha512-LZ7aq/1/Rcl9xssTCwGrJG2/N8i3iJvuQopmyuzhUxmGZ/YQ6+mRdAlOhJvyMZT+De40rISxQQhvW81ew7Aekg==
"@syndicate-lang/core@*", "@syndicate-lang/core@^0.11.0":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/core/-/core-0.11.0.tgz#9cbb35e55a462ce2cb6a7f918708d4dc3be52fe5"
integrity sha512-4VbZkLOhjsL8NPh1X+/Zy9QPKG0ndOFWSoAEdBrDz9dL1PhoJmwPc2xvs2TeseeCkvACCwWep5Lu4OuqD2Yd6w==
dependencies:
"@preserves/core" ">=0.18"
"@preserves/schema" ">=0.19"
"@syndicate-lang/syndicatec@^0.10":
version "0.10.5"
resolved "https://registry.yarnpkg.com/@syndicate-lang/syndicatec/-/syndicatec-0.10.5.tgz#32988127e5ff6fd563285b95bf454ae4dcce294c"
integrity sha512-LJHv0oW39yBpSeTu1NDaW++PZXIXrm0hB1LM5FoSYfNeBkja2UMGdVje+9FKpJy2ozLZqDNCjFMzyNVLEPVrxg==
"@syndicate-lang/syndicatec@*":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/syndicatec/-/syndicatec-0.11.0.tgz#261547b22f50c3db39b05346b5bb9bd32e967f9a"
integrity sha512-xkYYi89bPj+RtSwCmvFjwOibpQyfR/lPoYVqTUu/xxQ2BTCHFITLuUNtz/3rvIbchoh3yhchBvjsIlpFSL27Dg==
dependencies:
"@syndicate-lang/compiler" "^0.10.3"
"@syndicate-lang/core" "^0.10.4"
"@syndicate-lang/core" "^0.11.0"
glob "^7.1.6"
yargs "^16.2.0"

View File

@ -12,10 +12,10 @@
"author": "Tony Garnock-Jones <tonyg@leastfixedpoint.com>",
"license": "GPL-3.0+",
"dependencies": {
"@syndicate-lang/core": "^0.10"
"@syndicate-lang/core": "*"
},
"devDependencies": {
"@syndicate-lang/syndicatec": "^0.10",
"@syndicate-lang/syndicatec": "*",
"rollup": "^2.60",
"rollup-plugin-sourcemaps": "^0.6",
"typescript": "^4.5"

View File

@ -35,21 +35,21 @@
resolved "https://registry.yarnpkg.com/@syndicate-lang/compiler/-/compiler-0.10.3.tgz#bf2bddea6195eb1b3160c973b93f4c24fc561645"
integrity sha512-Dc2b6SzpPQuT6zcvm+ncEfHWoFtky0Vb+M/2TJRp4WV/HpFhStZ4/7yqSmF2kcwEKmNO5doZaet295L4xEhG9w==
"@syndicate-lang/core@^0.10", "@syndicate-lang/core@^0.10.4":
version "0.10.4"
resolved "https://registry.yarnpkg.com/@syndicate-lang/core/-/core-0.10.4.tgz#cef419bfc35af2df7b6149fcd2e74e1c14d7f23e"
integrity sha512-LZ7aq/1/Rcl9xssTCwGrJG2/N8i3iJvuQopmyuzhUxmGZ/YQ6+mRdAlOhJvyMZT+De40rISxQQhvW81ew7Aekg==
"@syndicate-lang/core@*", "@syndicate-lang/core@^0.11.0":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/core/-/core-0.11.0.tgz#9cbb35e55a462ce2cb6a7f918708d4dc3be52fe5"
integrity sha512-4VbZkLOhjsL8NPh1X+/Zy9QPKG0ndOFWSoAEdBrDz9dL1PhoJmwPc2xvs2TeseeCkvACCwWep5Lu4OuqD2Yd6w==
dependencies:
"@preserves/core" ">=0.18"
"@preserves/schema" ">=0.19"
"@syndicate-lang/syndicatec@^0.10":
version "0.10.5"
resolved "https://registry.yarnpkg.com/@syndicate-lang/syndicatec/-/syndicatec-0.10.5.tgz#32988127e5ff6fd563285b95bf454ae4dcce294c"
integrity sha512-LJHv0oW39yBpSeTu1NDaW++PZXIXrm0hB1LM5FoSYfNeBkja2UMGdVje+9FKpJy2ozLZqDNCjFMzyNVLEPVrxg==
"@syndicate-lang/syndicatec@*":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/syndicatec/-/syndicatec-0.11.0.tgz#261547b22f50c3db39b05346b5bb9bd32e967f9a"
integrity sha512-xkYYi89bPj+RtSwCmvFjwOibpQyfR/lPoYVqTUu/xxQ2BTCHFITLuUNtz/3rvIbchoh3yhchBvjsIlpFSL27Dg==
dependencies:
"@syndicate-lang/compiler" "^0.10.3"
"@syndicate-lang/core" "^0.10.4"
"@syndicate-lang/core" "^0.11.0"
glob "^7.1.6"
yargs "^16.2.0"

View File

@ -12,13 +12,13 @@
"author": "Tony Garnock-Jones <tonyg@leastfixedpoint.com>",
"license": "GPL-3.0+",
"dependencies": {
"@syndicate-lang/core": "^0.10",
"@syndicate-lang/html": "^0.10",
"@syndicate-lang/timer": "^0.10"
"@syndicate-lang/core": "*",
"@syndicate-lang/html": "*",
"@syndicate-lang/timer": "*"
},
"devDependencies": {
"@syndicate-lang/ts-plugin": "^0.10",
"@syndicate-lang/tsc": "^0.10",
"@syndicate-lang/ts-plugin": "*",
"@syndicate-lang/tsc": "*",
"rollup": "^2.60",
"rollup-plugin-sourcemaps": "^0.6",
"typescript": "^4.5"

View File

@ -2,17 +2,17 @@
# yarn lockfile v1
"@preserves/core@>=0.18", "@preserves/core@^0.18.1":
version "0.18.1"
resolved "https://registry.yarnpkg.com/@preserves/core/-/core-0.18.1.tgz#7e630fe7e38238bc73f3c0518142f5fe0ae2e819"
integrity sha512-b+YzeAS9vLky6PXF3SzYEcj2lBCnZ6hREdRpsksfzxEm+3IqmKk6daxpe0DsH0fgTVgMTq6+wQPOwAVwx0R6Ag==
"@preserves/core@>=0.18", "@preserves/core@^0.19.0":
version "0.19.0"
resolved "https://registry.yarnpkg.com/@preserves/core/-/core-0.19.0.tgz#7105a50beeb5d9531515547ca197a2c122c84935"
integrity sha512-Evsv3PGI51cJlTOr/6v52fTV6cjU11Pq6ogXBIPzfwmlMZ6kB5mx7EweFVwAf0dy5yCgBkq7ILSTCk4ZoV+x1g==
"@preserves/schema@>=0.19":
version "0.19.6"
resolved "https://registry.yarnpkg.com/@preserves/schema/-/schema-0.19.6.tgz#3827e581be899a88bb95ad063f765dc7ca13ca9d"
integrity sha512-cKKh9UwVannzWFgrxaZZ8ksBeQAj6QVclkk0FnCYA/VlOPeNpdgP4u2wYf8ZY71E8Me48ytTsCt/ALbiWI8Dlg==
version "0.20.0"
resolved "https://registry.yarnpkg.com/@preserves/schema/-/schema-0.20.0.tgz#e1dcb498655114fef06678ff6298b953d127f919"
integrity sha512-TmNCKJwYSN7qksa0wRWfSkchuNIfGUBJLkZp5hBX/6uqtY1RWGa9Q4nICaNuljw+pKaCFlWqpG0ebP5cmJMCGw==
dependencies:
"@preserves/core" "^0.18.1"
"@preserves/core" "^0.19.0"
"@types/glob" "^7.1"
"@types/minimatch" "^3.0"
chalk "^4.1"
@ -35,43 +35,43 @@
resolved "https://registry.yarnpkg.com/@syndicate-lang/compiler/-/compiler-0.10.3.tgz#bf2bddea6195eb1b3160c973b93f4c24fc561645"
integrity sha512-Dc2b6SzpPQuT6zcvm+ncEfHWoFtky0Vb+M/2TJRp4WV/HpFhStZ4/7yqSmF2kcwEKmNO5doZaet295L4xEhG9w==
"@syndicate-lang/core@^0.10", "@syndicate-lang/core@^0.10.4":
version "0.10.4"
resolved "https://registry.yarnpkg.com/@syndicate-lang/core/-/core-0.10.4.tgz#cef419bfc35af2df7b6149fcd2e74e1c14d7f23e"
integrity sha512-LZ7aq/1/Rcl9xssTCwGrJG2/N8i3iJvuQopmyuzhUxmGZ/YQ6+mRdAlOhJvyMZT+De40rISxQQhvW81ew7Aekg==
"@syndicate-lang/core@*", "@syndicate-lang/core@^0.11.0":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/core/-/core-0.11.0.tgz#9cbb35e55a462ce2cb6a7f918708d4dc3be52fe5"
integrity sha512-4VbZkLOhjsL8NPh1X+/Zy9QPKG0ndOFWSoAEdBrDz9dL1PhoJmwPc2xvs2TeseeCkvACCwWep5Lu4OuqD2Yd6w==
dependencies:
"@preserves/core" ">=0.18"
"@preserves/schema" ">=0.19"
"@syndicate-lang/html@^0.10":
version "0.10.5"
resolved "https://registry.yarnpkg.com/@syndicate-lang/html/-/html-0.10.5.tgz#bb6b3f4bfabf0eb60a6e5c95605d7924b8409133"
integrity sha512-zL8RbTsKowG3UGAjyBpReKQSnBDrCb1Z/cNbOIfGPRxmNzfacx2HkGfI8IQgu8CKS8QBCiQluZANJVwxrIUVxw==
"@syndicate-lang/html@*":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/html/-/html-0.11.0.tgz#33e69eda0b72ca2a0a0700d826c498bf04cf16a7"
integrity sha512-xrdU+7Kqpnf3JaG1MVgo6+P1ZFDtwD02i/41UGCdpCzANaN+roQxQ9Z05xnKem37XiAO+lycvjbsRfWih/Sz+A==
dependencies:
"@syndicate-lang/core" "^0.10.4"
"@syndicate-lang/core" "^0.11.0"
"@syndicate-lang/timer@^0.10":
version "0.10.5"
resolved "https://registry.yarnpkg.com/@syndicate-lang/timer/-/timer-0.10.5.tgz#e477475b6f7431fe65c2de4d42ffd73df5607bf5"
integrity sha512-XEeZELdACKfam6t5DobB959qA97w2qTdla1iwkCueK6w0YPacsWVlgyWECnC3RnN2mmfr5Hi+5nKFSy+jAro3Q==
"@syndicate-lang/timer@*":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/timer/-/timer-0.11.0.tgz#fce103cf25c584a1469141177b22b43a68ce26c8"
integrity sha512-mOvRvdGW+TBrbimQBjboOhsgIwNEGVACKvqDzKhY414Rsfg9V8FOThmYFXEeLzsecSLhhw2Ejin2lu1SjRh1Og==
dependencies:
"@syndicate-lang/core" "^0.10.4"
"@syndicate-lang/core" "^0.11.0"
"@syndicate-lang/ts-plugin@^0.10":
version "0.10.5"
resolved "https://registry.yarnpkg.com/@syndicate-lang/ts-plugin/-/ts-plugin-0.10.5.tgz#1543d5ed910a16e0cf59d18188e91532fa3603a6"
integrity sha512-L3uH1/BlyQLFVH/trg+lcqPdQNMYch1GV18ePvMq2uW+rUA0BQ4FVJq2f6iUqo3K/APDyvZLIIBa/wGaNEkOuw==
"@syndicate-lang/ts-plugin@*":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/ts-plugin/-/ts-plugin-0.11.0.tgz#11396a52d4c3c91b63d657980afd92b062bd6bbc"
integrity sha512-o0na2QZV/wS/unStoNj/SSSZZMwr2FeU2R15kf7WYTtxkvfeMKOTpFaHLvPzbeuRddSOonMHjMOMsrTDBavhdQ==
dependencies:
"@syndicate-lang/compiler" "^0.10.3"
"@syndicate-lang/core" "^0.10.4"
"@syndicate-lang/core" "^0.11.0"
"@syndicate-lang/tsc@^0.10":
version "0.10.5"
resolved "https://registry.yarnpkg.com/@syndicate-lang/tsc/-/tsc-0.10.5.tgz#e586909b8509f5b4cc5eb53c2d39e29fe8e24060"
integrity sha512-4b+sJ2Vs91cI7Hz2+Ve6GEOq2voGSZEkK7ixarmgenmSiqHjjIldYDqZ4OiYF94HGjZNTU0qJHQU3DytSdmR5w==
"@syndicate-lang/tsc@*":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/tsc/-/tsc-0.11.0.tgz#9edfe3cc5e59ee0fc85ecb5cbc816675590b05aa"
integrity sha512-KTf/KqxpDdOLgHw5MsVHr0Fhts3gXFnHn7QwG1nFeMZec0mmmsHrJAwkRgybN3+VrPD4xmsHjPCpVDV/qCXjig==
dependencies:
"@syndicate-lang/compiler" "^0.10.3"
"@syndicate-lang/core" "^0.10.4"
"@syndicate-lang/core" "^0.11.0"
glob "^7.1.6"
yargs "^16.2.0"
@ -94,9 +94,9 @@
integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==
"@types/node@*":
version "16.11.12"
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.12.tgz#ac7fb693ac587ee182c3780c26eb65546a1a3c10"
integrity sha512-+2Iggwg7PxoO5Kyhvsq9VarmPbIelXP070HMImEpbtGCoyWNINQj4wzjbQCXzdHTRXnqufutJb5KAURZANNBAw==
version "17.0.10"
resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.10.tgz#616f16e9d3a2a3d618136b1be244315d95bd7cab"
integrity sha512-S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog==
ansi-regex@^5.0.1:
version "5.0.1"
@ -157,9 +157,9 @@ chalk@^4.1:
supports-color "^7.1.0"
chokidar@^3.5:
version "3.5.2"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75"
integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==
version "3.5.3"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
dependencies:
anymatch "~3.1.2"
braces "~3.0.2"
@ -335,9 +335,9 @@ path-is-absolute@^1.0.0:
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2:
version "2.3.0"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
version "2.3.1"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
readdirp@~3.6.0:
version "3.6.0"
@ -360,9 +360,9 @@ rollup-plugin-sourcemaps@^0.6:
source-map-resolve "^0.6.0"
rollup@^2.60:
version "2.61.1"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.61.1.tgz#1a5491f84543cf9e4caf6c61222d9a3f8f2ba454"
integrity sha512-BbTXlEvB8d+XFbK/7E5doIcRtxWPRiqr0eb5vQ0+2paMM04Ye4PZY5nHOQef2ix24l/L0SpLd5hwcH15QHPdvA==
version "2.66.0"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.66.0.tgz#ee529ea15a20485d579039637fec3050bad03bbb"
integrity sha512-L6mKOkdyP8HK5kKJXaiWG7KZDumPJjuo1P+cfyHOJPNNTK3Moe7zCH5+fy7v8pVmHXtlxorzaBjvkBMB23s98g==
optionalDependencies:
fsevents "~2.3.2"
@ -405,9 +405,9 @@ to-regex-range@^5.0.1:
is-number "^7.0.0"
typescript@^4.5:
version "4.5.3"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.3.tgz#afaa858e68c7103317d89eb90c5d8906268d353c"
integrity sha512-eVYaEHALSt+s9LbvgEv4Ef+Tdq7hBiIZgii12xXJnukryt3pMgJf6aKhoCZ3FWQsu6sydEnkg11fYXLzhLBjeQ==
version "4.5.5"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3"
integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==
wrap-ansi@^7.0.0:
version "7.0.0"

View File

@ -14,12 +14,12 @@
"author": "Tony Garnock-Jones <tonyg@leastfixedpoint.com>",
"license": "GPL-3.0+",
"dependencies": {
"@syndicate-lang/core": "^0.10",
"@syndicate-lang/html": "^0.10"
"@syndicate-lang/core": "*",
"@syndicate-lang/html": "*"
},
"devDependencies": {
"@syndicate-lang/ts-plugin": "^0.10",
"@syndicate-lang/tsc": "^0.10",
"@syndicate-lang/ts-plugin": "*",
"@syndicate-lang/tsc": "*",
"rollup": "^2.60",
"rollup-plugin-sourcemaps": "^0.6",
"typescript": "^4.5"

View File

@ -35,36 +35,36 @@
resolved "https://registry.yarnpkg.com/@syndicate-lang/compiler/-/compiler-0.10.3.tgz#bf2bddea6195eb1b3160c973b93f4c24fc561645"
integrity sha512-Dc2b6SzpPQuT6zcvm+ncEfHWoFtky0Vb+M/2TJRp4WV/HpFhStZ4/7yqSmF2kcwEKmNO5doZaet295L4xEhG9w==
"@syndicate-lang/core@^0.10", "@syndicate-lang/core@^0.10.4":
version "0.10.4"
resolved "https://registry.yarnpkg.com/@syndicate-lang/core/-/core-0.10.4.tgz#cef419bfc35af2df7b6149fcd2e74e1c14d7f23e"
integrity sha512-LZ7aq/1/Rcl9xssTCwGrJG2/N8i3iJvuQopmyuzhUxmGZ/YQ6+mRdAlOhJvyMZT+De40rISxQQhvW81ew7Aekg==
"@syndicate-lang/core@*", "@syndicate-lang/core@^0.11.0":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/core/-/core-0.11.0.tgz#9cbb35e55a462ce2cb6a7f918708d4dc3be52fe5"
integrity sha512-4VbZkLOhjsL8NPh1X+/Zy9QPKG0ndOFWSoAEdBrDz9dL1PhoJmwPc2xvs2TeseeCkvACCwWep5Lu4OuqD2Yd6w==
dependencies:
"@preserves/core" ">=0.18"
"@preserves/schema" ">=0.19"
"@syndicate-lang/html@^0.10":
version "0.10.5"
resolved "https://registry.yarnpkg.com/@syndicate-lang/html/-/html-0.10.5.tgz#bb6b3f4bfabf0eb60a6e5c95605d7924b8409133"
integrity sha512-zL8RbTsKowG3UGAjyBpReKQSnBDrCb1Z/cNbOIfGPRxmNzfacx2HkGfI8IQgu8CKS8QBCiQluZANJVwxrIUVxw==
"@syndicate-lang/html@*":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/html/-/html-0.11.0.tgz#33e69eda0b72ca2a0a0700d826c498bf04cf16a7"
integrity sha512-xrdU+7Kqpnf3JaG1MVgo6+P1ZFDtwD02i/41UGCdpCzANaN+roQxQ9Z05xnKem37XiAO+lycvjbsRfWih/Sz+A==
dependencies:
"@syndicate-lang/core" "^0.10.4"
"@syndicate-lang/core" "^0.11.0"
"@syndicate-lang/ts-plugin@^0.10":
version "0.10.5"
resolved "https://registry.yarnpkg.com/@syndicate-lang/ts-plugin/-/ts-plugin-0.10.5.tgz#1543d5ed910a16e0cf59d18188e91532fa3603a6"
integrity sha512-L3uH1/BlyQLFVH/trg+lcqPdQNMYch1GV18ePvMq2uW+rUA0BQ4FVJq2f6iUqo3K/APDyvZLIIBa/wGaNEkOuw==
"@syndicate-lang/ts-plugin@*":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/ts-plugin/-/ts-plugin-0.11.0.tgz#11396a52d4c3c91b63d657980afd92b062bd6bbc"
integrity sha512-o0na2QZV/wS/unStoNj/SSSZZMwr2FeU2R15kf7WYTtxkvfeMKOTpFaHLvPzbeuRddSOonMHjMOMsrTDBavhdQ==
dependencies:
"@syndicate-lang/compiler" "^0.10.3"
"@syndicate-lang/core" "^0.10.4"
"@syndicate-lang/core" "^0.11.0"
"@syndicate-lang/tsc@^0.10":
version "0.10.5"
resolved "https://registry.yarnpkg.com/@syndicate-lang/tsc/-/tsc-0.10.5.tgz#e586909b8509f5b4cc5eb53c2d39e29fe8e24060"
integrity sha512-4b+sJ2Vs91cI7Hz2+Ve6GEOq2voGSZEkK7ixarmgenmSiqHjjIldYDqZ4OiYF94HGjZNTU0qJHQU3DytSdmR5w==
"@syndicate-lang/tsc@*":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/tsc/-/tsc-0.11.0.tgz#9edfe3cc5e59ee0fc85ecb5cbc816675590b05aa"
integrity sha512-KTf/KqxpDdOLgHw5MsVHr0Fhts3gXFnHn7QwG1nFeMZec0mmmsHrJAwkRgybN3+VrPD4xmsHjPCpVDV/qCXjig==
dependencies:
"@syndicate-lang/compiler" "^0.10.3"
"@syndicate-lang/core" "^0.10.4"
"@syndicate-lang/core" "^0.11.0"
glob "^7.1.6"
yargs "^16.2.0"

View File

@ -155,7 +155,7 @@ export function expand(tree: Items, ctx: ExpansionContext): Items {
: expandSpawn(spawn, t, t`__SYNDICATE__.Turn.activeFacet.preventInertCheck();`);
const sa = compilePattern(s.pattern);
const assertion = t`__SYNDICATE__.fromObserve(__SYNDICATE__.Observe({
const assertion = t`__SYNDICATE__.Observe({
pattern: __SYNDICATE__.QuasiValue.finish(${sa.skeleton}),
observer: __SYNDICATE__.Turn.ref(__SYNDICATE__.assertionFacetObserver(
(${ctx.argDecl(t, '__vs', '__SYNDICATE__.AnyValue')}) => {
@ -165,7 +165,7 @@ ${joinItems(sa.captureBinders.map(binderTypeGuard(t)), '\n')}
}
}
))
}))`;
})`;
if (s.test === void 0) {
return t`assertDataflow(() => ({ target: currentSyndicateTarget, assertion: ${assertion} }));`;
} else {
@ -260,10 +260,10 @@ ${joinItems(sa.captureBinders.map(binderTypeGuard(t)), '\n')}
break;
}
const assertion = t`__SYNDICATE__.fromObserve(__SYNDICATE__.Observe({
const assertion = t`__SYNDICATE__.Observe({
pattern: __SYNDICATE__.QuasiValue.finish(${sa.skeleton}),
observer: __SYNDICATE__.Turn.ref(${entity}),
}))`;
})`;
if (s.isDynamic) {
return t`__SYNDICATE__.Turn.active.assertDataflow(() => ({

View File

@ -24,7 +24,7 @@
"types": "lib/index.d.ts",
"author": "Tony Garnock-Jones <tonyg@leastfixedpoint.com>",
"dependencies": {
"@preserves/core": ">=0.18",
"@preserves/schema": ">=0.19"
"@preserves/core": ">=0.19",
"@preserves/schema": ">=0.20"
}
}

View File

@ -1,7 +1,7 @@
/// SPDX-License-Identifier: GPL-3.0-or-later
/// SPDX-FileCopyrightText: Copyright © 2016-2021 Tony Garnock-Jones <tonyg@leastfixedpoint.com>
import { IdentitySet, Value, embeddedId, is } from '@preserves/core';
import { IdentitySet, Value, embeddedId, is, fromJS } from '@preserves/core';
import { Cell, Field, Graph } from './dataflow.js';
import { Attenuation, runRewrites } from './rewrite.js';
import { queueTask } from './task.js';
@ -19,6 +19,8 @@ export type Handle = number;
export type ExitReason = null | { ok: true } | { ok: false, err: unknown };
export type LocalAction = () => void;
export type Assertable = Assertion | { __as_preserve__: <T>() => Value<T> } | { __as_preserve__: () => Assertion };
export interface Entity {
assert(assertion: Assertion, handle: Handle): void;
retract(handle: Handle): void;
@ -70,6 +72,14 @@ export function toRef(_v: any): Ref | undefined {
return isRef(_v) ? _v : void 0;
}
export function assertionFrom(a: Assertable): Assertion {
if (typeof a === 'object' && '__as_preserve__' in a) {
return fromJS(a);
} else {
return a;
}
}
type OutboundAssertion = { handle: Handle, peer: Ref, established: boolean };
type OutboundMap = Map<Handle, OutboundAssertion>;
@ -378,11 +388,11 @@ export class Turn {
assertDataflow(assertionFunction: () => {
target: Ref | undefined,
assertion: Assertion | undefined
assertion: Assertable | undefined
}) {
let handle: Handle | undefined = void 0;
let target: Ref | undefined = void 0;
let assertion: Assertion | undefined = void 0;
let assertion: Assertable | undefined = void 0;
this.dataflow(() => {
let {target: nextTarget, assertion: nextAssertion} = assertionFunction();
if (target !== nextTarget || !is(assertion, nextAssertion)) {
@ -393,13 +403,14 @@ export class Turn {
});
}
assert(ref: Ref, assertion: Assertion): Handle {
assert(ref: Ref, assertion: Assertable): Handle {
const h = nextHandle++;
this._assert(ref, assertion, h);
return h;
}
_assert(ref: Ref, assertion: Assertion, h: Handle) {
_assert(ref: Ref, assertable: Assertable, h: Handle) {
const assertion = assertionFrom(assertable);
const a = runRewrites(ref.attenuation, assertion);
if (a !== null) {
const e = { handle: h, peer: ref, established: false };
@ -419,7 +430,7 @@ export class Turn {
}
}
replace(ref: Ref | undefined, h: Handle | undefined, assertion: Assertion | undefined): Handle | undefined {
replace(ref: Ref | undefined, h: Handle | undefined, assertion: Assertable | undefined): Handle | undefined {
const newHandle = (assertion === void 0 || ref === void 0)
? void 0
: this.assert(ref, assertion);
@ -445,7 +456,8 @@ export class Turn {
this.enqueue(ref.relay, () => _sync_impl(ref.target, peer));
}
message(ref: Ref, assertion: Assertion): void {
message(ref: Ref, assertable: Assertable): void {
const assertion = assertionFrom(assertable);
const a = runRewrites(ref.attenuation, assertion);
if (a !== null) this.enqueue(ref.relay, () => ref.target.message?.(assertion));
}

View File

@ -4,7 +4,7 @@
import { IdentityMap } from '@preserves/core';
import { Index } from './skeleton.js';
import { Actor, Assertion, Entity, Facet, Handle, LocalAction, Ref, Turn } from './actor.js';
import { fromObserve, Observe, toObserve } from '../gen/dataspace.js';
import { Observe, toObserve } from '../gen/dataspace.js';
import * as P from '../gen/dataspacePatterns.js';
export type DataspaceOptions = {
@ -99,5 +99,5 @@ export function assertionFacetObserver(f: (a: Assertion) => void, inertOk: boole
}
export function assertObserve(ds: Ref, pattern: P.Pattern, e: Partial<Entity>): Handle {
return Turn.active.assert(ds, fromObserve(Observe({ pattern, observer: Turn.ref(e) })));
return Turn.active.assert(ds, Observe({ pattern, observer: Turn.ref(e) }));
}

View File

@ -23,8 +23,8 @@
"types": "lib/index.d.ts",
"author": "Tony Garnock-Jones <tonyg@leastfixedpoint.com>",
"dependencies": {
"@preserves/core": ">=0.18",
"@preserves/schema": ">=0.19",
"@preserves/core": ">=0.19",
"@preserves/schema": ">=0.20",
"@syndicate-lang/core": "^0.11.0"
},
"devDependencies": {

View File

@ -16,7 +16,7 @@ export function boot(ds: Ref, debug: boolean = false) {
const addr = Q.drop_lit(addrPatValue, G.toRelayAddress);
const sturdyref = Q.drop_lit(sturdyRefPatValue, Schemas.sturdy.toSturdyRef);
if (addr && sturdyref) {
assert G.fromViaRelay(G.ViaRelay({
assert G.ViaRelay({
"addr": addr,
"assertion": Schemas.gatekeeper.fromResolve(Schemas.gatekeeper.Resolve({
"sturdyref": sturdyref,
@ -30,7 +30,7 @@ export function boot(ds: Ref, debug: boolean = false) {
}
}),
})),
}));
});
}
}