@synnaxlabs/client 0.56.1 → 0.57.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client-B08VDLSA.js +14463 -0
- package/dist/client-B08VDLSA.js.map +1 -0
- package/dist/client.js +1128 -14876
- package/dist/client.js.map +1 -0
- package/dist/src/access/client.d.ts +10 -1
- package/dist/src/access/client.d.ts.map +1 -1
- package/dist/src/access/enforce.d.ts.map +1 -1
- package/dist/src/access/external.d.ts +1 -0
- package/dist/src/access/external.d.ts.map +1 -1
- package/dist/src/access/granted.d.ts +39 -0
- package/dist/src/access/granted.d.ts.map +1 -0
- package/dist/src/access/policy/client.d.ts +136 -147
- package/dist/src/access/policy/client.d.ts.map +1 -1
- package/dist/src/access/policy/types.gen.d.ts +15 -68
- package/dist/src/access/policy/types.gen.d.ts.map +1 -1
- package/dist/src/access/role/client.d.ts +77 -58
- package/dist/src/access/role/client.d.ts.map +1 -1
- package/dist/src/access/role/types.gen.d.ts +8 -14
- package/dist/src/access/role/types.gen.d.ts.map +1 -1
- package/dist/src/actions/actions.d.ts +5 -6
- package/dist/src/actions/actions.d.ts.map +1 -1
- package/dist/src/actions/controller.d.ts +194 -0
- package/dist/src/actions/controller.d.ts.map +1 -0
- package/dist/src/actions/external.d.ts +1 -0
- package/dist/src/actions/external.d.ts.map +1 -1
- package/dist/src/arc/actions.d.ts +575 -0
- package/dist/src/arc/actions.d.ts.map +1 -0
- package/dist/src/arc/actions.gen.d.ts +1439 -0
- package/dist/src/arc/actions.gen.d.ts.map +1 -0
- package/dist/src/arc/client.d.ts +97 -13
- package/dist/src/arc/client.d.ts.map +1 -1
- package/dist/src/arc/compiler/types.gen.d.ts +3 -3
- package/dist/src/arc/compiler/types.gen.d.ts.map +1 -1
- package/dist/src/arc/external.d.ts +2 -0
- package/dist/src/arc/external.d.ts.map +1 -1
- package/dist/src/arc/graph/types.gen.d.ts +45 -597
- package/dist/src/arc/graph/types.gen.d.ts.map +1 -1
- package/dist/src/arc/ir/index.d.ts +1 -1
- package/dist/src/arc/ir/index.d.ts.map +1 -1
- package/dist/src/arc/ir/ir.d.ts +2 -0
- package/dist/src/arc/ir/ir.d.ts.map +1 -0
- package/dist/src/arc/ir/types.gen.d.ts +58 -2807
- package/dist/src/arc/ir/types.gen.d.ts.map +1 -1
- package/dist/src/arc/module/types.gen.d.ts +18 -1090
- package/dist/src/arc/module/types.gen.d.ts.map +1 -1
- package/dist/src/arc/program/types.gen.d.ts +18 -1090
- package/dist/src/arc/program/types.gen.d.ts.map +1 -1
- package/dist/src/arc/text/types.gen.d.ts +54 -1
- package/dist/src/arc/text/types.gen.d.ts.map +1 -1
- package/dist/src/arc/types/types.gen.d.ts +35 -153
- package/dist/src/arc/types/types.gen.d.ts.map +1 -1
- package/dist/src/arc/types.gen.d.ts +98 -2278
- package/dist/src/arc/types.gen.d.ts.map +1 -1
- package/dist/src/auth/auth.d.ts +14 -2
- package/dist/src/auth/auth.d.ts.map +1 -1
- package/dist/src/channel/client.d.ts +113 -75
- package/dist/src/channel/client.d.ts.map +1 -1
- package/dist/src/channel/external.d.ts +0 -1
- package/dist/src/channel/external.d.ts.map +1 -1
- package/dist/src/channel/payload.d.ts +65 -56
- package/dist/src/channel/payload.d.ts.map +1 -1
- package/dist/src/channel/types.gen.d.ts +26 -73
- package/dist/src/channel/types.gen.d.ts.map +1 -1
- package/dist/src/channel/writer.d.ts +1 -3
- package/dist/src/channel/writer.d.ts.map +1 -1
- package/dist/src/client.d.ts +55 -27
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/connection/client.d.ts +146 -0
- package/dist/src/connection/client.d.ts.map +1 -0
- package/dist/src/connection/external.d.ts +3 -0
- package/dist/src/connection/external.d.ts.map +1 -0
- package/dist/src/connection/index.d.ts +1 -1
- package/dist/src/connection/index.d.ts.map +1 -1
- package/dist/src/connection/status.d.ts +252 -0
- package/dist/src/connection/status.d.ts.map +1 -0
- package/dist/src/control/client.d.ts +31 -7
- package/dist/src/control/client.d.ts.map +1 -1
- package/dist/src/control/state.d.ts +47 -16
- package/dist/src/control/state.d.ts.map +1 -1
- package/dist/src/device/client.d.ts +59 -17
- package/dist/src/device/client.d.ts.map +1 -1
- package/dist/src/device/types.gen.d.ts +17 -67
- package/dist/src/device/types.gen.d.ts.map +1 -1
- package/dist/src/errors.d.ts +17 -20
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/ethercat/external.d.ts +2 -0
- package/dist/src/ethercat/external.d.ts.map +1 -0
- package/dist/src/ethercat/index.d.ts +2 -0
- package/dist/src/ethercat/index.d.ts.map +1 -0
- package/dist/src/ethercat/types.gen.d.ts +243 -0
- package/dist/src/ethercat/types.gen.d.ts.map +1 -0
- package/dist/src/framer/adapter.d.ts +8 -5
- package/dist/src/framer/adapter.d.ts.map +1 -1
- package/dist/src/framer/benchutil.d.ts +19 -0
- package/dist/src/framer/benchutil.d.ts.map +1 -0
- package/dist/src/framer/cache/cache.d.ts +38 -0
- package/dist/src/framer/cache/cache.d.ts.map +1 -0
- package/dist/src/framer/cache/dynamic.d.ts +71 -0
- package/dist/src/framer/cache/dynamic.d.ts.map +1 -0
- package/dist/src/framer/cache/reader.d.ts +43 -0
- package/dist/src/framer/cache/reader.d.ts.map +1 -0
- package/dist/src/framer/cache/static.d.ts +66 -0
- package/dist/src/framer/cache/static.d.ts.map +1 -0
- package/dist/src/framer/cache/streamer.d.ts +86 -0
- package/dist/src/framer/cache/streamer.d.ts.map +1 -0
- package/dist/src/framer/cache/transform.d.ts +18 -0
- package/dist/src/framer/cache/transform.d.ts.map +1 -0
- package/dist/src/framer/cache/unary.d.ts +37 -0
- package/dist/src/framer/cache/unary.d.ts.map +1 -0
- package/dist/src/framer/client.d.ts +35 -14
- package/dist/src/framer/client.d.ts.map +1 -1
- package/dist/src/framer/codec.d.ts.map +1 -1
- package/dist/src/framer/deleter.d.ts +3 -2
- package/dist/src/framer/deleter.d.ts.map +1 -1
- package/dist/src/framer/external.d.ts +6 -0
- package/dist/src/framer/external.d.ts.map +1 -1
- package/dist/src/framer/feed.d.ts +40 -0
- package/dist/src/framer/feed.d.ts.map +1 -0
- package/dist/src/framer/frame.d.ts +16 -20
- package/dist/src/framer/frame.d.ts.map +1 -1
- package/dist/src/framer/hardened.d.ts +70 -0
- package/dist/src/framer/hardened.d.ts.map +1 -0
- package/dist/src/framer/iterator.d.ts +36 -43
- package/dist/src/framer/iterator.d.ts.map +1 -1
- package/dist/src/framer/reader.d.ts +3 -2
- package/dist/src/framer/reader.d.ts.map +1 -1
- package/dist/src/framer/streamer.d.ts +132 -205
- package/dist/src/framer/streamer.d.ts.map +1 -1
- package/dist/src/framer/writer.d.ts +130 -161
- package/dist/src/framer/writer.d.ts.map +1 -1
- package/dist/src/group/client.d.ts +66 -9
- package/dist/src/group/client.d.ts.map +1 -1
- package/dist/src/group/types.gen.d.ts +2 -2
- package/dist/src/http/external.d.ts +2 -0
- package/dist/src/http/external.d.ts.map +1 -0
- package/dist/src/http/index.d.ts +2 -0
- package/dist/src/http/index.d.ts.map +1 -0
- package/dist/src/http/types.gen.d.ts +451 -0
- package/dist/src/http/types.gen.d.ts.map +1 -0
- package/dist/src/imex/client.d.ts +88 -0
- package/dist/src/imex/client.d.ts.map +1 -0
- package/dist/src/imex/index.d.ts +2 -0
- package/dist/src/imex/index.d.ts.map +1 -0
- package/dist/src/index.d.ts +18 -5
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/label/client.d.ts +55 -36
- package/dist/src/label/client.d.ts.map +1 -1
- package/dist/src/label/external.d.ts +2 -0
- package/dist/src/label/external.d.ts.map +1 -1
- package/dist/src/label/payload.d.ts +4 -46
- package/dist/src/label/payload.d.ts.map +1 -1
- package/dist/src/label/store.d.ts +8 -0
- package/dist/src/label/store.d.ts.map +1 -0
- package/dist/src/label/types.gen.d.ts +45 -0
- package/dist/src/label/types.gen.d.ts.map +1 -0
- package/dist/src/labjack/external.d.ts +2 -0
- package/dist/src/labjack/external.d.ts.map +1 -0
- package/dist/src/labjack/index.d.ts +2 -0
- package/dist/src/labjack/index.d.ts.map +1 -0
- package/dist/src/labjack/types.gen.d.ts +442 -0
- package/dist/src/labjack/types.gen.d.ts.map +1 -0
- package/dist/src/lineplot/actions.d.ts +914 -0
- package/dist/src/lineplot/actions.d.ts.map +1 -0
- package/dist/src/lineplot/actions.gen.d.ts +4208 -0
- package/dist/src/lineplot/actions.gen.d.ts.map +1 -0
- package/dist/src/lineplot/client.d.ts +66 -16
- package/dist/src/lineplot/client.d.ts.map +1 -1
- package/dist/src/lineplot/external.d.ts +3 -0
- package/dist/src/lineplot/external.d.ts.map +1 -1
- package/dist/src/lineplot/line.d.ts +16 -0
- package/dist/src/lineplot/line.d.ts.map +1 -0
- package/dist/src/lineplot/types.gen.d.ts +837 -14
- package/dist/src/lineplot/types.gen.d.ts.map +1 -1
- package/dist/src/log/actions.d.ts +271 -0
- package/dist/src/log/actions.d.ts.map +1 -0
- package/dist/src/log/actions.gen.d.ts +1529 -0
- package/dist/src/log/actions.gen.d.ts.map +1 -0
- package/dist/src/log/client.d.ts +66 -16
- package/dist/src/log/client.d.ts.map +1 -1
- package/dist/src/log/external.d.ts +2 -0
- package/dist/src/log/external.d.ts.map +1 -1
- package/dist/src/log/types.gen.d.ts +139 -14
- package/dist/src/log/types.gen.d.ts.map +1 -1
- package/dist/src/modbus/external.d.ts +2 -0
- package/dist/src/modbus/external.d.ts.map +1 -0
- package/dist/src/modbus/index.d.ts +2 -0
- package/dist/src/modbus/index.d.ts.map +1 -0
- package/dist/src/modbus/types.gen.d.ts +280 -0
- package/dist/src/modbus/types.gen.d.ts.map +1 -0
- package/dist/src/ni/external.d.ts +2 -0
- package/dist/src/ni/external.d.ts.map +1 -0
- package/dist/src/ni/index.d.ts +2 -0
- package/dist/src/ni/index.d.ts.map +1 -0
- package/dist/src/ni/types.gen.d.ts +21029 -0
- package/dist/src/ni/types.gen.d.ts.map +1 -0
- package/dist/src/node/index.d.ts +2 -0
- package/dist/src/node/index.d.ts.map +1 -0
- package/dist/src/node/types.gen.d.ts +4 -0
- package/dist/src/node/types.gen.d.ts.map +1 -0
- package/dist/src/ontology/client.d.ts +314 -67
- package/dist/src/ontology/client.d.ts.map +1 -1
- package/dist/src/ontology/external.d.ts +1 -0
- package/dist/src/ontology/external.d.ts.map +1 -1
- package/dist/src/ontology/payload.d.ts +60 -18
- package/dist/src/ontology/payload.d.ts.map +1 -1
- package/dist/src/ontology/store.d.ts +32 -0
- package/dist/src/ontology/store.d.ts.map +1 -0
- package/dist/src/ontology/types.gen.d.ts +3 -2
- package/dist/src/ontology/types.gen.d.ts.map +1 -1
- package/dist/src/ontology/writer.d.ts +16 -10
- package/dist/src/ontology/writer.d.ts.map +1 -1
- package/dist/src/opcua/external.d.ts +2 -0
- package/dist/src/opcua/external.d.ts.map +1 -0
- package/dist/src/opcua/index.d.ts +2 -0
- package/dist/src/opcua/index.d.ts.map +1 -0
- package/dist/src/opcua/types.gen.d.ts +82 -0
- package/dist/src/opcua/types.gen.d.ts.map +1 -0
- package/dist/src/pagerduty/external.d.ts +2 -0
- package/dist/src/pagerduty/external.d.ts.map +1 -0
- package/dist/src/pagerduty/index.d.ts +2 -0
- package/dist/src/pagerduty/index.d.ts.map +1 -0
- package/dist/src/pagerduty/types.gen.d.ts +30 -0
- package/dist/src/pagerduty/types.gen.d.ts.map +1 -0
- package/dist/src/panel/actions.d.ts +273 -0
- package/dist/src/panel/actions.d.ts.map +1 -0
- package/dist/src/panel/actions.gen.d.ts +1255 -0
- package/dist/src/panel/actions.gen.d.ts.map +1 -0
- package/dist/src/panel/client.d.ts +148 -0
- package/dist/src/panel/client.d.ts.map +1 -0
- package/dist/src/panel/external.d.ts +6 -0
- package/dist/src/panel/external.d.ts.map +1 -0
- package/dist/src/panel/index.d.ts +2 -0
- package/dist/src/panel/index.d.ts.map +1 -0
- package/dist/src/panel/tree.d.ts +50 -0
- package/dist/src/panel/tree.d.ts.map +1 -0
- package/dist/src/panel/types.gen.d.ts +370 -0
- package/dist/src/panel/types.gen.d.ts.map +1 -0
- package/dist/src/project/client.d.ts +89 -0
- package/dist/src/project/client.d.ts.map +1 -0
- package/dist/src/project/external.d.ts.map +1 -0
- package/dist/src/project/index.d.ts +2 -0
- package/dist/src/project/index.d.ts.map +1 -0
- package/dist/src/project/types.gen.d.ts +27 -0
- package/dist/src/project/types.gen.d.ts.map +1 -0
- package/dist/src/query/cache.d.ts +132 -0
- package/dist/src/query/cache.d.ts.map +1 -0
- package/dist/src/query/deleted.d.ts +20 -0
- package/dist/src/query/deleted.d.ts.map +1 -0
- package/dist/src/query/derived.d.ts +33 -0
- package/dist/src/query/derived.d.ts.map +1 -0
- package/dist/src/query/external.d.ts +10 -0
- package/dist/src/query/external.d.ts.map +1 -0
- package/dist/src/query/index.d.ts +2 -0
- package/dist/src/query/index.d.ts.map +1 -0
- package/dist/src/query/query.d.ts +235 -0
- package/dist/src/query/query.d.ts.map +1 -0
- package/dist/src/query/retriever.d.ts +135 -0
- package/dist/src/query/retriever.d.ts.map +1 -0
- package/dist/src/query/streamer.d.ts +67 -0
- package/dist/src/query/streamer.d.ts.map +1 -0
- package/dist/src/query/table.d.ts +219 -0
- package/dist/src/query/table.d.ts.map +1 -0
- package/dist/src/query/types.d.ts +35 -0
- package/dist/src/query/types.d.ts.map +1 -0
- package/dist/src/query/write.d.ts +21 -0
- package/dist/src/query/write.d.ts.map +1 -0
- package/dist/src/rack/client.d.ts +58 -20
- package/dist/src/rack/client.d.ts.map +1 -1
- package/dist/src/rack/types.gen.d.ts +11 -12
- package/dist/src/rack/types.gen.d.ts.map +1 -1
- package/dist/src/range/alias/types.gen.d.ts +2 -3
- package/dist/src/range/alias/types.gen.d.ts.map +1 -1
- package/dist/src/ranger/client.d.ts +138 -27
- package/dist/src/ranger/client.d.ts.map +1 -1
- package/dist/src/ranger/kv/client.d.ts +7 -4
- package/dist/src/ranger/kv/client.d.ts.map +1 -1
- package/dist/src/ranger/payload.d.ts +3 -0
- package/dist/src/ranger/payload.d.ts.map +1 -1
- package/dist/src/ranger/types.gen.d.ts +45 -101
- package/dist/src/ranger/types.gen.d.ts.map +1 -1
- package/dist/src/ranger/writer.d.ts +2 -74
- package/dist/src/ranger/writer.d.ts.map +1 -1
- package/dist/src/schematic/actions.d.ts +90 -33
- package/dist/src/schematic/actions.d.ts.map +1 -1
- package/dist/src/schematic/actions.gen.d.ts +207 -114
- package/dist/src/schematic/actions.gen.d.ts.map +1 -1
- package/dist/src/schematic/client.d.ts +70 -68
- package/dist/src/schematic/client.d.ts.map +1 -1
- package/dist/src/schematic/symbol/client.d.ts +133 -27
- package/dist/src/schematic/symbol/client.d.ts.map +1 -1
- package/dist/src/schematic/symbol/types.gen.d.ts +258 -153
- package/dist/src/schematic/symbol/types.gen.d.ts.map +1 -1
- package/dist/src/schematic/types.gen.d.ts +17 -96
- package/dist/src/schematic/types.gen.d.ts.map +1 -1
- package/dist/src/status/client.d.ts +69 -14
- package/dist/src/status/client.d.ts.map +1 -1
- package/dist/src/status/external.d.ts +2 -0
- package/dist/src/status/external.d.ts.map +1 -1
- package/dist/src/status/payload.d.ts +2 -36
- package/dist/src/status/payload.d.ts.map +1 -1
- package/dist/src/status/status.d.ts +65 -0
- package/dist/src/status/status.d.ts.map +1 -0
- package/dist/src/status/types.gen.d.ts +58 -0
- package/dist/src/status/types.gen.d.ts.map +1 -0
- package/dist/src/table/actions.d.ts +72 -13
- package/dist/src/table/actions.d.ts.map +1 -1
- package/dist/src/table/actions.gen.d.ts +221 -137
- package/dist/src/table/actions.gen.d.ts.map +1 -1
- package/dist/src/table/client.d.ts +64 -40
- package/dist/src/table/client.d.ts.map +1 -1
- package/dist/src/table/types.gen.d.ts +20 -55
- package/dist/src/table/types.gen.d.ts.map +1 -1
- package/dist/src/task/client.d.ts +149 -28
- package/dist/src/task/client.d.ts.map +1 -1
- package/dist/src/task/types.gen.d.ts +71 -89
- package/dist/src/task/types.gen.d.ts.map +1 -1
- package/dist/src/testutil/access.d.ts +27 -1
- package/dist/src/testutil/access.d.ts.map +1 -1
- package/dist/src/testutil/channels.d.ts +2 -0
- package/dist/src/testutil/channels.d.ts.map +1 -1
- package/dist/src/testutil/client.d.ts +5 -0
- package/dist/src/testutil/client.d.ts.map +1 -1
- package/dist/src/testutil/connection.d.ts +10 -0
- package/dist/src/testutil/connection.d.ts.map +1 -0
- package/dist/src/testutil/index.d.ts +9 -0
- package/dist/src/testutil/index.d.ts.map +1 -0
- package/dist/src/testutil/panels.d.ts +8 -0
- package/dist/src/testutil/panels.d.ts.map +1 -0
- package/dist/src/testutil/proxy.d.ts +29 -0
- package/dist/src/testutil/proxy.d.ts.map +1 -0
- package/dist/src/testutil/query.d.ts +7 -0
- package/dist/src/testutil/query.d.ts.map +1 -0
- package/dist/src/testutil/telem.d.ts +4 -0
- package/dist/src/testutil/telem.d.ts.map +1 -1
- package/dist/src/transport.d.ts +10 -4
- package/dist/src/transport.d.ts.map +1 -1
- package/dist/src/user/client.d.ts +29 -28
- package/dist/src/user/client.d.ts.map +1 -1
- package/dist/src/user/external.d.ts +1 -1
- package/dist/src/user/external.d.ts.map +1 -1
- package/dist/src/user/types.gen.d.ts +4 -4
- package/dist/src/util/retrieve.d.ts +2 -2
- package/dist/src/util/retrieve.d.ts.map +1 -1
- package/dist/src/util/telem.d.ts.map +1 -1
- package/dist/src/view/client.d.ts +30 -14
- package/dist/src/view/client.d.ts.map +1 -1
- package/dist/src/view/types.gen.d.ts +7 -15
- package/dist/src/view/types.gen.d.ts.map +1 -1
- package/dist/testutil.js +189 -0
- package/dist/testutil.js.map +1 -0
- package/package.json +40 -17
- package/src/access/client.ts +14 -3
- package/src/access/enforce.ts +0 -3
- package/src/access/external.ts +1 -0
- package/src/access/granted.ts +114 -0
- package/src/access/policy/client.ts +135 -43
- package/src/access/policy/types.gen.ts +9 -11
- package/src/access/role/client.ts +160 -38
- package/src/access/role/types.gen.ts +8 -12
- package/src/actions/actions.ts +5 -6
- package/src/actions/controller.ts +626 -0
- package/src/actions/external.ts +11 -0
- package/src/arc/actions.gen.ts +313 -0
- package/src/arc/actions.ts +192 -0
- package/src/arc/client.ts +424 -41
- package/src/arc/compiler/types.gen.ts +5 -6
- package/src/arc/external.ts +2 -0
- package/src/arc/graph/types.gen.ts +24 -22
- package/src/arc/ir/index.ts +1 -1
- package/{eslint.config.ts → src/arc/ir/ir.ts} +1 -4
- package/src/arc/ir/types.gen.ts +42 -41
- package/src/arc/text/types.gen.ts +21 -2
- package/src/arc/types/types.gen.ts +40 -32
- package/src/arc/types.gen.ts +31 -29
- package/src/auth/auth.ts +40 -8
- package/src/channel/client.ts +529 -132
- package/src/channel/external.ts +0 -1
- package/src/channel/payload.ts +30 -3
- package/src/channel/types.gen.ts +37 -48
- package/src/channel/writer.ts +2 -11
- package/src/client.ts +215 -91
- package/src/connection/client.ts +495 -0
- package/src/connection/external.ts +34 -0
- package/src/connection/index.ts +1 -1
- package/src/connection/status.ts +442 -0
- package/src/control/client.ts +84 -12
- package/src/control/state.ts +17 -36
- package/src/device/client.ts +293 -41
- package/src/device/types.gen.ts +15 -26
- package/src/errors.ts +45 -22
- package/src/{workspace → ethercat}/external.ts +1 -2
- package/src/{workspace → ethercat}/index.ts +1 -1
- package/src/ethercat/types.gen.ts +151 -0
- package/src/framer/adapter.ts +60 -37
- package/src/framer/benchutil.ts +67 -0
- package/src/framer/cache/cache.ts +115 -0
- package/src/framer/cache/dynamic.ts +279 -0
- package/src/framer/cache/reader.ts +160 -0
- package/src/framer/cache/static.ts +215 -0
- package/src/framer/cache/streamer.ts +391 -0
- package/src/framer/cache/transform.ts +31 -0
- package/src/framer/cache/unary.ts +104 -0
- package/src/framer/client.ts +71 -43
- package/src/framer/codec.ts +55 -18
- package/src/framer/deleter.ts +4 -6
- package/src/framer/external.ts +10 -0
- package/src/framer/feed.ts +108 -0
- package/src/framer/frame.ts +13 -23
- package/src/framer/hardened.ts +283 -0
- package/src/framer/iterator.ts +31 -42
- package/src/framer/reader.ts +11 -11
- package/src/framer/streamer.ts +18 -178
- package/src/framer/writer.ts +39 -59
- package/src/group/client.ts +158 -23
- package/src/http/external.ts +10 -0
- package/src/{cluster → http}/index.ts +1 -1
- package/src/http/types.gen.ts +245 -0
- package/src/imex/client.ts +125 -0
- package/src/imex/index.ts +10 -0
- package/src/index.ts +18 -6
- package/src/label/client.ts +193 -54
- package/src/label/external.ts +2 -0
- package/src/label/payload.ts +4 -9
- package/src/label/store.ts +28 -0
- package/src/label/types.gen.ts +31 -0
- package/src/labjack/external.ts +10 -0
- package/src/labjack/index.ts +10 -0
- package/src/labjack/types.gen.ts +251 -0
- package/src/lineplot/actions.gen.ts +880 -0
- package/src/lineplot/actions.ts +535 -0
- package/src/lineplot/client.ts +224 -52
- package/src/lineplot/external.ts +3 -0
- package/src/lineplot/line.ts +80 -0
- package/src/lineplot/types.gen.ts +225 -12
- package/src/log/actions.gen.ts +474 -0
- package/src/log/actions.ts +242 -0
- package/src/log/client.ts +223 -52
- package/src/log/external.ts +2 -0
- package/src/log/types.gen.ts +45 -14
- package/src/modbus/external.ts +10 -0
- package/src/modbus/index.ts +10 -0
- package/src/modbus/types.gen.ts +185 -0
- package/src/ni/external.ts +10 -0
- package/src/ni/index.ts +10 -0
- package/src/ni/types.gen.ts +1632 -0
- package/src/node/index.ts +10 -0
- package/src/{cluster → node}/types.gen.ts +2 -2
- package/src/ontology/client.ts +408 -99
- package/src/ontology/external.ts +7 -0
- package/src/ontology/payload.ts +48 -7
- package/src/ontology/store.ts +83 -0
- package/src/ontology/types.gen.ts +2 -1
- package/src/ontology/writer.ts +1 -0
- package/src/opcua/external.ts +10 -0
- package/src/opcua/index.ts +10 -0
- package/src/opcua/types.gen.ts +65 -0
- package/src/pagerduty/external.ts +10 -0
- package/src/pagerduty/index.ts +10 -0
- package/src/pagerduty/types.gen.ts +41 -0
- package/src/panel/actions.gen.ts +267 -0
- package/src/panel/actions.ts +357 -0
- package/src/panel/client.ts +327 -0
- package/src/panel/external.ts +14 -0
- package/src/panel/index.ts +10 -0
- package/src/panel/tree.ts +163 -0
- package/src/panel/types.gen.ts +164 -0
- package/src/project/client.ts +273 -0
- package/src/project/external.ts +11 -0
- package/src/project/index.ts +10 -0
- package/src/project/types.gen.ts +40 -0
- package/src/query/cache.ts +326 -0
- package/src/query/deleted.ts +38 -0
- package/src/query/derived.ts +101 -0
- package/src/query/external.ts +51 -0
- package/src/query/index.ts +10 -0
- package/src/query/query.ts +865 -0
- package/src/query/retriever.ts +308 -0
- package/src/query/streamer.ts +207 -0
- package/src/query/table.ts +625 -0
- package/src/query/types.ts +54 -0
- package/src/query/write.ts +42 -0
- package/src/rack/client.ts +233 -45
- package/src/rack/types.gen.ts +15 -16
- package/src/range/alias/types.gen.ts +2 -3
- package/src/ranger/client.ts +581 -70
- package/src/ranger/kv/client.ts +52 -21
- package/src/ranger/payload.ts +3 -0
- package/src/ranger/types.gen.ts +21 -23
- package/src/ranger/writer.ts +4 -8
- package/src/schematic/actions.gen.ts +62 -53
- package/src/schematic/actions.ts +44 -42
- package/src/schematic/client.ts +226 -70
- package/src/schematic/symbol/client.ts +277 -48
- package/src/schematic/symbol/types.gen.ts +22 -34
- package/src/schematic/types.gen.ts +22 -29
- package/src/status/client.ts +321 -44
- package/src/status/external.ts +2 -0
- package/src/status/payload.ts +1 -23
- package/src/status/status.ts +241 -0
- package/src/status/types.gen.ts +108 -0
- package/src/table/actions.gen.ts +96 -63
- package/src/table/actions.ts +44 -19
- package/src/table/client.ts +220 -56
- package/src/table/types.gen.ts +24 -31
- package/src/task/client.ts +580 -101
- package/src/task/types.gen.ts +68 -75
- package/src/testutil/access.ts +102 -6
- package/src/testutil/channels.ts +29 -0
- package/src/testutil/client.ts +27 -2
- package/src/testutil/connection.ts +47 -0
- package/src/testutil/index.ts +17 -0
- package/src/testutil/panels.ts +26 -0
- package/src/testutil/proxy.ts +106 -0
- package/src/testutil/query.ts +28 -0
- package/src/testutil/telem.ts +17 -1
- package/src/transport.ts +18 -7
- package/src/user/client.ts +165 -64
- package/src/user/external.ts +1 -1
- package/src/user/types.gen.ts +5 -5
- package/src/util/retrieve.ts +4 -4
- package/src/util/telem.ts +0 -1
- package/src/view/client.ts +120 -37
- package/src/view/types.gen.ts +8 -11
- package/.turbo/turbo-build.log +0 -20
- package/.vscode/settings.json +0 -3
- package/CONTRIBUTING.md +0 -47
- package/dist/client.cjs +0 -118
- package/dist/eslint.config.d.ts +0 -4
- package/dist/eslint.config.d.ts.map +0 -1
- package/dist/src/access/enforce.spec.d.ts +0 -2
- package/dist/src/access/enforce.spec.d.ts.map +0 -1
- package/dist/src/access/policy/access.spec.d.ts +0 -2
- package/dist/src/access/policy/access.spec.d.ts.map +0 -1
- package/dist/src/access/role/role.spec.d.ts +0 -2
- package/dist/src/access/role/role.spec.d.ts.map +0 -1
- package/dist/src/actions/actions.spec.d.ts +0 -2
- package/dist/src/actions/actions.spec.d.ts.map +0 -1
- package/dist/src/arc/access.spec.d.ts +0 -2
- package/dist/src/arc/access.spec.d.ts.map +0 -1
- package/dist/src/arc/arc.spec.d.ts +0 -2
- package/dist/src/arc/arc.spec.d.ts.map +0 -1
- package/dist/src/arc/lsp.spec.d.ts +0 -2
- package/dist/src/arc/lsp.spec.d.ts.map +0 -1
- package/dist/src/auth/auth.spec.d.ts +0 -2
- package/dist/src/auth/auth.spec.d.ts.map +0 -1
- package/dist/src/channel/access.spec.d.ts +0 -2
- package/dist/src/channel/access.spec.d.ts.map +0 -1
- package/dist/src/channel/batchRetriever.spec.d.ts +0 -2
- package/dist/src/channel/batchRetriever.spec.d.ts.map +0 -1
- package/dist/src/channel/channel.spec.d.ts +0 -2
- package/dist/src/channel/channel.spec.d.ts.map +0 -1
- package/dist/src/channel/payload.spec.d.ts +0 -2
- package/dist/src/channel/payload.spec.d.ts.map +0 -1
- package/dist/src/channel/retriever.d.ts +0 -64
- package/dist/src/channel/retriever.d.ts.map +0 -1
- package/dist/src/cluster/index.d.ts +0 -2
- package/dist/src/cluster/index.d.ts.map +0 -1
- package/dist/src/cluster/types.gen.d.ts +0 -4
- package/dist/src/cluster/types.gen.d.ts.map +0 -1
- package/dist/src/connection/checker.d.ts +0 -86
- package/dist/src/connection/checker.d.ts.map +0 -1
- package/dist/src/connection/connection.spec.d.ts +0 -2
- package/dist/src/connection/connection.spec.d.ts.map +0 -1
- package/dist/src/connection.spec.d.ts +0 -2
- package/dist/src/connection.spec.d.ts.map +0 -1
- package/dist/src/control/state.spec.d.ts +0 -2
- package/dist/src/control/state.spec.d.ts.map +0 -1
- package/dist/src/device/access.spec.d.ts +0 -2
- package/dist/src/device/access.spec.d.ts.map +0 -1
- package/dist/src/device/device.spec.d.ts +0 -2
- package/dist/src/device/device.spec.d.ts.map +0 -1
- package/dist/src/device/payload.spec.d.ts +0 -2
- package/dist/src/device/payload.spec.d.ts.map +0 -1
- package/dist/src/errors.spec.d.ts +0 -2
- package/dist/src/errors.spec.d.ts.map +0 -1
- package/dist/src/framer/adapter.spec.d.ts +0 -2
- package/dist/src/framer/adapter.spec.d.ts.map +0 -1
- package/dist/src/framer/client.spec.d.ts +0 -2
- package/dist/src/framer/client.spec.d.ts.map +0 -1
- package/dist/src/framer/codec.spec.d.ts +0 -2
- package/dist/src/framer/codec.spec.d.ts.map +0 -1
- package/dist/src/framer/deleter.spec.d.ts +0 -2
- package/dist/src/framer/deleter.spec.d.ts.map +0 -1
- package/dist/src/framer/frame.spec.d.ts +0 -2
- package/dist/src/framer/frame.spec.d.ts.map +0 -1
- package/dist/src/framer/iterator.spec.d.ts +0 -2
- package/dist/src/framer/iterator.spec.d.ts.map +0 -1
- package/dist/src/framer/reader.spec.d.ts +0 -2
- package/dist/src/framer/reader.spec.d.ts.map +0 -1
- package/dist/src/framer/streamer.spec.d.ts +0 -2
- package/dist/src/framer/streamer.spec.d.ts.map +0 -1
- package/dist/src/framer/writer.spec.d.ts +0 -2
- package/dist/src/framer/writer.spec.d.ts.map +0 -1
- package/dist/src/group/access.spec.d.ts +0 -2
- package/dist/src/group/access.spec.d.ts.map +0 -1
- package/dist/src/group/group.spec.d.ts +0 -2
- package/dist/src/group/group.spec.d.ts.map +0 -1
- package/dist/src/label/access.spec.d.ts +0 -2
- package/dist/src/label/access.spec.d.ts.map +0 -1
- package/dist/src/label/label.spec.d.ts +0 -2
- package/dist/src/label/label.spec.d.ts.map +0 -1
- package/dist/src/lineplot/access.spec.d.ts +0 -2
- package/dist/src/lineplot/access.spec.d.ts.map +0 -1
- package/dist/src/lineplot/lineplot.spec.d.ts +0 -2
- package/dist/src/lineplot/lineplot.spec.d.ts.map +0 -1
- package/dist/src/log/access.spec.d.ts +0 -2
- package/dist/src/log/access.spec.d.ts.map +0 -1
- package/dist/src/log/log.spec.d.ts +0 -2
- package/dist/src/log/log.spec.d.ts.map +0 -1
- package/dist/src/ontology/ontology.spec.d.ts +0 -2
- package/dist/src/ontology/ontology.spec.d.ts.map +0 -1
- package/dist/src/rack/access.spec.d.ts +0 -2
- package/dist/src/rack/access.spec.d.ts.map +0 -1
- package/dist/src/rack/rack.spec.d.ts +0 -2
- package/dist/src/rack/rack.spec.d.ts.map +0 -1
- package/dist/src/ranger/access.spec.d.ts +0 -2
- package/dist/src/ranger/access.spec.d.ts.map +0 -1
- package/dist/src/ranger/alias/payload.spec.d.ts +0 -2
- package/dist/src/ranger/alias/payload.spec.d.ts.map +0 -1
- package/dist/src/ranger/ranger.spec.d.ts +0 -2
- package/dist/src/ranger/ranger.spec.d.ts.map +0 -1
- package/dist/src/schematic/access.spec.d.ts +0 -2
- package/dist/src/schematic/access.spec.d.ts.map +0 -1
- package/dist/src/schematic/actions.spec.d.ts +0 -2
- package/dist/src/schematic/actions.spec.d.ts.map +0 -1
- package/dist/src/schematic/schematic.spec.d.ts +0 -2
- package/dist/src/schematic/schematic.spec.d.ts.map +0 -1
- package/dist/src/schematic/symbol/access.spec.d.ts +0 -2
- package/dist/src/schematic/symbol/access.spec.d.ts.map +0 -1
- package/dist/src/schematic/symbol/client.spec.d.ts +0 -2
- package/dist/src/schematic/symbol/client.spec.d.ts.map +0 -1
- package/dist/src/status/access.spec.d.ts +0 -2
- package/dist/src/status/access.spec.d.ts.map +0 -1
- package/dist/src/status/status.spec.d.ts +0 -2
- package/dist/src/status/status.spec.d.ts.map +0 -1
- package/dist/src/table/access.spec.d.ts +0 -2
- package/dist/src/table/access.spec.d.ts.map +0 -1
- package/dist/src/table/table.spec.d.ts +0 -2
- package/dist/src/table/table.spec.d.ts.map +0 -1
- package/dist/src/task/access.spec.d.ts +0 -2
- package/dist/src/task/access.spec.d.ts.map +0 -1
- package/dist/src/task/payload.spec.d.ts +0 -2
- package/dist/src/task/payload.spec.d.ts.map +0 -1
- package/dist/src/task/task.spec.d.ts +0 -2
- package/dist/src/task/task.spec.d.ts.map +0 -1
- package/dist/src/user/access.spec.d.ts +0 -2
- package/dist/src/user/access.spec.d.ts.map +0 -1
- package/dist/src/user/user.spec.d.ts +0 -2
- package/dist/src/user/user.spec.d.ts.map +0 -1
- package/dist/src/util/retrieve.spec.d.ts +0 -2
- package/dist/src/util/retrieve.spec.d.ts.map +0 -1
- package/dist/src/view/view.spec.d.ts +0 -2
- package/dist/src/view/view.spec.d.ts.map +0 -1
- package/dist/src/workspace/access.spec.d.ts +0 -2
- package/dist/src/workspace/access.spec.d.ts.map +0 -1
- package/dist/src/workspace/client.d.ts +0 -36
- package/dist/src/workspace/client.d.ts.map +0 -1
- package/dist/src/workspace/external.d.ts.map +0 -1
- package/dist/src/workspace/index.d.ts +0 -2
- package/dist/src/workspace/index.d.ts.map +0 -1
- package/dist/src/workspace/types.gen.d.ts +0 -34
- package/dist/src/workspace/types.gen.d.ts.map +0 -1
- package/dist/src/workspace/workspace.spec.d.ts +0 -2
- package/dist/src/workspace/workspace.spec.d.ts.map +0 -1
- package/examples/node/basicReadWrite.js +0 -86
- package/examples/node/createChannels.js +0 -50
- package/examples/node/createRange.js +0 -67
- package/examples/node/package-lock.json +0 -133
- package/examples/node/package.json +0 -17
- package/examples/node/readLatest.js +0 -76
- package/examples/node/seriesAndFrames.js +0 -173
- package/examples/node/streamRead.js +0 -50
- package/examples/node/streamWrite.js +0 -87
- package/src/access/enforce.spec.ts +0 -188
- package/src/access/policy/access.spec.ts +0 -147
- package/src/access/role/role.spec.ts +0 -95
- package/src/actions/actions.spec.ts +0 -229
- package/src/arc/access.spec.ts +0 -149
- package/src/arc/arc.spec.ts +0 -44
- package/src/arc/lsp.spec.ts +0 -717
- package/src/auth/auth.spec.ts +0 -101
- package/src/channel/access.spec.ts +0 -116
- package/src/channel/batchRetriever.spec.ts +0 -115
- package/src/channel/channel.spec.ts +0 -352
- package/src/channel/payload.spec.ts +0 -117
- package/src/channel/retriever.ts +0 -252
- package/src/connection/checker.ts +0 -203
- package/src/connection/connection.spec.ts +0 -152
- package/src/connection.spec.ts +0 -145
- package/src/control/state.spec.ts +0 -22
- package/src/device/access.spec.ts +0 -159
- package/src/device/device.spec.ts +0 -461
- package/src/device/payload.spec.ts +0 -142
- package/src/errors.spec.ts +0 -71
- package/src/framer/adapter.spec.ts +0 -620
- package/src/framer/client.spec.ts +0 -180
- package/src/framer/codec.spec.ts +0 -383
- package/src/framer/deleter.spec.ts +0 -103
- package/src/framer/frame.spec.ts +0 -973
- package/src/framer/iterator.spec.ts +0 -169
- package/src/framer/reader.spec.ts +0 -865
- package/src/framer/streamer.spec.ts +0 -871
- package/src/framer/writer.spec.ts +0 -486
- package/src/group/access.spec.ts +0 -77
- package/src/group/group.spec.ts +0 -65
- package/src/label/access.spec.ts +0 -109
- package/src/label/label.spec.ts +0 -83
- package/src/lineplot/access.spec.ts +0 -134
- package/src/lineplot/lineplot.spec.ts +0 -120
- package/src/log/access.spec.ts +0 -132
- package/src/log/log.spec.ts +0 -106
- package/src/ontology/ontology.spec.ts +0 -521
- package/src/rack/access.spec.ts +0 -102
- package/src/rack/rack.spec.ts +0 -171
- package/src/ranger/access.spec.ts +0 -115
- package/src/ranger/alias/payload.spec.ts +0 -52
- package/src/ranger/ranger.spec.ts +0 -343
- package/src/schematic/access.spec.ts +0 -134
- package/src/schematic/actions.spec.ts +0 -699
- package/src/schematic/schematic.spec.ts +0 -340
- package/src/schematic/symbol/access.spec.ts +0 -172
- package/src/schematic/symbol/client.spec.ts +0 -160
- package/src/status/access.spec.ts +0 -129
- package/src/status/status.spec.ts +0 -448
- package/src/table/access.spec.ts +0 -128
- package/src/table/table.spec.ts +0 -651
- package/src/task/access.spec.ts +0 -131
- package/src/task/payload.spec.ts +0 -113
- package/src/task/task.spec.ts +0 -657
- package/src/user/access.spec.ts +0 -107
- package/src/user/user.spec.ts +0 -290
- package/src/util/retrieve.spec.ts +0 -49
- package/src/view/view.spec.ts +0 -165
- package/src/workspace/access.spec.ts +0 -108
- package/src/workspace/client.ts +0 -112
- package/src/workspace/types.gen.ts +0 -46
- package/src/workspace/workspace.spec.ts +0 -111
- package/tsconfig.json +0 -5
- package/tsconfig.vite.json +0 -4
- package/vite.config.ts +0 -29
- /package/dist/src/{workspace → project}/external.d.ts +0 -0
package/src/framer/frame.spec.ts
DELETED
|
@@ -1,973 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 Synnax Labs, Inc.
|
|
2
|
-
//
|
|
3
|
-
// Use of this software is governed by the Business Source License included in the file
|
|
4
|
-
// licenses/BSL.txt.
|
|
5
|
-
//
|
|
6
|
-
// As of the Change Date specified in that file, in accordance with the Business Source
|
|
7
|
-
// License, use of this software will be governed by the Apache License, Version 2.0,
|
|
8
|
-
// included in the file licenses/APL.txt.
|
|
9
|
-
|
|
10
|
-
import { DataType, Series, TimeRange } from "@synnaxlabs/x";
|
|
11
|
-
import { describe, expect, it, test } from "vitest";
|
|
12
|
-
|
|
13
|
-
import { framer } from "@/framer";
|
|
14
|
-
|
|
15
|
-
describe("framer.Frame", () => {
|
|
16
|
-
describe("construction", () => {
|
|
17
|
-
describe("valid", () => {
|
|
18
|
-
test("from an array of channel names and an array of arrays", () => {
|
|
19
|
-
const f = new framer.Frame(
|
|
20
|
-
["a", "b", "c"],
|
|
21
|
-
[
|
|
22
|
-
new Series({ data: new Float32Array([1, 2, 3]) }),
|
|
23
|
-
new Series({ data: new Float32Array([1, 2, 3]) }),
|
|
24
|
-
new Series({ data: new Float32Array([1, 2, 3]) }),
|
|
25
|
-
],
|
|
26
|
-
);
|
|
27
|
-
expect(f.length).toEqual(9);
|
|
28
|
-
expect(f.colType).toEqual("name");
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
test("from an array of channel keys and an array of arrays", () => {
|
|
32
|
-
const f = new framer.Frame(
|
|
33
|
-
[12, 13, 14],
|
|
34
|
-
[
|
|
35
|
-
new Series({ data: new Float32Array([1, 2, 3]) }),
|
|
36
|
-
new Series({ data: new Float32Array([1, 2, 3]) }),
|
|
37
|
-
new Series({ data: new Float32Array([1, 2, 3]) }),
|
|
38
|
-
],
|
|
39
|
-
);
|
|
40
|
-
expect(f.length).toEqual(9);
|
|
41
|
-
expect(f.colType).toEqual("key");
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
test("from a single name and an array of arrays", () => {
|
|
45
|
-
const f = new framer.Frame("a", [
|
|
46
|
-
new Series({ data: new Float32Array([1, 2, 3]) }),
|
|
47
|
-
]);
|
|
48
|
-
expect(f.length).toEqual(3);
|
|
49
|
-
expect(f.colType).toEqual("name");
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
test("from a single key and an array of arrays", () => {
|
|
53
|
-
const f = new framer.Frame(12, [
|
|
54
|
-
new Series({ data: new Float32Array([1, 2, 3]) }),
|
|
55
|
-
]);
|
|
56
|
-
expect(f.length).toEqual(3);
|
|
57
|
-
expect(f.colType).toEqual("key");
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
test("from a single key and a single array", () => {
|
|
61
|
-
const f = new framer.Frame(
|
|
62
|
-
12,
|
|
63
|
-
new Series({ data: new Float32Array([1, 2, 3]) }),
|
|
64
|
-
);
|
|
65
|
-
expect(f.length).toEqual(3);
|
|
66
|
-
expect(f.colType).toEqual("key");
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
test("from a single name and a single array", () => {
|
|
70
|
-
const f = new framer.Frame(
|
|
71
|
-
"a",
|
|
72
|
-
new Series({ data: new Float32Array([1, 2, 3]) }),
|
|
73
|
-
);
|
|
74
|
-
expect(f.length).toEqual(3);
|
|
75
|
-
expect(f.colType).toEqual("name");
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
describe("payload parsing", () => {
|
|
79
|
-
it("should correctly parse a series payload", () => {
|
|
80
|
-
const f = new framer.Frame({
|
|
81
|
-
keys: [12],
|
|
82
|
-
series: [{ dataType: new DataType("float32"), data: new ArrayBuffer(12) }],
|
|
83
|
-
});
|
|
84
|
-
expect(f.length.valueOf()).toEqual(3);
|
|
85
|
-
expect(f.columns.length).toEqual(1);
|
|
86
|
-
expect(f.series.length).toEqual(1);
|
|
87
|
-
});
|
|
88
|
-
|
|
89
|
-
it("should correctly parse a series with null data", () => {
|
|
90
|
-
const f = new framer.Frame({
|
|
91
|
-
keys: [12],
|
|
92
|
-
series: [{ dataType: "float32", data: null }],
|
|
93
|
-
});
|
|
94
|
-
expect(f.length.valueOf()).toEqual(0);
|
|
95
|
-
expect(f.columns.length).toEqual(1);
|
|
96
|
-
expect(f.series.length).toEqual(1);
|
|
97
|
-
});
|
|
98
|
-
});
|
|
99
|
-
|
|
100
|
-
test("from record", () => {
|
|
101
|
-
const f = new framer.Frame({
|
|
102
|
-
a: new Series({ data: new Float32Array([1, 2, 3]) }),
|
|
103
|
-
});
|
|
104
|
-
expect(f.length.valueOf()).toEqual(3);
|
|
105
|
-
expect(f.columns.length).toEqual(1);
|
|
106
|
-
expect(f.series.length).toEqual(1);
|
|
107
|
-
});
|
|
108
|
-
|
|
109
|
-
test("from map", () => {
|
|
110
|
-
const f = new framer.Frame(
|
|
111
|
-
new Map([[12, new Series({ data: new Float32Array([1, 2, 3]) })]]),
|
|
112
|
-
);
|
|
113
|
-
expect(f.length).toEqual(3);
|
|
114
|
-
expect(f.columns.length).toEqual(1);
|
|
115
|
-
expect(f.series.length).toEqual(1);
|
|
116
|
-
});
|
|
117
|
-
});
|
|
118
|
-
|
|
119
|
-
describe("invalid", () => {
|
|
120
|
-
test("mismatched lengths", () => {
|
|
121
|
-
expect(
|
|
122
|
-
() =>
|
|
123
|
-
new framer.Frame(
|
|
124
|
-
["a", "b", "c"],
|
|
125
|
-
[
|
|
126
|
-
new Series({ data: new Float32Array([1, 2, 3]) }),
|
|
127
|
-
new Series({ data: new Float32Array([1, 2, 3]) }),
|
|
128
|
-
],
|
|
129
|
-
),
|
|
130
|
-
).toThrow();
|
|
131
|
-
});
|
|
132
|
-
});
|
|
133
|
-
});
|
|
134
|
-
|
|
135
|
-
describe("vertical", () => {
|
|
136
|
-
it("should return false if a key has more than one array", () => {
|
|
137
|
-
const f = new framer.Frame(
|
|
138
|
-
new Map([
|
|
139
|
-
[12, [new Series({ data: new Float32Array([1, 2, 3]) })]],
|
|
140
|
-
[
|
|
141
|
-
13,
|
|
142
|
-
[
|
|
143
|
-
new Series({ data: new Float32Array([1, 2, 3]) }),
|
|
144
|
-
new Series({ data: new Float32Array([1, 2, 3]) }),
|
|
145
|
-
],
|
|
146
|
-
],
|
|
147
|
-
]),
|
|
148
|
-
);
|
|
149
|
-
expect(f.isVertical).toEqual(false);
|
|
150
|
-
});
|
|
151
|
-
});
|
|
152
|
-
|
|
153
|
-
describe("horizontal", () => {
|
|
154
|
-
it("should return false if there is more than one key", () => {
|
|
155
|
-
const f = new framer.Frame(
|
|
156
|
-
new Map([
|
|
157
|
-
[12, [new Series({ data: new Float32Array([1, 2, 3]) })]],
|
|
158
|
-
[13, [new Series({ data: new Float32Array([1, 2, 3]) })]],
|
|
159
|
-
]),
|
|
160
|
-
);
|
|
161
|
-
expect(f.isHorizontal).toEqual(false);
|
|
162
|
-
});
|
|
163
|
-
});
|
|
164
|
-
|
|
165
|
-
describe("weaklyAligned", () => {
|
|
166
|
-
it("should return true if all keys have the same time range", () => {
|
|
167
|
-
const f = new framer.Frame(
|
|
168
|
-
new Map([
|
|
169
|
-
[
|
|
170
|
-
12,
|
|
171
|
-
[
|
|
172
|
-
new Series({
|
|
173
|
-
data: new Float32Array([1, 2, 3]),
|
|
174
|
-
timeRange: new TimeRange(500, 50000),
|
|
175
|
-
}),
|
|
176
|
-
],
|
|
177
|
-
],
|
|
178
|
-
[
|
|
179
|
-
13,
|
|
180
|
-
[
|
|
181
|
-
new Series({
|
|
182
|
-
data: new Float32Array([1, 2, 3]),
|
|
183
|
-
timeRange: new TimeRange(500, 50000),
|
|
184
|
-
}),
|
|
185
|
-
],
|
|
186
|
-
],
|
|
187
|
-
]),
|
|
188
|
-
);
|
|
189
|
-
expect(f.isWeaklyAligned).toEqual(true);
|
|
190
|
-
});
|
|
191
|
-
|
|
192
|
-
it("should return false if any key has a different time range", () => {
|
|
193
|
-
const f = new framer.Frame(
|
|
194
|
-
new Map([
|
|
195
|
-
[
|
|
196
|
-
12,
|
|
197
|
-
[
|
|
198
|
-
new Series({
|
|
199
|
-
data: new Float32Array([1, 2, 3]),
|
|
200
|
-
timeRange: new TimeRange(500, 50000),
|
|
201
|
-
}),
|
|
202
|
-
],
|
|
203
|
-
],
|
|
204
|
-
[
|
|
205
|
-
13,
|
|
206
|
-
[
|
|
207
|
-
new Series({
|
|
208
|
-
data: new Float32Array([1, 2, 3]),
|
|
209
|
-
timeRange: new TimeRange(500, 50001),
|
|
210
|
-
}),
|
|
211
|
-
],
|
|
212
|
-
],
|
|
213
|
-
]),
|
|
214
|
-
);
|
|
215
|
-
expect(f.isWeaklyAligned).toEqual(false);
|
|
216
|
-
});
|
|
217
|
-
});
|
|
218
|
-
|
|
219
|
-
describe("timeRange", () => {
|
|
220
|
-
describe("no key provided", () => {
|
|
221
|
-
it("should return the maximum time range of the frame", () => {
|
|
222
|
-
const f = new framer.Frame(
|
|
223
|
-
new Map([
|
|
224
|
-
[
|
|
225
|
-
12,
|
|
226
|
-
[
|
|
227
|
-
new Series({
|
|
228
|
-
data: new Float32Array([1, 2, 3]),
|
|
229
|
-
timeRange: new TimeRange(40, 50000),
|
|
230
|
-
}),
|
|
231
|
-
],
|
|
232
|
-
],
|
|
233
|
-
[
|
|
234
|
-
13,
|
|
235
|
-
[
|
|
236
|
-
new Series({
|
|
237
|
-
data: new Float32Array([1, 2, 3]),
|
|
238
|
-
timeRange: new TimeRange(500, 50001),
|
|
239
|
-
}),
|
|
240
|
-
],
|
|
241
|
-
],
|
|
242
|
-
]),
|
|
243
|
-
);
|
|
244
|
-
expect(f.timeRange()).toEqual(new TimeRange(40, 50001));
|
|
245
|
-
});
|
|
246
|
-
});
|
|
247
|
-
|
|
248
|
-
describe("key provided", () => {
|
|
249
|
-
it("should return the time range of the key", () => {
|
|
250
|
-
const f = new framer.Frame({
|
|
251
|
-
a: new Series({
|
|
252
|
-
data: new Float32Array([1, 2, 3]),
|
|
253
|
-
timeRange: new TimeRange(40, 50000),
|
|
254
|
-
}),
|
|
255
|
-
b: new Series({
|
|
256
|
-
data: new Float32Array([1, 2, 3]),
|
|
257
|
-
timeRange: new TimeRange(500, 50001),
|
|
258
|
-
}),
|
|
259
|
-
});
|
|
260
|
-
expect(f.timeRange("a")).toEqual(new TimeRange(40, 50000));
|
|
261
|
-
});
|
|
262
|
-
});
|
|
263
|
-
|
|
264
|
-
describe("filter", () => {
|
|
265
|
-
it("should return a frame filtered on a particular condition", () => {
|
|
266
|
-
const f = new framer.Frame(
|
|
267
|
-
new Map([
|
|
268
|
-
[
|
|
269
|
-
12,
|
|
270
|
-
[
|
|
271
|
-
new Series({
|
|
272
|
-
data: new Float32Array([1, 2, 3]),
|
|
273
|
-
timeRange: new TimeRange(40, 50000),
|
|
274
|
-
}),
|
|
275
|
-
],
|
|
276
|
-
],
|
|
277
|
-
[
|
|
278
|
-
13,
|
|
279
|
-
[
|
|
280
|
-
new Series({
|
|
281
|
-
data: new Float32Array([1, 2, 3]),
|
|
282
|
-
timeRange: new TimeRange(500, 50001),
|
|
283
|
-
}),
|
|
284
|
-
],
|
|
285
|
-
],
|
|
286
|
-
]),
|
|
287
|
-
);
|
|
288
|
-
expect(f.filter((k) => k === 12).columns).toEqual([12]);
|
|
289
|
-
});
|
|
290
|
-
});
|
|
291
|
-
});
|
|
292
|
-
|
|
293
|
-
describe("toPayload", () => {
|
|
294
|
-
it("should return the frame as framer.FramePayload", () => {
|
|
295
|
-
const f = new framer.Frame(
|
|
296
|
-
new Map([
|
|
297
|
-
[
|
|
298
|
-
12,
|
|
299
|
-
[
|
|
300
|
-
new Series({
|
|
301
|
-
data: new Float32Array([1, 2, 3]),
|
|
302
|
-
timeRange: new TimeRange(40, 50000),
|
|
303
|
-
}),
|
|
304
|
-
],
|
|
305
|
-
],
|
|
306
|
-
[
|
|
307
|
-
13,
|
|
308
|
-
[
|
|
309
|
-
new Series({
|
|
310
|
-
data: new Float32Array([1, 2, 3]),
|
|
311
|
-
timeRange: new TimeRange(500, 50001),
|
|
312
|
-
}),
|
|
313
|
-
],
|
|
314
|
-
],
|
|
315
|
-
]),
|
|
316
|
-
);
|
|
317
|
-
const pld = f.toPayload();
|
|
318
|
-
expect(pld.keys).toEqual([12, 13]);
|
|
319
|
-
expect(pld.series?.[0].data.byteLength).toEqual(12);
|
|
320
|
-
});
|
|
321
|
-
});
|
|
322
|
-
|
|
323
|
-
describe("latest", () => {
|
|
324
|
-
it("should return the latest sample from each column in the frame", () => {
|
|
325
|
-
const f = new framer.Frame(
|
|
326
|
-
new Map([
|
|
327
|
-
[
|
|
328
|
-
12,
|
|
329
|
-
[
|
|
330
|
-
new Series({
|
|
331
|
-
data: new Float32Array([1, 2, 3]),
|
|
332
|
-
timeRange: new TimeRange(40, 50000),
|
|
333
|
-
}),
|
|
334
|
-
],
|
|
335
|
-
],
|
|
336
|
-
[
|
|
337
|
-
13,
|
|
338
|
-
[
|
|
339
|
-
new Series({
|
|
340
|
-
data: new Float32Array([1, 2, 3]),
|
|
341
|
-
timeRange: new TimeRange(500, 50001),
|
|
342
|
-
}),
|
|
343
|
-
],
|
|
344
|
-
],
|
|
345
|
-
]),
|
|
346
|
-
);
|
|
347
|
-
expect(f.latest()).toEqual({ 12: 3, 13: 3 });
|
|
348
|
-
});
|
|
349
|
-
it("should return the latest sample for each col in the frame - even with multiple series per col", () => {
|
|
350
|
-
const f = new framer.Frame(
|
|
351
|
-
new Map([
|
|
352
|
-
[
|
|
353
|
-
12,
|
|
354
|
-
[
|
|
355
|
-
new Series({
|
|
356
|
-
data: new Float32Array([1, 2, 3]),
|
|
357
|
-
timeRange: new TimeRange(40, 50000),
|
|
358
|
-
}),
|
|
359
|
-
new Series({
|
|
360
|
-
data: new Float32Array([4, 5, 6]),
|
|
361
|
-
timeRange: new TimeRange(40, 50000),
|
|
362
|
-
}),
|
|
363
|
-
],
|
|
364
|
-
],
|
|
365
|
-
[
|
|
366
|
-
13,
|
|
367
|
-
[
|
|
368
|
-
new Series({
|
|
369
|
-
data: new Float32Array([1, 2, 3]),
|
|
370
|
-
timeRange: new TimeRange(500, 50001),
|
|
371
|
-
}),
|
|
372
|
-
new Series({
|
|
373
|
-
data: new Float32Array([4, 5, 7]),
|
|
374
|
-
timeRange: new TimeRange(500, 50001),
|
|
375
|
-
}),
|
|
376
|
-
],
|
|
377
|
-
],
|
|
378
|
-
]),
|
|
379
|
-
);
|
|
380
|
-
expect(f.latest()).toEqual({ 12: 6, 13: 7 });
|
|
381
|
-
});
|
|
382
|
-
|
|
383
|
-
it("should not add a key if no samples exist for the channel", () => {
|
|
384
|
-
const f = new framer.Frame(
|
|
385
|
-
new Map([
|
|
386
|
-
[
|
|
387
|
-
12,
|
|
388
|
-
[
|
|
389
|
-
new Series({
|
|
390
|
-
data: new Float32Array([1, 2, 3]),
|
|
391
|
-
timeRange: new TimeRange(40, 50000),
|
|
392
|
-
}),
|
|
393
|
-
],
|
|
394
|
-
],
|
|
395
|
-
[
|
|
396
|
-
13,
|
|
397
|
-
[
|
|
398
|
-
new Series({
|
|
399
|
-
data: new Float32Array([1, 2, 3]),
|
|
400
|
-
timeRange: new TimeRange(500, 50001),
|
|
401
|
-
}),
|
|
402
|
-
],
|
|
403
|
-
],
|
|
404
|
-
[14, []],
|
|
405
|
-
]),
|
|
406
|
-
);
|
|
407
|
-
expect(f.latest()).toEqual({ 12: 3, 13: 3 });
|
|
408
|
-
});
|
|
409
|
-
});
|
|
410
|
-
|
|
411
|
-
describe("sample access", () => {
|
|
412
|
-
it("should return the sample at the given index", () => {
|
|
413
|
-
const f = new framer.Frame(
|
|
414
|
-
new Map([
|
|
415
|
-
[
|
|
416
|
-
12,
|
|
417
|
-
[
|
|
418
|
-
new Series({
|
|
419
|
-
data: new Float32Array([1, 2, 3]),
|
|
420
|
-
timeRange: new TimeRange(40, 50000),
|
|
421
|
-
}),
|
|
422
|
-
],
|
|
423
|
-
],
|
|
424
|
-
[
|
|
425
|
-
13,
|
|
426
|
-
[
|
|
427
|
-
new Series({
|
|
428
|
-
data: new Float32Array([1, 2, 3]),
|
|
429
|
-
timeRange: new TimeRange(500, 50001),
|
|
430
|
-
}),
|
|
431
|
-
],
|
|
432
|
-
],
|
|
433
|
-
]),
|
|
434
|
-
);
|
|
435
|
-
expect(f.get(12).at(0)).toEqual(1);
|
|
436
|
-
});
|
|
437
|
-
});
|
|
438
|
-
|
|
439
|
-
describe("at", () => {
|
|
440
|
-
it("should return the sample at the given index", () => {
|
|
441
|
-
const f = new framer.Frame(
|
|
442
|
-
new Map([
|
|
443
|
-
[
|
|
444
|
-
12,
|
|
445
|
-
[
|
|
446
|
-
new Series({
|
|
447
|
-
data: new Float32Array([1, 2, 3]),
|
|
448
|
-
timeRange: new TimeRange(40, 50000),
|
|
449
|
-
}),
|
|
450
|
-
],
|
|
451
|
-
],
|
|
452
|
-
[
|
|
453
|
-
13,
|
|
454
|
-
[
|
|
455
|
-
new Series({
|
|
456
|
-
data: new Float32Array([1, 2, 3]),
|
|
457
|
-
timeRange: new TimeRange(500, 50001),
|
|
458
|
-
}),
|
|
459
|
-
],
|
|
460
|
-
],
|
|
461
|
-
]),
|
|
462
|
-
);
|
|
463
|
-
expect(f.at(0)).toEqual({ 12: 1, 13: 1 });
|
|
464
|
-
});
|
|
465
|
-
it("should throw an error if required is true and the index is out of bounds", () => {
|
|
466
|
-
const f = new framer.Frame(
|
|
467
|
-
new Map([
|
|
468
|
-
[
|
|
469
|
-
12,
|
|
470
|
-
[
|
|
471
|
-
new Series({
|
|
472
|
-
data: new Float32Array([1, 2, 3]),
|
|
473
|
-
timeRange: new TimeRange(40, 50000),
|
|
474
|
-
}),
|
|
475
|
-
],
|
|
476
|
-
],
|
|
477
|
-
[
|
|
478
|
-
13,
|
|
479
|
-
[
|
|
480
|
-
new Series({
|
|
481
|
-
data: new Float32Array([1, 2, 3]),
|
|
482
|
-
timeRange: new TimeRange(500, 50001),
|
|
483
|
-
}),
|
|
484
|
-
],
|
|
485
|
-
],
|
|
486
|
-
]),
|
|
487
|
-
);
|
|
488
|
-
expect(() => f.at(3, true)).toThrow();
|
|
489
|
-
});
|
|
490
|
-
it("should return undefined if required is false and the index is out of bounds", () => {
|
|
491
|
-
const f = new framer.Frame(
|
|
492
|
-
new Map([
|
|
493
|
-
[
|
|
494
|
-
12,
|
|
495
|
-
[
|
|
496
|
-
new Series({
|
|
497
|
-
data: new Float32Array([1, 2, 3]),
|
|
498
|
-
timeRange: new TimeRange(40, 50000),
|
|
499
|
-
}),
|
|
500
|
-
],
|
|
501
|
-
],
|
|
502
|
-
[
|
|
503
|
-
13,
|
|
504
|
-
[
|
|
505
|
-
new Series({
|
|
506
|
-
data: new Float32Array([1, 2]),
|
|
507
|
-
timeRange: new TimeRange(500, 50001),
|
|
508
|
-
}),
|
|
509
|
-
],
|
|
510
|
-
],
|
|
511
|
-
]),
|
|
512
|
-
);
|
|
513
|
-
expect(f.at(2)).toEqual({ 12: 3, 13: undefined });
|
|
514
|
-
});
|
|
515
|
-
});
|
|
516
|
-
|
|
517
|
-
describe("digest", () => {
|
|
518
|
-
it("should return digest information about the frame", () => {
|
|
519
|
-
const s1 = new Series({
|
|
520
|
-
data: new Float32Array([1, 2, 3]),
|
|
521
|
-
timeRange: new TimeRange(40, 50000),
|
|
522
|
-
});
|
|
523
|
-
const s2 = new Series({
|
|
524
|
-
data: new Float32Array([4, 5, 6]),
|
|
525
|
-
timeRange: new TimeRange(50001, 60000),
|
|
526
|
-
});
|
|
527
|
-
const s3 = new Series({
|
|
528
|
-
data: new Float32Array([7, 8, 9]),
|
|
529
|
-
timeRange: new TimeRange(500, 50001),
|
|
530
|
-
});
|
|
531
|
-
const f = new framer.Frame(
|
|
532
|
-
new Map([
|
|
533
|
-
[12, [s1, s2]],
|
|
534
|
-
[13, [s3]],
|
|
535
|
-
]),
|
|
536
|
-
);
|
|
537
|
-
const digest = f.digest;
|
|
538
|
-
expect(Object.keys(digest)).toEqual(["12", "13"]);
|
|
539
|
-
expect(digest[12].length).toEqual(2);
|
|
540
|
-
expect(digest[13].length).toEqual(1);
|
|
541
|
-
expect(digest[12][0]).toEqual(s1.digest);
|
|
542
|
-
expect(digest[12][1]).toEqual(s2.digest);
|
|
543
|
-
expect(digest[13][0]).toEqual(s3.digest);
|
|
544
|
-
});
|
|
545
|
-
});
|
|
546
|
-
|
|
547
|
-
describe("forEachUnique", () => {
|
|
548
|
-
it("should iterate over all unique columns in the frame", () => {
|
|
549
|
-
const f = new framer.Frame(
|
|
550
|
-
new Map([
|
|
551
|
-
[
|
|
552
|
-
12,
|
|
553
|
-
[
|
|
554
|
-
new Series({
|
|
555
|
-
data: new Float32Array([1, 2, 3]),
|
|
556
|
-
timeRange: new TimeRange(1, 2),
|
|
557
|
-
}),
|
|
558
|
-
],
|
|
559
|
-
],
|
|
560
|
-
[
|
|
561
|
-
13,
|
|
562
|
-
[
|
|
563
|
-
new Series({
|
|
564
|
-
data: new Float32Array([4, 5, 6]),
|
|
565
|
-
timeRange: new TimeRange(4, 6),
|
|
566
|
-
}),
|
|
567
|
-
],
|
|
568
|
-
],
|
|
569
|
-
[
|
|
570
|
-
14,
|
|
571
|
-
[
|
|
572
|
-
new Series({
|
|
573
|
-
data: new Float32Array([7, 8, 9]),
|
|
574
|
-
timeRange: new TimeRange(7, 9),
|
|
575
|
-
}),
|
|
576
|
-
],
|
|
577
|
-
],
|
|
578
|
-
]),
|
|
579
|
-
);
|
|
580
|
-
f.push(
|
|
581
|
-
12,
|
|
582
|
-
new Series({
|
|
583
|
-
data: new Float32Array([10, 11, 12]),
|
|
584
|
-
timeRange: new TimeRange(10, 12),
|
|
585
|
-
}),
|
|
586
|
-
);
|
|
587
|
-
f.push(
|
|
588
|
-
13,
|
|
589
|
-
new Series({
|
|
590
|
-
data: new Float32Array([13, 14, 15]),
|
|
591
|
-
timeRange: new TimeRange(13, 15),
|
|
592
|
-
}),
|
|
593
|
-
);
|
|
594
|
-
f.push(
|
|
595
|
-
14,
|
|
596
|
-
new Series({
|
|
597
|
-
data: new Float32Array([7, 8, 9]),
|
|
598
|
-
timeRange: new TimeRange(7, 9),
|
|
599
|
-
}),
|
|
600
|
-
);
|
|
601
|
-
const firstValues = new Set<number>();
|
|
602
|
-
f.forEachUnique((_, ms) => {
|
|
603
|
-
firstValues.add(ms.at(0) as number);
|
|
604
|
-
});
|
|
605
|
-
expect(firstValues).toEqual(new Set([1, 4, 7]));
|
|
606
|
-
});
|
|
607
|
-
it("should get all data from the frame", () => {
|
|
608
|
-
const f = new framer.Frame(
|
|
609
|
-
new Map([
|
|
610
|
-
[
|
|
611
|
-
12,
|
|
612
|
-
[
|
|
613
|
-
new Series({
|
|
614
|
-
data: new Float32Array([1, 2, 3]),
|
|
615
|
-
timeRange: new TimeRange(1, 2),
|
|
616
|
-
}),
|
|
617
|
-
],
|
|
618
|
-
],
|
|
619
|
-
]),
|
|
620
|
-
);
|
|
621
|
-
f.push(
|
|
622
|
-
12,
|
|
623
|
-
new Series({
|
|
624
|
-
data: new Float32Array([10, 11, 12]),
|
|
625
|
-
timeRange: new TimeRange(10, 12),
|
|
626
|
-
}),
|
|
627
|
-
);
|
|
628
|
-
f.push(
|
|
629
|
-
13,
|
|
630
|
-
new Series({
|
|
631
|
-
data: new Float32Array([13, 14, 15]),
|
|
632
|
-
timeRange: new TimeRange(13, 15),
|
|
633
|
-
}),
|
|
634
|
-
);
|
|
635
|
-
const data: number[] = [];
|
|
636
|
-
f.forEachUnique((key, ms) => {
|
|
637
|
-
if (key !== 12) return;
|
|
638
|
-
for (let i = 0; i < ms.length; i++) data.push(ms.at(i, true) as number);
|
|
639
|
-
});
|
|
640
|
-
expect(data).toEqual([1, 2, 3, 10, 11, 12]);
|
|
641
|
-
});
|
|
642
|
-
it("should allow use of an index parameter", () => {
|
|
643
|
-
const f = new framer.Frame(
|
|
644
|
-
new Map([
|
|
645
|
-
[
|
|
646
|
-
12,
|
|
647
|
-
[
|
|
648
|
-
new Series({
|
|
649
|
-
data: new Float32Array([1, 2, 3]),
|
|
650
|
-
timeRange: new TimeRange(1, 2),
|
|
651
|
-
}),
|
|
652
|
-
],
|
|
653
|
-
],
|
|
654
|
-
]),
|
|
655
|
-
);
|
|
656
|
-
f.push(
|
|
657
|
-
12,
|
|
658
|
-
new Series({
|
|
659
|
-
data: new Float32Array([10, 11, 12]),
|
|
660
|
-
timeRange: new TimeRange(10, 12),
|
|
661
|
-
}),
|
|
662
|
-
);
|
|
663
|
-
f.push(
|
|
664
|
-
13,
|
|
665
|
-
new Series({
|
|
666
|
-
data: new Float32Array([13, 14, 15]),
|
|
667
|
-
timeRange: new TimeRange(13, 15),
|
|
668
|
-
}),
|
|
669
|
-
);
|
|
670
|
-
let currentIndex = 0;
|
|
671
|
-
f.forEachUnique((_, __, i) => {
|
|
672
|
-
expect(i).toEqual(currentIndex);
|
|
673
|
-
currentIndex++;
|
|
674
|
-
});
|
|
675
|
-
expect(currentIndex).toEqual(2);
|
|
676
|
-
});
|
|
677
|
-
});
|
|
678
|
-
describe("mapFilter", () => {
|
|
679
|
-
it("should filter out items based on the keep boolean", () => {
|
|
680
|
-
const f = new framer.Frame(
|
|
681
|
-
new Map([
|
|
682
|
-
[
|
|
683
|
-
12,
|
|
684
|
-
[
|
|
685
|
-
new Series({
|
|
686
|
-
data: new Float32Array([1, 2, 3]),
|
|
687
|
-
timeRange: new TimeRange(40, 50000),
|
|
688
|
-
}),
|
|
689
|
-
],
|
|
690
|
-
],
|
|
691
|
-
[
|
|
692
|
-
13,
|
|
693
|
-
[
|
|
694
|
-
new Series({
|
|
695
|
-
data: new Float32Array([4, 5, 6]),
|
|
696
|
-
timeRange: new TimeRange(500, 50001),
|
|
697
|
-
}),
|
|
698
|
-
],
|
|
699
|
-
],
|
|
700
|
-
[
|
|
701
|
-
14,
|
|
702
|
-
[
|
|
703
|
-
new Series({
|
|
704
|
-
data: new Float32Array([7, 8, 9]),
|
|
705
|
-
timeRange: new TimeRange(600, 60000),
|
|
706
|
-
}),
|
|
707
|
-
],
|
|
708
|
-
],
|
|
709
|
-
]),
|
|
710
|
-
);
|
|
711
|
-
const filtered = f.mapFilter((k, arr) => [k, arr, k !== 13]);
|
|
712
|
-
expect(filtered.columns).toEqual([12, 14]);
|
|
713
|
-
expect(filtered.series.length).toEqual(2);
|
|
714
|
-
});
|
|
715
|
-
|
|
716
|
-
it("should map keys to new values", () => {
|
|
717
|
-
const f = new framer.Frame(
|
|
718
|
-
new Map([
|
|
719
|
-
[
|
|
720
|
-
12,
|
|
721
|
-
[
|
|
722
|
-
new Series({
|
|
723
|
-
data: new Float32Array([1, 2, 3]),
|
|
724
|
-
timeRange: new TimeRange(40, 50000),
|
|
725
|
-
}),
|
|
726
|
-
],
|
|
727
|
-
],
|
|
728
|
-
[
|
|
729
|
-
13,
|
|
730
|
-
[
|
|
731
|
-
new Series({
|
|
732
|
-
data: new Float32Array([4, 5, 6]),
|
|
733
|
-
timeRange: new TimeRange(500, 50001),
|
|
734
|
-
}),
|
|
735
|
-
],
|
|
736
|
-
],
|
|
737
|
-
]),
|
|
738
|
-
);
|
|
739
|
-
const mapped = f.mapFilter((k, arr) => {
|
|
740
|
-
const newKey = typeof k === "number" ? k + 100 : k;
|
|
741
|
-
return [newKey, arr, true];
|
|
742
|
-
});
|
|
743
|
-
expect(mapped.columns).toEqual([112, 113]);
|
|
744
|
-
expect(mapped.series.length).toEqual(2);
|
|
745
|
-
});
|
|
746
|
-
|
|
747
|
-
it("should map series to new series", () => {
|
|
748
|
-
const f = new framer.Frame(
|
|
749
|
-
new Map([
|
|
750
|
-
[
|
|
751
|
-
12,
|
|
752
|
-
[
|
|
753
|
-
new Series({
|
|
754
|
-
data: new Float32Array([1, 2, 3]),
|
|
755
|
-
timeRange: new TimeRange(40, 50000),
|
|
756
|
-
}),
|
|
757
|
-
],
|
|
758
|
-
],
|
|
759
|
-
]),
|
|
760
|
-
);
|
|
761
|
-
const mapped = f.mapFilter((k, arr) => {
|
|
762
|
-
const newData = new Float32Array(arr.length);
|
|
763
|
-
for (let j = 0; j < arr.length; j++) newData[j] = (arr.at(j) as number) * 2;
|
|
764
|
-
const newArr = new Series({
|
|
765
|
-
data: newData,
|
|
766
|
-
timeRange: arr.timeRange,
|
|
767
|
-
});
|
|
768
|
-
return [k, newArr, true];
|
|
769
|
-
});
|
|
770
|
-
expect(mapped.get(12).at(0)).toEqual(2);
|
|
771
|
-
expect(mapped.get(12).at(1)).toEqual(4);
|
|
772
|
-
expect(mapped.get(12).at(2)).toEqual(6);
|
|
773
|
-
});
|
|
774
|
-
|
|
775
|
-
it("should both map and filter simultaneously", () => {
|
|
776
|
-
const f = new framer.Frame(
|
|
777
|
-
new Map([
|
|
778
|
-
[
|
|
779
|
-
12,
|
|
780
|
-
[
|
|
781
|
-
new Series({
|
|
782
|
-
data: new Float32Array([1, 2, 3]),
|
|
783
|
-
timeRange: new TimeRange(40, 50000),
|
|
784
|
-
}),
|
|
785
|
-
],
|
|
786
|
-
],
|
|
787
|
-
[
|
|
788
|
-
13,
|
|
789
|
-
[
|
|
790
|
-
new Series({
|
|
791
|
-
data: new Float32Array([4, 5, 6]),
|
|
792
|
-
timeRange: new TimeRange(500, 50001),
|
|
793
|
-
}),
|
|
794
|
-
],
|
|
795
|
-
],
|
|
796
|
-
[
|
|
797
|
-
14,
|
|
798
|
-
[
|
|
799
|
-
new Series({
|
|
800
|
-
data: new Float32Array([7, 8, 9]),
|
|
801
|
-
timeRange: new TimeRange(600, 60000),
|
|
802
|
-
}),
|
|
803
|
-
],
|
|
804
|
-
],
|
|
805
|
-
]),
|
|
806
|
-
);
|
|
807
|
-
const result = f.mapFilter((k, arr) => {
|
|
808
|
-
const keep = typeof k === "number" && k % 2 === 0;
|
|
809
|
-
const newKey = typeof k === "number" ? k + 1 : k;
|
|
810
|
-
return [newKey, arr, keep];
|
|
811
|
-
});
|
|
812
|
-
expect(result.columns).toEqual([13, 15]);
|
|
813
|
-
expect(result.series.length).toEqual(2);
|
|
814
|
-
});
|
|
815
|
-
|
|
816
|
-
it("should handle empty frames", () => {
|
|
817
|
-
const f = new framer.Frame();
|
|
818
|
-
const result = f.mapFilter((k, arr) => [k, arr, true]);
|
|
819
|
-
expect(result.columns).toEqual([]);
|
|
820
|
-
expect(result.series.length).toEqual(0);
|
|
821
|
-
});
|
|
822
|
-
|
|
823
|
-
it("should handle filtering out all items", () => {
|
|
824
|
-
const f = new framer.Frame(
|
|
825
|
-
new Map([
|
|
826
|
-
[
|
|
827
|
-
12,
|
|
828
|
-
[
|
|
829
|
-
new Series({
|
|
830
|
-
data: new Float32Array([1, 2, 3]),
|
|
831
|
-
timeRange: new TimeRange(40, 50000),
|
|
832
|
-
}),
|
|
833
|
-
],
|
|
834
|
-
],
|
|
835
|
-
[
|
|
836
|
-
13,
|
|
837
|
-
[
|
|
838
|
-
new Series({
|
|
839
|
-
data: new Float32Array([4, 5, 6]),
|
|
840
|
-
timeRange: new TimeRange(500, 50001),
|
|
841
|
-
}),
|
|
842
|
-
],
|
|
843
|
-
],
|
|
844
|
-
]),
|
|
845
|
-
);
|
|
846
|
-
const result = f.mapFilter((k, arr) => [k, arr, false]);
|
|
847
|
-
expect(result.columns).toEqual([]);
|
|
848
|
-
expect(result.series.length).toEqual(0);
|
|
849
|
-
});
|
|
850
|
-
|
|
851
|
-
it("should keep all items when keep is always true", () => {
|
|
852
|
-
const f = new framer.Frame(
|
|
853
|
-
new Map([
|
|
854
|
-
[
|
|
855
|
-
12,
|
|
856
|
-
[
|
|
857
|
-
new Series({
|
|
858
|
-
data: new Float32Array([1, 2, 3]),
|
|
859
|
-
timeRange: new TimeRange(40, 50000),
|
|
860
|
-
}),
|
|
861
|
-
],
|
|
862
|
-
],
|
|
863
|
-
[
|
|
864
|
-
13,
|
|
865
|
-
[
|
|
866
|
-
new Series({
|
|
867
|
-
data: new Float32Array([4, 5, 6]),
|
|
868
|
-
timeRange: new TimeRange(500, 50001),
|
|
869
|
-
}),
|
|
870
|
-
],
|
|
871
|
-
],
|
|
872
|
-
]),
|
|
873
|
-
);
|
|
874
|
-
const result = f.mapFilter((k, arr) => [k, arr, true]);
|
|
875
|
-
expect(result.columns).toEqual([12, 13]);
|
|
876
|
-
expect(result.series.length).toEqual(2);
|
|
877
|
-
});
|
|
878
|
-
|
|
879
|
-
it("should use the index parameter correctly", () => {
|
|
880
|
-
const f = new framer.Frame(
|
|
881
|
-
new Map([
|
|
882
|
-
[
|
|
883
|
-
12,
|
|
884
|
-
[
|
|
885
|
-
new Series({
|
|
886
|
-
data: new Float32Array([1, 2, 3]),
|
|
887
|
-
timeRange: new TimeRange(40, 50000),
|
|
888
|
-
}),
|
|
889
|
-
],
|
|
890
|
-
],
|
|
891
|
-
[
|
|
892
|
-
13,
|
|
893
|
-
[
|
|
894
|
-
new Series({
|
|
895
|
-
data: new Float32Array([4, 5, 6]),
|
|
896
|
-
timeRange: new TimeRange(500, 50001),
|
|
897
|
-
}),
|
|
898
|
-
],
|
|
899
|
-
],
|
|
900
|
-
[
|
|
901
|
-
14,
|
|
902
|
-
[
|
|
903
|
-
new Series({
|
|
904
|
-
data: new Float32Array([7, 8, 9]),
|
|
905
|
-
timeRange: new TimeRange(600, 60000),
|
|
906
|
-
}),
|
|
907
|
-
],
|
|
908
|
-
],
|
|
909
|
-
]),
|
|
910
|
-
);
|
|
911
|
-
// Keep only items at even indices
|
|
912
|
-
const result = f.mapFilter((k, arr, i) => [k, arr, i % 2 === 0]);
|
|
913
|
-
expect(result.columns).toEqual([12, 14]);
|
|
914
|
-
expect(result.series.length).toEqual(2);
|
|
915
|
-
});
|
|
916
|
-
|
|
917
|
-
it("should work with string keys", () => {
|
|
918
|
-
const f = new framer.Frame({
|
|
919
|
-
a: new Series({
|
|
920
|
-
data: new Float32Array([1, 2, 3]),
|
|
921
|
-
timeRange: new TimeRange(40, 50000),
|
|
922
|
-
}),
|
|
923
|
-
b: new Series({
|
|
924
|
-
data: new Float32Array([4, 5, 6]),
|
|
925
|
-
timeRange: new TimeRange(500, 50001),
|
|
926
|
-
}),
|
|
927
|
-
c: new Series({
|
|
928
|
-
data: new Float32Array([7, 8, 9]),
|
|
929
|
-
timeRange: new TimeRange(600, 60000),
|
|
930
|
-
}),
|
|
931
|
-
});
|
|
932
|
-
const result = f.mapFilter((k, arr) => {
|
|
933
|
-
const newKey = k === "a" ? "x" : k;
|
|
934
|
-
const keep = k === "a" || k === "c";
|
|
935
|
-
return [newKey, arr, keep];
|
|
936
|
-
});
|
|
937
|
-
expect(result.columns).toEqual(["x", "c"]);
|
|
938
|
-
expect(result.series.length).toEqual(2);
|
|
939
|
-
});
|
|
940
|
-
|
|
941
|
-
it("should handle frames with multiple series per channel", () => {
|
|
942
|
-
const f = new framer.Frame(
|
|
943
|
-
new Map([
|
|
944
|
-
[
|
|
945
|
-
12,
|
|
946
|
-
[
|
|
947
|
-
new Series({
|
|
948
|
-
data: new Float32Array([1, 2, 3]),
|
|
949
|
-
timeRange: new TimeRange(40, 50000),
|
|
950
|
-
}),
|
|
951
|
-
new Series({
|
|
952
|
-
data: new Float32Array([4, 5, 6]),
|
|
953
|
-
timeRange: new TimeRange(50001, 60000),
|
|
954
|
-
}),
|
|
955
|
-
],
|
|
956
|
-
],
|
|
957
|
-
[
|
|
958
|
-
13,
|
|
959
|
-
[
|
|
960
|
-
new Series({
|
|
961
|
-
data: new Float32Array([7, 8, 9]),
|
|
962
|
-
timeRange: new TimeRange(500, 50001),
|
|
963
|
-
}),
|
|
964
|
-
],
|
|
965
|
-
],
|
|
966
|
-
]),
|
|
967
|
-
);
|
|
968
|
-
const result = f.mapFilter((k, arr) => [k, arr, k === 12]);
|
|
969
|
-
expect(result.columns).toEqual([12, 12]);
|
|
970
|
-
expect(result.series.length).toEqual(2);
|
|
971
|
-
});
|
|
972
|
-
});
|
|
973
|
-
});
|