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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -12,10 +12,10 @@
"author": "Tony Garnock-Jones <tonyg@leastfixedpoint.com>", "author": "Tony Garnock-Jones <tonyg@leastfixedpoint.com>",
"license": "GPL-3.0+", "license": "GPL-3.0+",
"dependencies": { "dependencies": {
"@syndicate-lang/core": "^0.10" "@syndicate-lang/core": "*"
}, },
"devDependencies": { "devDependencies": {
"@syndicate-lang/syndicatec": "^0.10", "@syndicate-lang/syndicatec": "*",
"rollup": "^2.60", "rollup": "^2.60",
"rollup-plugin-sourcemaps": "^0.6" "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" resolved "https://registry.yarnpkg.com/@syndicate-lang/compiler/-/compiler-0.10.3.tgz#bf2bddea6195eb1b3160c973b93f4c24fc561645"
integrity sha512-Dc2b6SzpPQuT6zcvm+ncEfHWoFtky0Vb+M/2TJRp4WV/HpFhStZ4/7yqSmF2kcwEKmNO5doZaet295L4xEhG9w== integrity sha512-Dc2b6SzpPQuT6zcvm+ncEfHWoFtky0Vb+M/2TJRp4WV/HpFhStZ4/7yqSmF2kcwEKmNO5doZaet295L4xEhG9w==
"@syndicate-lang/core@^0.10", "@syndicate-lang/core@^0.10.4": "@syndicate-lang/core@*", "@syndicate-lang/core@^0.11.0":
version "0.10.4" version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/core/-/core-0.10.4.tgz#cef419bfc35af2df7b6149fcd2e74e1c14d7f23e" resolved "https://registry.yarnpkg.com/@syndicate-lang/core/-/core-0.11.0.tgz#9cbb35e55a462ce2cb6a7f918708d4dc3be52fe5"
integrity sha512-LZ7aq/1/Rcl9xssTCwGrJG2/N8i3iJvuQopmyuzhUxmGZ/YQ6+mRdAlOhJvyMZT+De40rISxQQhvW81ew7Aekg== integrity sha512-4VbZkLOhjsL8NPh1X+/Zy9QPKG0ndOFWSoAEdBrDz9dL1PhoJmwPc2xvs2TeseeCkvACCwWep5Lu4OuqD2Yd6w==
dependencies: dependencies:
"@preserves/core" ">=0.18" "@preserves/core" ">=0.18"
"@preserves/schema" ">=0.19" "@preserves/schema" ">=0.19"
"@syndicate-lang/syndicatec@^0.10": "@syndicate-lang/syndicatec@*":
version "0.10.5" version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/syndicatec/-/syndicatec-0.10.5.tgz#32988127e5ff6fd563285b95bf454ae4dcce294c" resolved "https://registry.yarnpkg.com/@syndicate-lang/syndicatec/-/syndicatec-0.11.0.tgz#261547b22f50c3db39b05346b5bb9bd32e967f9a"
integrity sha512-LJHv0oW39yBpSeTu1NDaW++PZXIXrm0hB1LM5FoSYfNeBkja2UMGdVje+9FKpJy2ozLZqDNCjFMzyNVLEPVrxg== integrity sha512-xkYYi89bPj+RtSwCmvFjwOibpQyfR/lPoYVqTUu/xxQ2BTCHFITLuUNtz/3rvIbchoh3yhchBvjsIlpFSL27Dg==
dependencies: dependencies:
"@syndicate-lang/compiler" "^0.10.3" "@syndicate-lang/compiler" "^0.10.3"
"@syndicate-lang/core" "^0.10.4" "@syndicate-lang/core" "^0.11.0"
glob "^7.1.6" glob "^7.1.6"
yargs "^16.2.0" yargs "^16.2.0"

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -35,36 +35,36 @@
resolved "https://registry.yarnpkg.com/@syndicate-lang/compiler/-/compiler-0.10.3.tgz#bf2bddea6195eb1b3160c973b93f4c24fc561645" resolved "https://registry.yarnpkg.com/@syndicate-lang/compiler/-/compiler-0.10.3.tgz#bf2bddea6195eb1b3160c973b93f4c24fc561645"
integrity sha512-Dc2b6SzpPQuT6zcvm+ncEfHWoFtky0Vb+M/2TJRp4WV/HpFhStZ4/7yqSmF2kcwEKmNO5doZaet295L4xEhG9w== integrity sha512-Dc2b6SzpPQuT6zcvm+ncEfHWoFtky0Vb+M/2TJRp4WV/HpFhStZ4/7yqSmF2kcwEKmNO5doZaet295L4xEhG9w==
"@syndicate-lang/core@^0.10", "@syndicate-lang/core@^0.10.4": "@syndicate-lang/core@*", "@syndicate-lang/core@^0.11.0":
version "0.10.4" version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/core/-/core-0.10.4.tgz#cef419bfc35af2df7b6149fcd2e74e1c14d7f23e" resolved "https://registry.yarnpkg.com/@syndicate-lang/core/-/core-0.11.0.tgz#9cbb35e55a462ce2cb6a7f918708d4dc3be52fe5"
integrity sha512-LZ7aq/1/Rcl9xssTCwGrJG2/N8i3iJvuQopmyuzhUxmGZ/YQ6+mRdAlOhJvyMZT+De40rISxQQhvW81ew7Aekg== integrity sha512-4VbZkLOhjsL8NPh1X+/Zy9QPKG0ndOFWSoAEdBrDz9dL1PhoJmwPc2xvs2TeseeCkvACCwWep5Lu4OuqD2Yd6w==
dependencies: dependencies:
"@preserves/core" ">=0.18" "@preserves/core" ">=0.18"
"@preserves/schema" ">=0.19" "@preserves/schema" ">=0.19"
"@syndicate-lang/html@^0.10": "@syndicate-lang/html@*":
version "0.10.5" version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/html/-/html-0.10.5.tgz#bb6b3f4bfabf0eb60a6e5c95605d7924b8409133" resolved "https://registry.yarnpkg.com/@syndicate-lang/html/-/html-0.11.0.tgz#33e69eda0b72ca2a0a0700d826c498bf04cf16a7"
integrity sha512-zL8RbTsKowG3UGAjyBpReKQSnBDrCb1Z/cNbOIfGPRxmNzfacx2HkGfI8IQgu8CKS8QBCiQluZANJVwxrIUVxw== integrity sha512-xrdU+7Kqpnf3JaG1MVgo6+P1ZFDtwD02i/41UGCdpCzANaN+roQxQ9Z05xnKem37XiAO+lycvjbsRfWih/Sz+A==
dependencies: dependencies:
"@syndicate-lang/core" "^0.10.4" "@syndicate-lang/core" "^0.11.0"
"@syndicate-lang/ts-plugin@^0.10": "@syndicate-lang/ts-plugin@*":
version "0.10.5" version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/ts-plugin/-/ts-plugin-0.10.5.tgz#1543d5ed910a16e0cf59d18188e91532fa3603a6" resolved "https://registry.yarnpkg.com/@syndicate-lang/ts-plugin/-/ts-plugin-0.11.0.tgz#11396a52d4c3c91b63d657980afd92b062bd6bbc"
integrity sha512-L3uH1/BlyQLFVH/trg+lcqPdQNMYch1GV18ePvMq2uW+rUA0BQ4FVJq2f6iUqo3K/APDyvZLIIBa/wGaNEkOuw== integrity sha512-o0na2QZV/wS/unStoNj/SSSZZMwr2FeU2R15kf7WYTtxkvfeMKOTpFaHLvPzbeuRddSOonMHjMOMsrTDBavhdQ==
dependencies: dependencies:
"@syndicate-lang/compiler" "^0.10.3" "@syndicate-lang/compiler" "^0.10.3"
"@syndicate-lang/core" "^0.10.4" "@syndicate-lang/core" "^0.11.0"
"@syndicate-lang/tsc@^0.10": "@syndicate-lang/tsc@*":
version "0.10.5" version "0.11.0"
resolved "https://registry.yarnpkg.com/@syndicate-lang/tsc/-/tsc-0.10.5.tgz#e586909b8509f5b4cc5eb53c2d39e29fe8e24060" resolved "https://registry.yarnpkg.com/@syndicate-lang/tsc/-/tsc-0.11.0.tgz#9edfe3cc5e59ee0fc85ecb5cbc816675590b05aa"
integrity sha512-4b+sJ2Vs91cI7Hz2+Ve6GEOq2voGSZEkK7ixarmgenmSiqHjjIldYDqZ4OiYF94HGjZNTU0qJHQU3DytSdmR5w== integrity sha512-KTf/KqxpDdOLgHw5MsVHr0Fhts3gXFnHn7QwG1nFeMZec0mmmsHrJAwkRgybN3+VrPD4xmsHjPCpVDV/qCXjig==
dependencies: dependencies:
"@syndicate-lang/compiler" "^0.10.3" "@syndicate-lang/compiler" "^0.10.3"
"@syndicate-lang/core" "^0.10.4" "@syndicate-lang/core" "^0.11.0"
glob "^7.1.6" glob "^7.1.6"
yargs "^16.2.0" 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();`); : expandSpawn(spawn, t, t`__SYNDICATE__.Turn.activeFacet.preventInertCheck();`);
const sa = compilePattern(s.pattern); const sa = compilePattern(s.pattern);
const assertion = t`__SYNDICATE__.fromObserve(__SYNDICATE__.Observe({ const assertion = t`__SYNDICATE__.Observe({
pattern: __SYNDICATE__.QuasiValue.finish(${sa.skeleton}), pattern: __SYNDICATE__.QuasiValue.finish(${sa.skeleton}),
observer: __SYNDICATE__.Turn.ref(__SYNDICATE__.assertionFacetObserver( observer: __SYNDICATE__.Turn.ref(__SYNDICATE__.assertionFacetObserver(
(${ctx.argDecl(t, '__vs', '__SYNDICATE__.AnyValue')}) => { (${ctx.argDecl(t, '__vs', '__SYNDICATE__.AnyValue')}) => {
@ -165,7 +165,7 @@ ${joinItems(sa.captureBinders.map(binderTypeGuard(t)), '\n')}
} }
} }
)) ))
}))`; })`;
if (s.test === void 0) { if (s.test === void 0) {
return t`assertDataflow(() => ({ target: currentSyndicateTarget, assertion: ${assertion} }));`; return t`assertDataflow(() => ({ target: currentSyndicateTarget, assertion: ${assertion} }));`;
} else { } else {
@ -260,10 +260,10 @@ ${joinItems(sa.captureBinders.map(binderTypeGuard(t)), '\n')}
break; break;
} }
const assertion = t`__SYNDICATE__.fromObserve(__SYNDICATE__.Observe({ const assertion = t`__SYNDICATE__.Observe({
pattern: __SYNDICATE__.QuasiValue.finish(${sa.skeleton}), pattern: __SYNDICATE__.QuasiValue.finish(${sa.skeleton}),
observer: __SYNDICATE__.Turn.ref(${entity}), observer: __SYNDICATE__.Turn.ref(${entity}),
}))`; })`;
if (s.isDynamic) { if (s.isDynamic) {
return t`__SYNDICATE__.Turn.active.assertDataflow(() => ({ return t`__SYNDICATE__.Turn.active.assertDataflow(() => ({

View File

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

View File

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

View File

@ -4,7 +4,7 @@
import { IdentityMap } from '@preserves/core'; import { IdentityMap } from '@preserves/core';
import { Index } from './skeleton.js'; import { Index } from './skeleton.js';
import { Actor, Assertion, Entity, Facet, Handle, LocalAction, Ref, Turn } from './actor.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'; import * as P from '../gen/dataspacePatterns.js';
export type DataspaceOptions = { 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 { 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", "types": "lib/index.d.ts",
"author": "Tony Garnock-Jones <tonyg@leastfixedpoint.com>", "author": "Tony Garnock-Jones <tonyg@leastfixedpoint.com>",
"dependencies": { "dependencies": {
"@preserves/core": ">=0.18", "@preserves/core": ">=0.19",
"@preserves/schema": ">=0.19", "@preserves/schema": ">=0.20",
"@syndicate-lang/core": "^0.11.0" "@syndicate-lang/core": "^0.11.0"
}, },
"devDependencies": { "devDependencies": {

View File

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