From 5560ce5aa18d060f0072625acb018bcdf750651e Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Mon, 24 Jan 2022 14:11:41 +0100 Subject: [PATCH] Upgrade Preserves, allowing automatic conversion to Preserves values in many cases --- examples/example-simple-chat/package.json | 14 +-- examples/example-simple-chat/src/index.ts | 16 ++-- examples/example-simple-chat/yarn.lock | 96 +++++++++---------- .../package.json | 8 +- .../how-to-use-syndicate-ts-plugin/yarn.lock | 38 ++++---- .../how-to-use-syndicate-tsc/package.json | 4 +- examples/how-to-use-syndicate-tsc/yarn.lock | 18 ++-- .../package.json | 4 +- .../yarn.lock | 18 ++-- .../package.json | 4 +- .../yarn.lock | 18 ++-- .../package.json | 10 +- .../yarn.lock | 94 +++++++++--------- .../syndicate-html-example-table/package.json | 8 +- .../syndicate-html-example-table/yarn.lock | 38 ++++---- packages/compiler/src/compiler/codegen.ts | 8 +- packages/core/package.json | 4 +- packages/core/src/runtime/actor.ts | 26 +++-- packages/core/src/runtime/dataspace.ts | 4 +- packages/ws-relay/package.json | 4 +- packages/ws-relay/src/index.ts | 4 +- 21 files changed, 224 insertions(+), 214 deletions(-) diff --git a/examples/example-simple-chat/package.json b/examples/example-simple-chat/package.json index 12b42e7..554285d 100644 --- a/examples/example-simple-chat/package.json +++ b/examples/example-simple-chat/package.json @@ -16,15 +16,15 @@ "author": "Tony Garnock-Jones ", "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" diff --git a/examples/example-simple-chat/src/index.ts b/examples/example-simple-chat/src/index.ts index 6f86d27..3fe436c 100644 --- a/examples/example-simple-chat/src/index.ts +++ b/examples/example-simple-chat/src/index.ts @@ -1,11 +1,11 @@ /// SPDX-License-Identifier: GPL-3.0-or-later /// SPDX-FileCopyrightText: Copyright © 2016-2021 Tony Garnock-Jones -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 { diff --git a/examples/example-simple-chat/yarn.lock b/examples/example-simple-chat/yarn.lock index 614139f..aaf836b 100644 --- a/examples/example-simple-chat/yarn.lock +++ b/examples/example-simple-chat/yarn.lock @@ -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" diff --git a/examples/how-to-use-syndicate-ts-plugin/package.json b/examples/how-to-use-syndicate-ts-plugin/package.json index 3dde6b6..ddcfaa0 100644 --- a/examples/how-to-use-syndicate-ts-plugin/package.json +++ b/examples/how-to-use-syndicate-ts-plugin/package.json @@ -12,12 +12,12 @@ "author": "Tony Garnock-Jones ", "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" diff --git a/examples/how-to-use-syndicate-ts-plugin/yarn.lock b/examples/how-to-use-syndicate-ts-plugin/yarn.lock index 2e01b68..4575387 100644 --- a/examples/how-to-use-syndicate-ts-plugin/yarn.lock +++ b/examples/how-to-use-syndicate-ts-plugin/yarn.lock @@ -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" diff --git a/examples/how-to-use-syndicate-tsc/package.json b/examples/how-to-use-syndicate-tsc/package.json index 9645fc3..f139777 100644 --- a/examples/how-to-use-syndicate-tsc/package.json +++ b/examples/how-to-use-syndicate-tsc/package.json @@ -12,10 +12,10 @@ "author": "Tony Garnock-Jones ", "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" diff --git a/examples/how-to-use-syndicate-tsc/yarn.lock b/examples/how-to-use-syndicate-tsc/yarn.lock index 0bbb5ba..9b6df93 100644 --- a/examples/how-to-use-syndicate-tsc/yarn.lock +++ b/examples/how-to-use-syndicate-tsc/yarn.lock @@ -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" diff --git a/examples/how-to-use-syndicatec-javascript/package.json b/examples/how-to-use-syndicatec-javascript/package.json index a7c7a57..7c793fe 100644 --- a/examples/how-to-use-syndicatec-javascript/package.json +++ b/examples/how-to-use-syndicatec-javascript/package.json @@ -12,10 +12,10 @@ "author": "Tony Garnock-Jones ", "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" } diff --git a/examples/how-to-use-syndicatec-javascript/yarn.lock b/examples/how-to-use-syndicatec-javascript/yarn.lock index 781d669..20460ca 100644 --- a/examples/how-to-use-syndicatec-javascript/yarn.lock +++ b/examples/how-to-use-syndicatec-javascript/yarn.lock @@ -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" diff --git a/examples/how-to-use-syndicatec-typescript/package.json b/examples/how-to-use-syndicatec-typescript/package.json index 0e73ded..f50fe22 100644 --- a/examples/how-to-use-syndicatec-typescript/package.json +++ b/examples/how-to-use-syndicatec-typescript/package.json @@ -12,10 +12,10 @@ "author": "Tony Garnock-Jones ", "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" diff --git a/examples/how-to-use-syndicatec-typescript/yarn.lock b/examples/how-to-use-syndicatec-typescript/yarn.lock index 57b6225..b64ead1 100644 --- a/examples/how-to-use-syndicatec-typescript/yarn.lock +++ b/examples/how-to-use-syndicatec-typescript/yarn.lock @@ -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" diff --git a/examples/syndicate-html-example-flappy-bird/package.json b/examples/syndicate-html-example-flappy-bird/package.json index 6c93dd1..1f40a01 100644 --- a/examples/syndicate-html-example-flappy-bird/package.json +++ b/examples/syndicate-html-example-flappy-bird/package.json @@ -12,13 +12,13 @@ "author": "Tony Garnock-Jones ", "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" diff --git a/examples/syndicate-html-example-flappy-bird/yarn.lock b/examples/syndicate-html-example-flappy-bird/yarn.lock index 5c7a206..42db427 100644 --- a/examples/syndicate-html-example-flappy-bird/yarn.lock +++ b/examples/syndicate-html-example-flappy-bird/yarn.lock @@ -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" diff --git a/examples/syndicate-html-example-table/package.json b/examples/syndicate-html-example-table/package.json index ca5b822..f0f367a 100644 --- a/examples/syndicate-html-example-table/package.json +++ b/examples/syndicate-html-example-table/package.json @@ -14,12 +14,12 @@ "author": "Tony Garnock-Jones ", "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" diff --git a/examples/syndicate-html-example-table/yarn.lock b/examples/syndicate-html-example-table/yarn.lock index 37dcdab..9ba5717 100644 --- a/examples/syndicate-html-example-table/yarn.lock +++ b/examples/syndicate-html-example-table/yarn.lock @@ -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" diff --git a/packages/compiler/src/compiler/codegen.ts b/packages/compiler/src/compiler/codegen.ts index 7fff9d4..b27aa0a 100644 --- a/packages/compiler/src/compiler/codegen.ts +++ b/packages/compiler/src/compiler/codegen.ts @@ -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(() => ({ diff --git a/packages/core/package.json b/packages/core/package.json index 8694ddf..45aa84c 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -24,7 +24,7 @@ "types": "lib/index.d.ts", "author": "Tony Garnock-Jones ", "dependencies": { - "@preserves/core": ">=0.18", - "@preserves/schema": ">=0.19" + "@preserves/core": ">=0.19", + "@preserves/schema": ">=0.20" } } diff --git a/packages/core/src/runtime/actor.ts b/packages/core/src/runtime/actor.ts index 441fcde..41400d4 100644 --- a/packages/core/src/runtime/actor.ts +++ b/packages/core/src/runtime/actor.ts @@ -1,7 +1,7 @@ /// SPDX-License-Identifier: GPL-3.0-or-later /// SPDX-FileCopyrightText: Copyright © 2016-2021 Tony Garnock-Jones -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__: () => Value } | { __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; @@ -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)); } diff --git a/packages/core/src/runtime/dataspace.ts b/packages/core/src/runtime/dataspace.ts index bea3d18..d832da4 100644 --- a/packages/core/src/runtime/dataspace.ts +++ b/packages/core/src/runtime/dataspace.ts @@ -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): Handle { - return Turn.active.assert(ds, fromObserve(Observe({ pattern, observer: Turn.ref(e) }))); + return Turn.active.assert(ds, Observe({ pattern, observer: Turn.ref(e) })); } diff --git a/packages/ws-relay/package.json b/packages/ws-relay/package.json index def4337..e9f0f88 100644 --- a/packages/ws-relay/package.json +++ b/packages/ws-relay/package.json @@ -23,8 +23,8 @@ "types": "lib/index.d.ts", "author": "Tony Garnock-Jones ", "dependencies": { - "@preserves/core": ">=0.18", - "@preserves/schema": ">=0.19", + "@preserves/core": ">=0.19", + "@preserves/schema": ">=0.20", "@syndicate-lang/core": "^0.11.0" }, "devDependencies": { diff --git a/packages/ws-relay/src/index.ts b/packages/ws-relay/src/index.ts index 47debfc..daaaf3c 100644 --- a/packages/ws-relay/src/index.ts +++ b/packages/ws-relay/src/index.ts @@ -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) { } }), })), - })); + }); } }