{"_id":"@fluid-experimental/tinylicious-client","_rev":"52-9b895ac5bbf7fb3a83adcd5ca437f263","name":"@fluid-experimental/tinylicious-client","dist-tags":{"canary":"0.39.8","next":"0.45.0-32948","latest":"0.45.4"},"versions":{"0.39.0-23254":{"name":"@fluid-experimental/tinylicious-client","version":"0.39.0-23254","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.39.0-23254","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"sambroner","email":"sam.broner@gmail.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"5ce18f42497ca172f92e2342c2203d2b904dd0e6","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.39.0-23254.tgz","fileCount":35,"integrity":"sha512-Tr+PC8YEhg/nmmF8dQYawIGobpF6GrUKeciOByy+ZZxFLu1Cm1SEDbSnZ7AiJYnrz2PfNEZgRrJwSwQXLZHbDw==","signatures":[{"sig":"MEQCIH1y9uASTLWKuQjNH4n2HBj12X2PkYV/G5AeeGILaC1OAiAwp1No+qXvTZKOmrpNL+K83c6vIdopXSCc+T1Hm9nW3A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50981,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiEYdCRA9TVsSAnZWagAAen8QAKNWukn66SY7EhTRKx3N\nmfduTiwX4mW+7oDbGQutsXRC/frsurcyvUHOJOW8thNkqd5hyP9JEvUqLfIl\nSMP1F5yWxhMwM4bPoSewEYmhtD7r6ruu0t2z4aNef8NC1XIozQvs1IMXiwAX\nXYvWm5fy2eUK8I89z5ppZ/18zuKoFbSAMZgFyErYMhn8nW/BWDTAXYnyF0vh\n6b4te/Oexws+gIqvquDmAmcJ9tT4C3Cvyd4fY9FWIDaXEQsI7DWhaqIyOreQ\nnV86A5/hScqCBV9oMrTW817f+lM8IEdDHeXy/AMJoyG+uuIx9CS00cthIAI1\nNq4T9oJbRb9079RUfVTkRnLspo58Jsavl/8LLyjeZtf1PEX0MXBkDO8lbChf\n+mrjjwp6atyX0s4gPeM0PjN8BJ3thWDQwgvVhz3RXSVITfMdPM1cir5rtW8R\nfcpUtbbPXSWHO3PXG4XVgE2isKLmAbLa1yKquB40+EEo48xMjZHdmCmtLTyo\nnoTn54a5gxtB51SNloJzHsZsyboYDiBA/iL6eY3IBn8W/PbMjtQtLmbzvqWg\nr1mkSgBHFvc/BfjT8Gc2qrzOrMs00Ha22sDv/sAdFQKY8av3fq3plCLTLa0E\nAADZXV5C3o3eibCOHIGD/k7o/sN6B12qyRpcwGg6OvyvUPxMu2t0wjCU0YTN\nXGx2\r\n=n5Nl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.39.0-23254.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc","build:full:compile":"npm run build:compile"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.12","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@fluid-experimental/fluid-static":"0.39.0-23254","@fluidframework/container-loader":"0.39.0-23254","@fluidframework/driver-definitions":"0.39.0-23254","@fluidframework/tinylicious-driver":"0.39.0-23254","@fluidframework/routerlicious-driver":"0.39.0-23254","@fluidframework/container-definitions":"0.39.0-23254"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^2.6.2","typescript":"~4.1.3","concurrently":"^5.2.0","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.39.0-23254_1619543581145_0.8460046547006779","host":"s3://npm-registry-packages"}},"0.39.0-23272":{"name":"@fluid-experimental/tinylicious-client","version":"0.39.0-23272","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.39.0-23272","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"sambroner","email":"sam.broner@gmail.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"72def9fc26127a0ac2688103a81b347657fc9447","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.39.0-23272.tgz","fileCount":35,"integrity":"sha512-PB35R7xfpCExVMz4qJWMrov+9wr0p7H5vZ0KMJMX9q+xqvLcUba45l7YFNL2Cannp4smxgYvPfdNLTQHCKbDTw==","signatures":[{"sig":"MEYCIQDeX2ZJ89JdFSBvocOKZHuHOPvvfrumrk/I0llC9t4DngIhAPbsAbfQpRXGGQhJ5mc9CZXtNu9bTG6oYx1xtKyuYazm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50981,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiFTlCRA9TVsSAnZWagAAd0QP/RaZoXzf1FRrzJ4vIfn3\nupmS/LeTgLbu7L5bFNj4UMHOKtN+rw8dPXMUhjXCU6YuNp7EFKDiShLYS7ry\nlAvWk7WvH0awDYW1R+fmlVidizmOc4BPHsIYVvoPUKiyiTvjHatDosspN2Fo\nGrQBbWhZFnoysdZazwqtrN92N6jKxS+1QEXq7l1+Ze1WA/Pe8tHj8HlQV52a\nx8dVKpqZGpwhapeltDP2I7zMEiU7m4CPPJ026zJJ3K/393aOF22ueNLxWjSP\nvVHS3DNMfkYcAZVak9WqkAwlQCNID/Bfv1QXpAU/Z0rhnCQeNOmRk6Um98ZD\n3muwaeXMoJCtzzSgjxuLRyQitN3Z4ZZEkgEznAF9cCk36GpJGWFLYj07B7Zq\nAgJn9SaF3IG/z5UUpwMdgpPMOpw2Vkemp8UC2H5GZeZHZ3wihwAtDDKmB2Ye\nHAY+jDbEaxSH6I+HtObaVX2xD4BOpRH9d9v8EChq67asMwNHA2Y0O6Tfn89t\nB8qcJ4ACfc+Lk4YKRCsoNV/N/Q+00QVxt2YLOH77R53jbErIwF60pchwn6a7\nZVsYXsHAAgwHjyGl0yOFUtxfnjHESBs1sl+etHQfDUtELrExmguZ9QrZygDH\nq1YwcbEJA9i9nY+X7Do1JnkO5pOEAXGiMvUmhgzVj9ehWWGXpswK5Kkas2he\nlfzv\r\n=Iazr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.39.0-23272.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluid-experimental/tinylicious-client\n\nThe tinylicious-client package provides a simple and powerful way to consume collaborative Fluid data with the Tinylicious service.\n\nThis package is marked as experimental and currently under development. The API surface is currently under going drastic braking changes with no guarantees on compatibility.\n\n## Using tinylicious-client\n\nThe tinylicious-client package has a default `TinyliciousClient` object that allows you to interact with Fluid.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n```\n\n## Initializing TinyliciousClient\n\nFluid requires a backing service to enable collaborative communication. The TinyliciousClient instance will be instantitated against the Tinylicious service.\n\nIn the example below we are connecting to a locally running instance of our Tinylicious service running on port 7070 by filling out the optional `port` parameter in `TinyliciousConnectionConfig`.\n\n```javascript\nimport TinyliciousClient, { TinyliciousConnectionConfig } from \"@fluid-experimental/tinylicious-client\";\n\nconst config: TinyliciousConnectionConfig = { port: 7070 };\nTinyliciousClient.init(config);\n```\n\n## Fluid Containers\n\nA Container instance is a organizational unit within Fluid. Each Container instance has a connection to the defined Fluid Service and contains an independent collection of collaborative objects.\n\nContainers are created and identified by unique ids. Management and storage of these ideas are the responsibility of the developer.\n\n## Using Fluid Containers\n\nUsing the default `TinyliciousClient` object the developer can create and get Fluid containers. Because Fluid needs to be connected to a server containers need to be created and retrieved asynchronously.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n\nawait TinyliciousClient.createContainer( { id: \"_unique-id_\" }, /* schema */);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, /* schema */);\n```\n\n## Defining Fluid Containers\n\nFluid Containers are defined by a schema. The schema includes initial properties of the Container as well as what collaborative objects can be dynamically created.\n\nSee [`ContainerSchema`](./src/types.ts) in [`./src/types/ts`](./src/types.ts) for details about the specific properties.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        /* ... */\n    },\n    dynamicObjectTypes: [ /*...*/ ],\n}\nawait TinyliciousClient.createContainer({ id: \"_unique-id_\" }, schema);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n```\n\n## Using initial objects\n\nThe most common way to use Fluid is through initial collaborative objects that are created when the Container is created.\n\n> Note: Collaborative objects are referred to as LoadableObjects within Fluid. LoadableObjects are specific to Fluid and expose a collaborative interface. DistributedDataStructures and DataObjects are types of LoadableObjects.\n\n`initialObjects` are loaded into memory when the Container is loaded and the developer can access them off the Container via the `initialObjects` property. The `initialObjects` property has the same signature as the Container schema.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n        pair1: KeyValueDataObject,\n    }\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n\nconst initialObjects = container.initialObjects;\nconst map1 = initialObjects.map1;\nconst pair1 = initialObjects[\"pair1\"];\n```\n\n## Using dynamic objects\n\nLoadableObjects can also be created dynamically during runtime. Dynamic object types need to be defined in the  `dynamicObjectTypes` property of the ContainerSchema.\n\nThe Container has a `create` method that will create a new instance of the provided type. This instance will be local to the user until attached to another LoadableObject. Dynamic objects created this way should be stored in initialObjects, which are attached when the Container is created. When storing a LoadableObject you must store a reference to the object and not the object itself. To do this use the `handle` property on the LoadableObject.\n\nDynamic objects are loaded on-demand to optimize for data virtualization. To get the LoadableObject, first get the stored handle then resolve that handle.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n    },\n    dynamicObjectTypes: [ KeyValueDataObject ],\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\nconst map1 = container.initialObjects.map1;\n\nconst newPair = await container.create(KeyValueDataObject);\nmap1.set(\"pair-unique-id\", newPair.handle);\n\n// ...\n\nconst pairHandle = map1.get(\"pair-unique-id\"); // Get the handle\nconst pair = await map1.get(); // Resolve the handle to get the object\n\n// or\n\nconst pair = await map1.get(\"pair-unique-id\").get();\n```\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc","build:full:compile":"npm run build:compile"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.12","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@fluid-experimental/fluid-static":"0.39.0-23272","@fluidframework/container-loader":"0.39.0-23272","@fluidframework/driver-definitions":"0.39.0-23272","@fluidframework/tinylicious-driver":"0.39.0-23272","@fluidframework/routerlicious-driver":"0.39.0-23272","@fluidframework/container-definitions":"0.39.0-23272"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rimraf":"^2.6.2","typescript":"~4.1.3","concurrently":"^5.2.0","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.39.0-23272_1619547365402_0.34692021549495866","host":"s3://npm-registry-packages"}},"0.39.0":{"name":"@fluid-experimental/tinylicious-client","version":"0.39.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.39.0","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"sambroner","email":"sam.broner@gmail.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"eb7cad8d629e553da916c097519cba63b2354252","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.39.0.tgz","fileCount":35,"integrity":"sha512-5ZdgWoMJPTz3dix4SZhNMwlYFzfWggu/rmdI9wsfJLk3Ys8hMnLTQkFIOTUpoGzpyIyGc91vZMXDzevRVkaE7Q==","signatures":[{"sig":"MEUCICPj1Aq0buf66H9txUtfIc3V6asNVJDNrTZKgOmgdghaAiEAnDhF1PWqi0v0FsInjm1/gD+vfdjKUtQarkKfDrG41EQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50945,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiKdhCRA9TVsSAnZWagAAGKMP/RZ0wpayCCjogFjtxrg2\ncFJfpr5mS6FKztjzgNLnP34/P/kzZ08Hu+TRGSfpU71iJvFc614Cd8biu3qH\nM8kWVUs4Reirt9t5WXlxzvAiI2f5WxEwRoZU2Z4RlbIO88blG9iFS8iLLhXe\n4NPU/uIDo7QsC4CvkBCRAhLfSGPCszLiMVRy4jOIjlekdnNcd+T+Z7kLF811\n0QUnEQvpDQsKlRuoea4SNh7Ins3wsdhm5lNUHziuCb3tDo2+1tU7mGx1v2uH\nTlLVxHPO+wD5Z9sGFNjHA8Mg6cqREmEIJ/xiOZW0G1z0RchNnwzyq201qUwp\n5igF6aznRZ2FNaU3hcbwNBzBg14LkmDicPntOtokUPuf9yXIYwK1aK2eib/S\ng1jENRh5McfodCWNEkmg12bdNG5tLszECTcrjlQDfhxUuA1hj0x2WCoZxvGN\nXL0BPNAZm18i6ovO2lNx39hcT+KJ7UMe/m4KvL+GKK8BaaiCU+D6Rlxb77HJ\nIfrTh4YMj9kGyrD86c7vVPuAby2K9Mx80Sw9DFTW6r/PdpExSr2PG7VWwTBp\nZAq5jXLVOJWrtQPWUBddxdHJ7ixdz4eI3bAHDuy+SvaoUkJ7v+lO4tQyHUdj\njevGP+BLp+8PwuG9sS9JYDRMpBnJdrRXuHHg3AY8BI8oVlyOtWnKr2qmWKfw\nXkAs\r\n=Lrlx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.39.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc","build:full:compile":"npm run build:compile"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.12","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@fluid-experimental/fluid-static":"^0.39.0","@fluidframework/container-loader":"^0.39.0","@fluidframework/driver-definitions":"^0.39.0","@fluidframework/tinylicious-driver":"^0.39.0","@fluidframework/routerlicious-driver":"^0.39.0","@fluidframework/container-definitions":"^0.39.0"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^2.6.2","typescript":"~4.1.3","concurrently":"^5.2.0","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.39.0_1619568480898_0.8854200233639433","host":"s3://npm-registry-packages"}},"0.39.1":{"name":"@fluid-experimental/tinylicious-client","version":"0.39.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.39.1","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"sambroner","email":"sam.broner@gmail.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"f491e4d0a41e0573461bd49fe53aaef4701c1708","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.39.1.tgz","fileCount":35,"integrity":"sha512-PuHQ06pmdF8phEpEgnfl5FKhkFjSS1JRpe0lvvELnQxQBIpxRk4gBpv72/GU3hc5tiMwPdZEhvInttFQ+SUFrw==","signatures":[{"sig":"MEUCIQDLE0rZ/+l0GlnwJE7ZEmSKk7h2/i3rk27GOZLXrO9mNwIgWKOafE1+bVUyIz4X58NWOvTEFjaam16enpoGuhziLSQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50945,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgk0WVCRA9TVsSAnZWagAAgjEP+QAeJykzlNSrbH+fHDne\nTc26NqSbIxi67rlOb9HS0h+T3wtKKYag+2TRXM8abIPzO+OlQU5yV42D9KEk\n5bqhd2rGA0I/OPACySmISJVKRtcYRtYH6LcTfIYfhrBLD4YrdTxY8C4RIz1v\nOZKlPo/1QDWSDQu/ZriFT/GARRr5R/TmeLYyx1v4ydUqQrHl61GV025ZL1ET\n7j+QO9E/lRt8cJolNPXn4CL98vfEWSF89OkM51jZ6pfnMDEEDcg8Du64kq80\n9D0MPMWb9Mj50uUB3gaR5VAjToFjUF42EXZ73GMt63HtDYmWgppqLex6yddI\nNK0pFwkb5pHJ+Jlguta8cK+YN8NofUDyzIilDDVqeUfY+ZTJMrhAvLI6QC0Y\n1u8Qh/vDqYy0+DfkklNZiHCETrhvEBZgQIL+jNIj3m/xLtziMsJnySi5q3/3\nJYsEJ9mWM/TOsT0fW4IIviqWc47Q7NcHKvr7HoioBytbS0cS64ocs6Lpy7TE\nWOzjG5y2U/WHVlu2x/m9IsfaAmZtGo04aG3q8cBZuStDtw04bEnLFUgtXzEF\nVkP/9EqddgLPeSsLL/I/wVCJm5KF3EMraKS2z3o3bG094XHI8Nwc1Yc8JrFM\nMEAejOFl6owlQsHazfcosy/Ob2aZMKCtKJw4WorL1B/qvYQas8TKb6lnXiZg\nPe3e\r\n=1Oqx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.39.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc","build:full:compile":"npm run build:compile"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.12","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@fluid-experimental/fluid-static":"^0.39.1","@fluidframework/container-loader":"^0.39.1","@fluidframework/driver-definitions":"^0.39.1","@fluidframework/tinylicious-driver":"^0.39.1","@fluidframework/routerlicious-driver":"^0.39.1","@fluidframework/container-definitions":"^0.39.1"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^2.6.2","typescript":"~4.1.3","concurrently":"^5.2.0","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.39.1_1620264341204_0.01981592411143751","host":"s3://npm-registry-packages"}},"0.39.2":{"name":"@fluid-experimental/tinylicious-client","version":"0.39.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.39.2","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"sambroner","email":"sam.broner@gmail.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"e4677ea1eccc4128f18ebb2bce06ef677d6b9b0d","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.39.2.tgz","fileCount":35,"integrity":"sha512-yfDvDxCNuKHB7EzUNIXVoorcOsZzEA9rikazwef4YyEEknF7uFcOrznM/8bZ6i5t6PWajFPlB75tZJ4O5NciJA==","signatures":[{"sig":"MEUCICJqAX6C5j7xvZcQ3T+I4McXUHuLmpISpXzomtmkGOMzAiEA52UsQrib+EerfnhNt8Gg+UHQ4j9ft6KL6B6fEiugGXw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50945,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmwXgCRA9TVsSAnZWagAAK04P/308TsD1l+4AIfi4PqwA\n0AJimvluYNGKkDLhyjwYomjJ6WlbM6wsuBbxOq5Wi8EwsIhMXJf4LyylNwQa\n46wfBguEiJ2/YuXhlZXs4xYcHlDppsFjFmFaipWIT2FhPHpD3iTrs2ba0yM0\nhCehm8LDPsOZ+gofHX+j0vQPK96wkf+vdShJL9zhgQLGL58FXdmFtihuCy+j\no/G7vfUHWljye7b5zL3+tO6knw0PNlqHLEtpb2dKwTr6Z/yyB50W26i7Pi/V\nTPrU7g2gRfIpT0kqAFNVAeYlC7v9N3NdpOo4M/dx2koaefhhUDUvJevBSy30\nhAFpPrhPF1UzHUA536SWprYeRwLOQXb+dkFOw4wc+SM6+LgBRtEpwGhrOUhW\nF/Nn2z/r68Pj5Phfd+NtlVodyZVqG2XWK5T9SAXzHlbSQFlS1avvQweJZ6wC\nNYeTouwVOikYl4NV1AnL5GNO5A7PJYNfsJNXHFJjYwdgAJT1yrZ5l74rpdPQ\nNtGv2KLFgGlRQk2RbxMjakpeou42z0h1V/yKXIqgIdogTy06B9ihSv1VXIHM\nz2ieU8NcYjCA2uBQARDm8nf9sdpF64RazeRRsv1Z56NbBfFXIwi5d0jYFexB\nNE1M1nBBJHRq489cPEEBBUOesvq/ECV7KLqzRcRSw2oBjYca94o8XPZ20rac\nbrav\r\n=+DYH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.39.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc","build:full:compile":"npm run build:compile"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.12","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@fluid-experimental/fluid-static":"^0.39.2","@fluidframework/container-loader":"^0.39.2","@fluidframework/driver-definitions":"^0.39.2","@fluidframework/tinylicious-driver":"^0.39.2","@fluidframework/routerlicious-driver":"^0.39.2","@fluidframework/container-definitions":"^0.39.2"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^2.6.2","typescript":"~4.1.3","concurrently":"^5.2.0","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.39.2_1620772319606_0.29330425155328466","host":"s3://npm-registry-packages"}},"0.39.3":{"name":"@fluid-experimental/tinylicious-client","version":"0.39.3","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.39.3","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"sambroner","email":"sam.broner@gmail.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"780fe9ad0cffe3f2c82dc3ee89ecc1dccdcb53ae","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.39.3.tgz","fileCount":35,"integrity":"sha512-h3Mm7R67CXQy1hZ48AUt1u/BiH/W5VuZofEpTvp/3NDqahN68G4cr8Fo8CNPIBvOKkAUuwobo9wgbXvUEXJgtQ==","signatures":[{"sig":"MEUCIQCMKywepO7ysLtJaWc2z3moEwXz1VT/xbyoejqLcSlebAIgDphJJ4W8n+0utszj8ZEnvJf1AjoMczcZiwvGL0ShFTk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50945,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnWDvCRA9TVsSAnZWagAAb6QP/jKNXY/k74V3VoxwNzI0\nemzvFUcK6g0nGS0/Hs6+c68bEHmDBs/Et3v5hMf9V77eB05rR7AAYFKxDH8i\nBQ3CmYcyChJDpNxgf9H7acrsISRgc45tTfX2jQDOxb+r3ogtltKG7ltMKVBL\nBw9LDZK9b7e8NQwhP64amdgGbce+/ht4VN4VNb9q8sNZCaj9UwXhkMTZAdTX\nl37RfOQ9uwjfb8ne8iWAl478Ua8d3migBQMRjbexqeywBqEvpYaIfdmfwUs0\nTtHWkvWDOs17Rma4Y6E8UqZJpMi/1UU6MdurnCFJEHefwEZ3lZOK7GjSWTRr\n+3BsURDeKQht+G1vJgVdXba4lCjlYsCXvj06zOQrwStDaPCwovACUyDDS+/z\nraZ2GOy8HVJfuHuel0YNI946PgxNwNJe+dPVzPbOkg+EHUBTZtrm5lhD3fiH\nrDYa2E2uvJa3yy28D9Em3VJ4j9PjJEFSCu2ew2rsCqVmgdTPS3Lcls+EL7Cq\njue7DPDya7u/vWE7LLtE2WwUmKJo43ZdqjtWszxnRj2n37YTOvvTJ0Cl1UBp\nN+k5E0P2ievykGRFAcpvUbc7hHT5vAqTZwClsnYoXoC/aqzUC++5tiFLzVBW\n6xZMT8Kk+xBZUDcOX9VfeZ/nZEEdtD/GMxcLf087LWSnCDHKo1pgT5LowA6m\nniBT\r\n=arVn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.39.3.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc","build:full:compile":"npm run build:compile"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.12","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@fluid-experimental/fluid-static":"^0.39.3","@fluidframework/container-loader":"^0.39.3","@fluidframework/driver-definitions":"^0.39.3","@fluidframework/tinylicious-driver":"^0.39.3","@fluidframework/routerlicious-driver":"^0.39.3","@fluidframework/container-definitions":"^0.39.3"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^2.6.2","typescript":"~4.1.3","concurrently":"^5.2.0","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.39.3_1620926702786_0.7267681370264201","host":"s3://npm-registry-packages"}},"0.40.0-25719":{"name":"@fluid-experimental/tinylicious-client","version":"0.40.0-25719","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.40.0-25719","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"sambroner","email":"sam.broner@gmail.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"5d3ec5764f1d37617f7c6cfaa270013eeae3a031","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.40.0-25719.tgz","fileCount":44,"integrity":"sha512-HEjFOluEgkxqahA0hpKYDtp1fb3Z+6LWRt8+Q0DkbF69s/nnxI9I3vSva0/GwaGJKKKVwYD32D9w7hXrYXNKZA==","signatures":[{"sig":"MEQCIFGGwAJHNbGn6YkHyn2Gnpa7xNd2jsfaFp00hsFvqMd+AiAkokOJpWm2Ht070ffhZsFMVH0itP+hS9kcZy+PG0fZSg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":79627,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgq/dNCRA9TVsSAnZWagAAmG0P/2M1z52oeX8KyG6yUCwz\n3uCyi0936pBraJV9lhNCpmBavTjTRzo39ZlypR6QXl5CWQ9nuIGXw9WhtUAm\nEgnceHBF5kY4vzGdjE0cMFIJoKJAlacLt+Qt0K9vNuSrmAFKsqGCxILSNfq0\nrryIzPitXCYxT1Q0fIBYAAO/xfPxZLPf1NqWGw2DFoUqSByD25LgJWTFzGDp\nZzulOaK4A5pTeow4mr/6zAb1g8HOsig1hdhEf0hRjHK3rAC07nCz5PROcMqa\njQ0/6TIyPiagn0YZ0RegG3NB5Dqx4HGDxiJVv1K57yl+k9wFN9rCepXYsr/G\nOPCq6frSbm57H2ux/L8gUfRbZBq2mJnYPNAeW/bKKnHSodTAgIYlapLyxR2D\nWUfHMV+bXCdkGa7Gwj8RtjwwbY/EHzWKwBKvebCCMTeK1qmqJWdre7HGv1mk\nMtSRS+wVdM+LSgSZxXLU5u05EQjARNa3KB6MWwU9rjevGF9DXMd4cLZVeSX9\nEikdPkhnbFOp+qesGG59TMh5aQsO9esD6ZZY5i2aJIIODtnbG6rFQhYH1z0V\nbBpmBfmWYihIaofAaznDj8KjV+Kw43TWmOAETPi1ECtclV+FZ5gi2d91uaDn\nA8oVJdO+H8g4eiUwxuFA8iXVPvTT4ru7baRbVdhEOsYdqFHJstDktLhpMxZv\niOQH\r\n=7Nyz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.40.0-25719.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluid-experimental/tinylicious-client\n\nThe tinylicious-client package provides a simple and powerful way to consume collaborative Fluid data with the Tinylicious service.\n\nThis package is marked as experimental and currently under development. The API surface is currently under going drastic braking changes with no guarantees on compatibility.\n\n## Using tinylicious-client\n\nThe tinylicious-client package has a default `TinyliciousClient` static class that allows you to interact with Fluid.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n```\n\n## Initializing TinyliciousClient\n\nFluid requires a backing service to enable collaborative communication. The TinyliciousClient instance will be instantitated against the Tinylicious service.\n\nIn the example below we are connecting to a locally running instance of our Tinylicious service running on port 7070 by filling out the optional `port` parameter in `TinyliciousConnectionConfig`.\n\n```javascript\nimport TinyliciousClient, { TinyliciousConnectionConfig } from \"@fluid-experimental/tinylicious-client\";\n\nconst config: TinyliciousConnectionConfig = { port: 7070 };\nTinyliciousClient.init(config);\n```\n\n## Fluid Containers\n\nA Container instance is a organizational unit within Fluid. Each Container instance has a connection to the defined Fluid Service and contains an independent collection of collaborative objects.\n\nContainers are created and identified by unique ids. Management and storage of these ideas are the responsibility of the developer.\n\n## Using Fluid Containers\n\nUsing the default `TinyliciousClient` object the developer can create and get Fluid containers. Because Fluid needs to be connected to a server containers need to be created and retrieved asynchronously.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n\nawait TinyliciousClient.createContainer( { id: \"_unique-id_\" }, /* schema */);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, /* schema */);\n```\n\n## Defining Fluid Containers\n\nFluid Containers are defined by a schema. The schema includes initial properties of the Container as well as what collaborative objects can be dynamically created.\n\nSee [`ContainerSchema`](./src/types.ts) in [`./src/types/ts`](./src/types.ts) for details about the specific properties.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        /* ... */\n    },\n    dynamicObjectTypes: [ /*...*/ ],\n}\nawait TinyliciousClient.createContainer({ id: \"_unique-id_\" }, schema);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n```\n\n## Using initial objects\n\nThe most common way to use Fluid is through initial collaborative objects that are created when the Container is created.\n\n> Note: Collaborative objects are referred to as LoadableObjects within Fluid. LoadableObjects are specific to Fluid and expose a collaborative interface. DistributedDataStructures and DataObjects are types of LoadableObjects.\n\n`initialObjects` are loaded into memory when the Container is loaded and the developer can access them off the Container via the `initialObjects` property. The `initialObjects` property has the same signature as the Container schema.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n        pair1: KeyValueDataObject,\n    }\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n\nconst initialObjects = container.initialObjects;\nconst map1 = initialObjects.map1;\nconst pair1 = initialObjects[\"pair1\"];\n```\n\n## Using dynamic objects\n\nLoadableObjects can also be created dynamically during runtime. Dynamic object types need to be defined in the  `dynamicObjectTypes` property of the ContainerSchema.\n\nThe Container has a `create` method that will create a new instance of the provided type. This instance will be local to the user until attached to another LoadableObject. Dynamic objects created this way should be stored in initialObjects, which are attached when the Container is created. When storing a LoadableObject you must store a reference to the object and not the object itself. To do this use the `handle` property on the LoadableObject.\n\nDynamic objects are loaded on-demand to optimize for data virtualization. To get the LoadableObject, first get the stored handle then resolve that handle.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n    },\n    dynamicObjectTypes: [ KeyValueDataObject ],\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\nconst map1 = container.initialObjects.map1;\n\nconst newPair = await container.create(KeyValueDataObject);\nmap1.set(\"pair-unique-id\", newPair.handle);\n\n// ...\n\nconst pairHandle = map1.get(\"pair-unique-id\"); // Get the handle\nconst pair = await map1.get(); // Resolve the handle to get the object\n\n// or\n\nconst pair = await map1.get(\"pair-unique-id\").get();\n```\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.12","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@fluid-experimental/fluid-static":"0.40.0-25719","@fluidframework/container-loader":"0.40.0-25719","@fluidframework/common-definitions":"^0.20.0-0","@fluidframework/driver-definitions":"^0.39.0","@fluidframework/tinylicious-driver":"0.40.0-25719","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"0.40.0-25719","@fluidframework/container-definitions":"^0.39.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","assert":"^2.0.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","@types/assert":"^1.5.2","start-server-and-test":"^1.11.7","@fluid-experimental/fluid-framework":"0.40.0-25719","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.40.0-25719_1621882701415_0.7069437149244209","host":"s3://npm-registry-packages"}},"0.40.0-25851":{"name":"@fluid-experimental/tinylicious-client","version":"0.40.0-25851","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.40.0-25851","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"sambroner","email":"sam.broner@gmail.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"d869c996710069d9779be63cbccbc86570762ed8","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.40.0-25851.tgz","fileCount":44,"integrity":"sha512-7Zvzag+1pHX45lDGqoAe1u/jgh+QqWH0U/H95n7ogugJr2nN88Pxa8g4OgQ/reg0OnJMoNO2cDAGJmO/Yso5TQ==","signatures":[{"sig":"MEYCIQDcVNbzm+c3aWMNcnelu+nLiuvzmYpxZj1/QVZlWznNmgIhANCQBiOsJYHtBiLPsEW2XQoUHEaEz4BdmK1rgEeWDlUc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":79627,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrXu6CRA9TVsSAnZWagAAZDgP/RoN4rB63lwen/1hDI1d\nVGCHvVNB2VGPRyfQlQFV8R7RVsJPqHj3emwnbcn1CzdVBY8yvUHUe5LjtjuL\nK0tsE5NOMA2L+j4N2wTOWvKCFY4ywhbSlY+Cw8NFu5A//BFmm0eEiLSGbrWr\n7K7+ZPkbY07OIlHwZD3RC5NK/C6txRiQZnNiGoQiBwW1i1h06SbcgPVAkJl5\no8EagcfDZClwviZZSdLzt5thtoafY3fYKS/rUFL6//M9z30q6AeUqfp7PbIU\n9pJRdc/iLNPcsNtZN+pSvDDtpdOa9TtzmuYLs9Z2B3wssEBuycRZTGmbB06N\nhgPk06ChrHJLIVch0N6sLCzMQQ8q4uzV8gR1RH8zOjF0l/w7Neqwxp60hvWt\nbsEOuWNiJ14a7O8A97A5NT5wTth7Fer64uuuZweZgynFkjdt4I9IpeZ1hcHi\nbgcQkUAkAxfuVVBMhM4l4Nt8vUgweRdeENl5GN8t64uvqIjxB0iM+BHbzPPu\n1yy9GY82M5QsMUvUxMAWegdqu9D7jNkZUsi3rZQXvQDzwL6o1MIdvcu8uXXq\ng8Kwfb3YfndEcrPF0alRo3HNozfcymAsziLKVG0w5K1wZdptXgY6QM1R1ljJ\nm7TBV3fAycbQks1Zeu/1UZ3rR6UbyUNKUoZ7S7PuHXlXEzs5D3GQAeklNjUw\necQB\r\n=zHw1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.40.0-25851.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluid-experimental/tinylicious-client\n\nThe tinylicious-client package provides a simple and powerful way to consume collaborative Fluid data with the Tinylicious service.\n\nThis package is marked as experimental and currently under development. The API surface is currently under going drastic braking changes with no guarantees on compatibility.\n\n## Using tinylicious-client\n\nThe tinylicious-client package has a default `TinyliciousClient` static class that allows you to interact with Fluid.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n```\n\n## Initializing TinyliciousClient\n\nFluid requires a backing service to enable collaborative communication. The TinyliciousClient instance will be instantitated against the Tinylicious service.\n\nIn the example below we are connecting to a locally running instance of our Tinylicious service running on port 7070 by filling out the optional `port` parameter in `TinyliciousConnectionConfig`.\n\n```javascript\nimport TinyliciousClient, { TinyliciousConnectionConfig } from \"@fluid-experimental/tinylicious-client\";\n\nconst config: TinyliciousConnectionConfig = { port: 7070 };\nTinyliciousClient.init(config);\n```\n\n## Fluid Containers\n\nA Container instance is a organizational unit within Fluid. Each Container instance has a connection to the defined Fluid Service and contains an independent collection of collaborative objects.\n\nContainers are created and identified by unique ids. Management and storage of these ideas are the responsibility of the developer.\n\n## Using Fluid Containers\n\nUsing the default `TinyliciousClient` object the developer can create and get Fluid containers. Because Fluid needs to be connected to a server containers need to be created and retrieved asynchronously.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n\nawait TinyliciousClient.createContainer( { id: \"_unique-id_\" }, /* schema */);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, /* schema */);\n```\n\n## Defining Fluid Containers\n\nFluid Containers are defined by a schema. The schema includes initial properties of the Container as well as what collaborative objects can be dynamically created.\n\nSee [`ContainerSchema`](./src/types.ts) in [`./src/types/ts`](./src/types.ts) for details about the specific properties.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        /* ... */\n    },\n    dynamicObjectTypes: [ /*...*/ ],\n}\nawait TinyliciousClient.createContainer({ id: \"_unique-id_\" }, schema);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n```\n\n## Using initial objects\n\nThe most common way to use Fluid is through initial collaborative objects that are created when the Container is created.\n\n> Note: Collaborative objects are referred to as LoadableObjects within Fluid. LoadableObjects are specific to Fluid and expose a collaborative interface. DistributedDataStructures and DataObjects are types of LoadableObjects.\n\n`initialObjects` are loaded into memory when the Container is loaded and the developer can access them off the Container via the `initialObjects` property. The `initialObjects` property has the same signature as the Container schema.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n        pair1: KeyValueDataObject,\n    }\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n\nconst initialObjects = container.initialObjects;\nconst map1 = initialObjects.map1;\nconst pair1 = initialObjects[\"pair1\"];\n```\n\n## Using dynamic objects\n\nLoadableObjects can also be created dynamically during runtime. Dynamic object types need to be defined in the  `dynamicObjectTypes` property of the ContainerSchema.\n\nThe Container has a `create` method that will create a new instance of the provided type. This instance will be local to the user until attached to another LoadableObject. Dynamic objects created this way should be stored in initialObjects, which are attached when the Container is created. When storing a LoadableObject you must store a reference to the object and not the object itself. To do this use the `handle` property on the LoadableObject.\n\nDynamic objects are loaded on-demand to optimize for data virtualization. To get the LoadableObject, first get the stored handle then resolve that handle.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n    },\n    dynamicObjectTypes: [ KeyValueDataObject ],\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\nconst map1 = container.initialObjects.map1;\n\nconst newPair = await container.create(KeyValueDataObject);\nmap1.set(\"pair-unique-id\", newPair.handle);\n\n// ...\n\nconst pairHandle = map1.get(\"pair-unique-id\"); // Get the handle\nconst pair = await map1.get(); // Resolve the handle to get the object\n\n// or\n\nconst pair = await map1.get(\"pair-unique-id\").get();\n```\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.12","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@fluid-experimental/fluid-static":"0.40.0-25851","@fluidframework/container-loader":"0.40.0-25851","@fluidframework/common-definitions":"^0.20.0-0","@fluidframework/driver-definitions":"^0.39.0","@fluidframework/tinylicious-driver":"0.40.0-25851","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"0.40.0-25851","@fluidframework/container-definitions":"^0.39.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","assert":"^2.0.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","@types/assert":"^1.5.2","start-server-and-test":"^1.11.7","@fluid-experimental/fluid-framework":"0.40.0-25851","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.40.0-25851_1621982138308_0.6186376560706557","host":"s3://npm-registry-packages"}},"0.41.0-25957":{"name":"@fluid-experimental/tinylicious-client","version":"0.41.0-25957","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.41.0-25957","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"sambroner","email":"sam.broner@gmail.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"28ae3378eb4a9deab01fbe873de12dc455058c69","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.41.0-25957.tgz","fileCount":44,"integrity":"sha512-aRQVjp2MMr7OdcbHwsjzDtRfRbiTEzxKWwXm26ZihDtLj9sxuDGwiOZyTInVxCzNYGrPd7j/XlIicZX8BKXIZw==","signatures":[{"sig":"MEQCIGhDuz1JL/VriZAoreLljq6oHcrMqC9Vu0ZrmruvKc18AiB+FMED2UfveNF2MacHultgTW3ehNzvBNdRgdmbqzS6Wg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":79625,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrrHWCRA9TVsSAnZWagAAoiYP/3QIeKd2v4xa7h14iCty\nc4TcQ93fPUSxLrysH8PqmpgURSrMcX0pMeP9b74g7UqRkxP8fgK/8a3Xl2N3\nz5XCAVaSyuZPwEGZNtqrcOLttQDkv93un8ssobTjAIF29UPm0uhqArn5w6Ak\n7thdUrSaEoxr8nY9/Xb3srvA4FO0rimy1+tn3CYWk8BdANqVp7LjObFy/3Yh\nWTu2QDDrmGQQzE18w2xcAQXxpKaIgbyGOXHegDcoc0fyoLQEv2s4WcPp01EU\nMK+V2xshajFbHnkV9Qj3YiZEttsMGHoN8LkPc0OVU5kyQ40NK7JRqOhuKHEb\n9K3DY3bIX+Sf4bghSMmbilN+fC8WR4LjR8oQD+alF45SZ4ito/vmbN0Q+eHR\nnSm1uiFL4D8WiSRl2kfgbhW4Epok4NDhwnFqc2HCHd1fgtVhhUdw8RikQTqU\nBffK9KTY4WUIhPouTqjQzaRYuohtCJ604O0qgg2/34iEv4RTE35vTvKeJwGI\nJ2rKaSqdRwaH3GsjxpCybYx8e1OaJy826Tz8/QkYStizV68iOiWfRYij3oRr\nHyx6HpynfNiR00guXt2PL7b2S61f1Ia6qJ4qGPbQ+rMG7C95a5KnNQej6TbD\nVWpvnsCNHgJtLHsZ5lrjRYqZerl2mNemjSw99I5f+2UolkKW8kQkS25TLCwh\n2Tby\r\n=Xu4g\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.41.0-25957.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluid-experimental/tinylicious-client\n\nThe tinylicious-client package provides a simple and powerful way to consume collaborative Fluid data with the Tinylicious service.\n\nThis package is marked as experimental and currently under development. The API surface is currently under going drastic braking changes with no guarantees on compatibility.\n\n## Using tinylicious-client\n\nThe tinylicious-client package has a default `TinyliciousClient` static class that allows you to interact with Fluid.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n```\n\n## Initializing TinyliciousClient\n\nFluid requires a backing service to enable collaborative communication. The TinyliciousClient instance will be instantitated against the Tinylicious service.\n\nIn the example below we are connecting to a locally running instance of our Tinylicious service running on port 7070 by filling out the optional `port` parameter in `TinyliciousConnectionConfig`.\n\n```javascript\nimport TinyliciousClient, { TinyliciousConnectionConfig } from \"@fluid-experimental/tinylicious-client\";\n\nconst config: TinyliciousConnectionConfig = { port: 7070 };\nTinyliciousClient.init(config);\n```\n\n## Fluid Containers\n\nA Container instance is a organizational unit within Fluid. Each Container instance has a connection to the defined Fluid Service and contains an independent collection of collaborative objects.\n\nContainers are created and identified by unique ids. Management and storage of these ideas are the responsibility of the developer.\n\n## Using Fluid Containers\n\nUsing the default `TinyliciousClient` object the developer can create and get Fluid containers. Because Fluid needs to be connected to a server containers need to be created and retrieved asynchronously.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n\nawait TinyliciousClient.createContainer( { id: \"_unique-id_\" }, /* schema */);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, /* schema */);\n```\n\n## Defining Fluid Containers\n\nFluid Containers are defined by a schema. The schema includes initial properties of the Container as well as what collaborative objects can be dynamically created.\n\nSee [`ContainerSchema`](./src/types.ts) in [`./src/types/ts`](./src/types.ts) for details about the specific properties.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        /* ... */\n    },\n    dynamicObjectTypes: [ /*...*/ ],\n}\nawait TinyliciousClient.createContainer({ id: \"_unique-id_\" }, schema);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n```\n\n## Using initial objects\n\nThe most common way to use Fluid is through initial collaborative objects that are created when the Container is created.\n\n> Note: Collaborative objects are referred to as LoadableObjects within Fluid. LoadableObjects are specific to Fluid and expose a collaborative interface. DistributedDataStructures and DataObjects are types of LoadableObjects.\n\n`initialObjects` are loaded into memory when the Container is loaded and the developer can access them off the Container via the `initialObjects` property. The `initialObjects` property has the same signature as the Container schema.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n        pair1: KeyValueDataObject,\n    }\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n\nconst initialObjects = container.initialObjects;\nconst map1 = initialObjects.map1;\nconst pair1 = initialObjects[\"pair1\"];\n```\n\n## Using dynamic objects\n\nLoadableObjects can also be created dynamically during runtime. Dynamic object types need to be defined in the  `dynamicObjectTypes` property of the ContainerSchema.\n\nThe Container has a `create` method that will create a new instance of the provided type. This instance will be local to the user until attached to another LoadableObject. Dynamic objects created this way should be stored in initialObjects, which are attached when the Container is created. When storing a LoadableObject you must store a reference to the object and not the object itself. To do this use the `handle` property on the LoadableObject.\n\nDynamic objects are loaded on-demand to optimize for data virtualization. To get the LoadableObject, first get the stored handle then resolve that handle.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n    },\n    dynamicObjectTypes: [ KeyValueDataObject ],\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\nconst map1 = container.initialObjects.map1;\n\nconst newPair = await container.create(KeyValueDataObject);\nmap1.set(\"pair-unique-id\", newPair.handle);\n\n// ...\n\nconst pairHandle = map1.get(\"pair-unique-id\"); // Get the handle\nconst pair = await map1.get(); // Resolve the handle to get the object\n\n// or\n\nconst pair = await map1.get(\"pair-unique-id\").get();\n```\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.12","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@fluid-experimental/fluid-static":"0.41.0-25957","@fluidframework/container-loader":"0.41.0-25957","@fluidframework/common-definitions":"^0.20.0","@fluidframework/driver-definitions":"^0.39.0","@fluidframework/tinylicious-driver":"0.41.0-25957","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"0.41.0-25957","@fluidframework/container-definitions":"^0.39.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","assert":"^2.0.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","@types/assert":"^1.5.2","start-server-and-test":"^1.11.7","@fluid-experimental/fluid-framework":"0.41.0-25957","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.41.0-25957_1622061525814_0.8766328422268208","host":"s3://npm-registry-packages"}},"0.39.4":{"name":"@fluid-experimental/tinylicious-client","version":"0.39.4","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.39.4","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"sambroner","email":"sam.broner@gmail.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"ffa397f5a3e24fc8e447f90a01b5f02e2cf0661e","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.39.4.tgz","fileCount":35,"integrity":"sha512-cZ1baTxQzxy81oU/4YyXNkF6LobZrPUrp/BSpyiy8uIW8QyQTNpguFnktnB2p8+bdLa+3Bv96jK4TlmpgN3khQ==","signatures":[{"sig":"MEQCIAdRuSQswVKN6BMrsQAnVkQIkPA84BSS3n9lIkx1C6uYAiBgM7rGJ++OqrQzcthHKmYsNbB8TadCIh9DwckRa/rCng==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50945,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgr8vLCRA9TVsSAnZWagAACG8P/jDTvwZUoWwIm4DF3vu6\nXPV1uKTF16Ch2TXeSBmcA/QiiyJK02Gs1ctlKosqa3Yg9apwHRwIgOIj35SO\nmCJ0CTigZF6ubqt2SYKb3hhRgVBCYVAjW+XrxjyR483x6AxhGGcyBvlbKKqN\nauYE4KNLpWwW7eFArtmJgAVIcedOdJmFq+ltvZaWksOOpCSUT1Y0unOFDGO4\nWDdXedFwZiTxNqgRFrICH1MuMEOI7X9QnpjPkjkt8oMiyafqY2DXhgfGnRh5\nCXo34uGZ8AMwp/47QtxurD/spinIXgVdky64ZP3CrcULo+Ezo8wcpH6C4tCD\nmmfgzFP2aYSo5Oyz53MMZjq0moVjxWfq2oKflKl6ErS/7BETwxUO6mjhgjaO\n0WvaPwe0P6NYexZZGoYvQvNopkNO0fsv607R691Bj5b37PRLMubJ47iKaG+v\nQYsyYIWaI1Zd6hANtPEPlfD5y7jjsKM+LqHsZNiuF6gGNidjGqR8aSZM04tj\nekEUet5SQogSAanJSsobPpOSIVunFaeE+dQH3WXw2y4pWnf5NqbxrrMuCo/Y\nUhFmR89RTivMD5HHoGW9E2DULcVB+cgqu0hni2jVnEfng7Ro03XI3EiQZu5L\nmtSUR1oMt3vmVfsrsXoOYbLetD3XJMFVPDCIoOUuuwY9x25Kzj+dzJacNWmj\nnFjv\r\n=tepv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.39.4.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc","build:full:compile":"npm run build:compile"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.12","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@fluid-experimental/fluid-static":"^0.39.4","@fluidframework/container-loader":"^0.39.4","@fluidframework/driver-definitions":"^0.39.4","@fluidframework/tinylicious-driver":"^0.39.4","@fluidframework/routerlicious-driver":"^0.39.4","@fluidframework/container-definitions":"^0.39.4"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^2.6.2","typescript":"~4.1.3","concurrently":"^5.2.0","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.39.4_1622133706491_0.3873970009180523","host":"s3://npm-registry-packages"}},"0.40.0":{"name":"@fluid-experimental/tinylicious-client","version":"0.40.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.40.0","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"sambroner","email":"sam.broner@gmail.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"30d98aade6ad87db3db431dc6301bf7cfc3592b9","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.40.0.tgz","fileCount":44,"integrity":"sha512-Br0VDRUa1HDH8HZ/c3Rlt/u7lt8KkeWs58fP7VqD92Ntd0qvuTuefznAz0NUHbeF5FQMr1Oh0b80ZZA6dqacyw==","signatures":[{"sig":"MEYCIQDW//SSdnX++jHLorW1Zp1eYLhJ/QRsmk+l+t1cXduGXQIhANX8Ze3abOgMIoLW2INObHha+B2hLCl3CNv94KWmOY9x","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":79594,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgr974CRA9TVsSAnZWagAA7OoQAI236XIodlTz8L4EPQaN\nny+f6O/nax96RYX5ob73NsKMXavkhz/Htbmfc87WT6PPls3OBuwbLzYfeKK/\nXE20yfCxcu/YKiRXz1OWXH42Bpxhb/hP43xvHAtBc5saW/5fWy2ZwOj6IBKj\nryZPTFFygkT0npgbkcKnzoz0InklLZi1ydqSo4JbiqdwuN9sxaMAxshcJUBR\nqGNW3qgGhUn38rbM3Pg3LhY86SkycEKmS0wsv7x4BhDAtnEs63UnPFNjBruG\nfw6N62+xjm2BnCL/62jkNQTBByG6Gr1H5R3K13RFFXHT8+lvJCgEWdyx9Xrj\nvbqYD5czkScJuh1WBVFGgMiBPwJ7VW8CNrSPd5Wyd9NMddolumkabCXV9KYL\nBnMt9UbFjxK0BDmPLFlJuZMJ2smGt58Jq1QIWTI1i+bKtICOP9mnw2MfL7fU\nZveBaub8f3jqTqvZpRZR27uYxjZHV3QV5DGv66zQ4ooauKEyZIHMeDtGYstr\nNT4B61n8Z/xKxupYVTnc3ljgI3692ycxwq4+JFMybCMr76GuUPV+B2DOKLjF\nggqLWsaP9ewbdrnFjsyb322i0UCl7rvrsUdZhr5DLMfZf5L7cFTKOduAtlhg\n4o4uF7LFvceSRV5v1KoYdsbTgUMYZnNPcyVgaCS0yRX7faJ99acPjiYUvcZq\nyWsp\r\n=YbJr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.40.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.12","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@fluid-experimental/fluid-static":"^0.40.0","@fluidframework/container-loader":"^0.40.0","@fluidframework/common-definitions":"^0.20.0","@fluidframework/driver-definitions":"^0.39.0","@fluidframework/tinylicious-driver":"^0.40.0","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"^0.40.0","@fluidframework/container-definitions":"^0.39.0"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","assert":"^2.0.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","@types/assert":"^1.5.2","start-server-and-test":"^1.11.7","@fluid-experimental/fluid-framework":"^0.40.0","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.40.0_1622138615871_0.05307043914469922","host":"s3://npm-registry-packages"}},"0.40.1":{"name":"@fluid-experimental/tinylicious-client","version":"0.40.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.40.1","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"sambroner","email":"sam.broner@gmail.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"d0e8bce3f243f0e98a9b65a5a822666c6475cc7c","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.40.1.tgz","fileCount":44,"integrity":"sha512-oKjoctLc2xjMdmQ7/DgWKgwDIs6i7MTc7PzZ+XtcvgR9yGGomx4h5LgfiWFHK5tLKYWn74n8HvqLCoNL1/Go4A==","signatures":[{"sig":"MEYCIQDUSp0iMYwsKi0s69AhxvPelrOw//o8dfUlH5yRXhjA3AIhAPazHBR5UjI3fYlMnxfu0fts2a0r0QzhXzYzdcJfrO0B","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":79594,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJguXR0CRA9TVsSAnZWagAArWoP/0u3NqQCvm4yewVGtKc8\nnIlSnKIcBbRcz1Yoe9mAMeB7U5sRCZaihslmv/5mSH1xUBmp3EMEFgrStgo6\ndNCrKGfdMQo9YZCSs8c94A262iGdKiMf8aP0BRpaW5hHrt5aCh2KVgV3/x9x\nnlhmW5+NWXP/I/7qxO8wkOFjWwgHoT9hEgCyd3SiKptIIiRRWs8imf+KDlmL\njtRGxTimNx2aWV2+8ioW1XJdg2G0p+dKZYJTFKF/Hx5HiH12lQCrmLDGMTjA\nPA1sOaJeIJmwWgjgf58U04mNmcxVNRw7bXweZ25hVuJ1wOUogKiI7lk1aH7f\np/iB2/o4+K9hAU/ahU3xMa1OJUpkYXm8I32GBMSb7PnkOceadIfRbGFXEXQy\nrzTgnAAXMSCSGZQ+ioUGhvkmRTNio1qRmjgs0opcIrKVM6bC1Y3m5Mzb1Psg\nZsALtqDLh8n24REEVchv8YRwEFuNsC1wQE1Mlk6xSRT89MJ503GD9H8KjAQZ\nJBk846EZeqOS10QjDCLjGRrADDc0ZoaHHXTfQRlZ5SlbK4FpLeok++9UJLOG\nljnCJJXWW4+HSewbU2X58tOYd3eTDddXRSNJCHRY91xd+sigZKOtqb3ge3Gu\nHsb4IqqTiL6oxIlPMvReOwLUdNoW4ttHy253Rm4NW9Zwp0H93XZg/r5eecig\noHaB\r\n=iDf2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.40.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.12","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@fluid-experimental/fluid-static":"^0.40.1","@fluidframework/container-loader":"^0.40.1","@fluidframework/common-definitions":"^0.20.0","@fluidframework/driver-definitions":"^0.39.0","@fluidframework/tinylicious-driver":"^0.40.1","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"^0.40.1","@fluidframework/container-definitions":"^0.39.0"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","assert":"^2.0.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","@types/assert":"^1.5.2","start-server-and-test":"^1.11.7","@fluid-experimental/fluid-framework":"^0.40.1","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.40.1_1622766708657_0.22441238948324083","host":"s3://npm-registry-packages"}},"0.40.2":{"name":"@fluid-experimental/tinylicious-client","version":"0.40.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.40.2","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"sambroner","email":"sam.broner@gmail.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"d33c89b96227b1d101c3e98c25998bbe538a4c27","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.40.2.tgz","fileCount":44,"integrity":"sha512-xYN6X/iZQXbzBgBaGIDZK5BclgphBCRXyL3/nHJb+7SMqO3sxcXPbHCJEDtaavj68lWuh7BgW6RBXrVJviiizQ==","signatures":[{"sig":"MEQCIHn4WeuRvorUiiV8+j9nFdyjOOUcnXAaO1NUTObpyFFPAiARthE1fPqJYF8OuoI2zEnIj890QfwpkxhAGeLGVgbw+A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":79594,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgvndACRA9TVsSAnZWagAAU/QQAJ7JVUMldl+J9DpmJckm\n5XnE3LSwdlyjI41fow6ViN2893r2W29kWsoUEVkX+x0j8PZRUVO9ONKOlzrW\nVr7kmAnLYQcoasLynumB+KdI7Ielo9NRW1/+LIpL4PgV+i7E8Baeb0gXDjoj\nOYlLQOhHBbo2gxoVyyro1+lyX3AmlICgGf21qDA/pjojEnVVn9UdToYffD1m\nVIJkMhpztV2v1N7rAdgIbGH1YPLBBISsxZdBQZiNCvhfMepyCgDNITRHtBG0\neKNSOWDq4Wa0TU7adapl55FRraJItf+Aw5gg6//eA9AqErUfBxjV4Ilbp2Dy\nhqhpI5ETa6pYceCLuL3W4uTWhi+m+so2cTrhVxGNeNalvQaSX91xEITr0537\nmmDBMYki2R7fnU9gbbw4rtNe8fopp9MDuZB/icutAr7+Nas1HRBwl9melJYE\nYezYswRTQ+kybSscd04zF76KDg3bpFsL54tkudhHD85p+7GpZRjnR4zSjQyE\nb32Qlz+LxYn/s/44lhKkLrY+gmWi4RhFgcEGiFDXRf6gH1XsL+EIpdxQ78+S\n+VQvq5SgIavpNPtE1vxXNt8RJSAD4UYg3ZJv+WlmR7dPERxpm5CDj+TOF8V4\nouBTpBvXrffL1lKglTxLbk47Cmc/yPOC1ZqZkgEUgiBTM1hZxkFgnIHLvyzX\nYZMH\r\n=5xxc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.40.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.12","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@fluid-experimental/fluid-static":"^0.40.2","@fluidframework/container-loader":"^0.40.2","@fluidframework/common-definitions":"^0.20.0","@fluidframework/driver-definitions":"^0.39.0","@fluidframework/tinylicious-driver":"^0.40.2","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"^0.40.2","@fluidframework/container-definitions":"^0.39.0"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","assert":"^2.0.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","@types/assert":"^1.5.2","start-server-and-test":"^1.11.7","@fluid-experimental/fluid-framework":"^0.40.2","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.40.2_1623095104540_0.21920040291083942","host":"s3://npm-registry-packages"}},"0.41.0-27154":{"name":"@fluid-experimental/tinylicious-client","version":"0.41.0-27154","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.41.0-27154","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"sambroner","email":"sam.broner@gmail.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"131c745125013260652cd438bb494261feaaf4f4","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.41.0-27154.tgz","fileCount":44,"integrity":"sha512-V6a/P8MkjjfLf5RXYbDRoK5riwFY0StUKlrcRYVhel64m2+SLbB4jpFldgnnyhuKVb6y+tjt4HgSsCZlv3zamw==","signatures":[{"sig":"MEUCIQCMXpdwJxXA2AcW8wR2PhlmoQNYdsm3L+MA5RxR3MSoIQIgDOhTbACrfxJBY3QDPch4Ns193c3Oka6eJOy2LdJ7RbM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":80254,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgw7H/CRA9TVsSAnZWagAAUF8P/3jvVfgtgCS4rKxDrHKE\nogJvk8IVCNxl2unsp8u5vNoocMd5UW1eqj5og3Dd+RvVx8OM+DDyssE19HiQ\nuQLovs8jvYcTKwqaM1vG4cklhtG7QrO3CYaNC430jB+nVZ69TIyQ9tg72VbV\nFDtcHI0LmlXs2hh4wb40WhWiiGqruRK0/GKeNNqIE5I7rjahRyZxz1kcY+gW\nOi9F9HCi/fGmX+LujJWWhFiq3m+ojLOe/HnCutKtFHMbzdOinLVqAYSxnQ0q\nLLC6w94lFWYGK0inwBN0PALZa66Y2AwjxoG8Wk1icsBOcq1DTow/V0UNY13o\nxmkmHWFpvMu8C+79zWABoeclij6TX/42PzHk4VMXVMhUTIh6I/0i3xgL2Liw\n0UZ0J2DMMECFZhwRzDTqpXPKSdiO8QOvpBcnEdrJeMBARxLYkYGQAJMmnPwm\n8pA59L8i7ArGnADudW1nrKEKYdvGA/3VWY22nYlIfmXeEdNUc5QPHs9Fggh3\nJmPVBAxrKGXRlVPX/Q/YNqSkpTVt1vPo04KtA+igQ39BdTfUcCH+MRCuLgHP\n8H2OBIUEVbZSLPDuU1cXDKMNRyDxyny0x32/HsqYJMbLf+pHXjLHGvJn7M1H\na6PRUjvwvdEECcqe6WOfAI5z/dUccc4Xt0nU79SiFg+GZogFxpyt0bAbdObQ\n2UYe\r\n=geIO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.41.0-27154.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluid-experimental/tinylicious-client\n\nThe tinylicious-client package provides a simple and powerful way to consume collaborative Fluid data with the Tinylicious service.\n\nThis package is marked as experimental and currently under development. The API surface is currently under going drastic braking changes with no guarantees on compatibility.\n\n## Using tinylicious-client\n\nThe tinylicious-client package has a default `TinyliciousClient` static class that allows you to interact with Fluid.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n```\n\n## Initializing TinyliciousClient\n\nFluid requires a backing service to enable collaborative communication. The TinyliciousClient instance will be instantitated against the Tinylicious service.\n\nIn the example below we are connecting to a locally running instance of our Tinylicious service running on port 7070 by filling out the optional `port` parameter in `TinyliciousConnectionConfig`.\n\n```javascript\nimport TinyliciousClient, { TinyliciousConnectionConfig } from \"@fluid-experimental/tinylicious-client\";\n\nconst config: TinyliciousConnectionConfig = { port: 7070 };\nTinyliciousClient.init(config);\n```\n\n## Fluid Containers\n\nA Container instance is a organizational unit within Fluid. Each Container instance has a connection to the defined Fluid Service and contains an independent collection of collaborative objects.\n\nContainers are created and identified by unique ids. Management and storage of these ideas are the responsibility of the developer.\n\n## Using Fluid Containers\n\nUsing the default `TinyliciousClient` object the developer can create and get Fluid containers. Because Fluid needs to be connected to a server containers need to be created and retrieved asynchronously.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n\nawait TinyliciousClient.createContainer( { id: \"_unique-id_\" }, /* schema */);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, /* schema */);\n```\n\n## Defining Fluid Containers\n\nFluid Containers are defined by a schema. The schema includes initial properties of the Container as well as what collaborative objects can be dynamically created.\n\nSee [`ContainerSchema`](./src/types.ts) in [`./src/types/ts`](./src/types.ts) for details about the specific properties.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        /* ... */\n    },\n    dynamicObjectTypes: [ /*...*/ ],\n}\nawait TinyliciousClient.createContainer({ id: \"_unique-id_\" }, schema);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n```\n\n## Using initial objects\n\nThe most common way to use Fluid is through initial collaborative objects that are created when the Container is created.\n\n> Note: Collaborative objects are referred to as LoadableObjects within Fluid. LoadableObjects are specific to Fluid and expose a collaborative interface. DistributedDataStructures and DataObjects are types of LoadableObjects.\n\n`initialObjects` are loaded into memory when the Container is loaded and the developer can access them off the Container via the `initialObjects` property. The `initialObjects` property has the same signature as the Container schema.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n        pair1: KeyValueDataObject,\n    }\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n\nconst initialObjects = container.initialObjects;\nconst map1 = initialObjects.map1;\nconst pair1 = initialObjects[\"pair1\"];\n```\n\n## Using dynamic objects\n\nLoadableObjects can also be created dynamically during runtime. Dynamic object types need to be defined in the  `dynamicObjectTypes` property of the ContainerSchema.\n\nThe Container has a `create` method that will create a new instance of the provided type. This instance will be local to the user until attached to another LoadableObject. Dynamic objects created this way should be stored in initialObjects, which are attached when the Container is created. When storing a LoadableObject you must store a reference to the object and not the object itself. To do this use the `handle` property on the LoadableObject.\n\nDynamic objects are loaded on-demand to optimize for data virtualization. To get the LoadableObject, first get the stored handle then resolve that handle.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n    },\n    dynamicObjectTypes: [ KeyValueDataObject ],\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\nconst map1 = container.initialObjects.map1;\n\nconst newPair = await container.create(KeyValueDataObject);\nmap1.set(\"pair-unique-id\", newPair.handle);\n\n// ...\n\nconst pairHandle = map1.get(\"pair-unique-id\"); // Get the handle\nconst pair = await map1.get(); // Resolve the handle to get the object\n\n// or\n\nconst pair = await map1.get(\"pair-unique-id\").get();\n```\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.12","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@fluid-experimental/fluid-static":"0.41.0-27154","@fluidframework/container-loader":"0.41.0-27154","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.0","@fluidframework/tinylicious-driver":"0.41.0-27154","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"0.41.0-27154","@fluidframework/container-definitions":"^0.39.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","assert":"^2.0.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","@types/assert":"^1.5.2","start-server-and-test":"^1.11.7","@fluid-experimental/fluid-framework":"0.41.0-27154","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.41.0-27154_1623437823206_0.8613517462692373","host":"s3://npm-registry-packages"}},"0.41.0":{"name":"@fluid-experimental/tinylicious-client","version":"0.41.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.41.0","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"sambroner","email":"sam.broner@gmail.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"f771c77cd87d773b810d621056dc52785cead431","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.41.0.tgz","fileCount":44,"integrity":"sha512-SsUmG360LS8qm69dSnoW1qPd4iyKNQJN1JYic2PZuonnwvM6ayBYjnoD7DozcJn3nb2cnCojkWLvtwM60jLleA==","signatures":[{"sig":"MEUCICafCHHVoksRhlsUe/jf+qSy4IayxEhiP3hW0jqVJbUVAiEA1mG5fd9+F496p7kSHEMZzNaGYyjmC8Ft5z3j4qXOelc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":80223,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgw/GjCRA9TVsSAnZWagAAPvIQAKGbA8hAwMf/MbzHgaAG\nAulb9k4YKQT41ITC5MICSIDUap7jJ6ae3fpXtNYYy9CczYrKokz8Uq4Ddm5z\nW8RIcbThPnMwjESYw7+68cjYduS2esWA1dKu3Pqv7LAzyuMP2bYWv9gz4f4R\n47Wtrjw7lJzuaUPU7R7GPt3obH32r2BAgb0WdpRxl0ZBqE/K9XXVqBD5LuK3\npKPgrw/D86ogufwZPbV4BY1qn748AramoN+iKSfSCFwYLFKGznDALFR3JMS5\noKKepzASZb6kieZuv6KVLhNCmNh8DcPAmWbQ9rOfxwlfOTyKBOmJ9avqGjpA\nEBtA6tVrCB8YC59pnHSHKDgnBI3Ldhahpyj6gRyulyiSJ8zmT2JQnPHGGdKM\nubvyFBdnjumg2/YIHVPsj6U/hB7y+TEgD5fzD6a1Z2KTWO5JfDzft0MwUnJC\n5Xs5tgYXeu2eBIwgzdB+jwR3Yrfv2cyktAc1tZ477jzR5+/wNBX3alXvnOmD\n5muM2xGwHiJwv22jnkP8yNlJV1tZuVExe4YBgJMLl2pz2t3Ft+eEFNoSiwqK\nfOufWRP9VcicvFIr6UdCJh/e+KzdfKAWv0neFXZRLjZfkiYGBtk2IHS/1u7Q\nnC0L0+iH5kUcpb9qWkhHj/DGI6dKgTQd+MeAxsDp92E5eAVq+WLRFXTSFc3p\nIgP2\r\n=3reo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.41.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.12","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@fluid-experimental/fluid-static":"^0.41.0","@fluidframework/container-loader":"^0.41.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.0","@fluidframework/tinylicious-driver":"^0.41.0","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"^0.41.0","@fluidframework/container-definitions":"^0.39.0"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","assert":"^2.0.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","@types/assert":"^1.5.2","start-server-and-test":"^1.11.7","@fluid-experimental/fluid-framework":"^0.41.0","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.41.0_1623454115128_0.5386932832907549","host":"s3://npm-registry-packages"}},"0.40.3":{"name":"@fluid-experimental/tinylicious-client","version":"0.40.3","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.40.3","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"sambroner","email":"sam.broner@gmail.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"6795cd736482869ac40e39c8c3e081f7acfe2d9d","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.40.3.tgz","fileCount":44,"integrity":"sha512-TPB9lDIp7iWWL1sav1bHAjme7FPldTj95ie/ef5ArfD5Pk/fKuZ3BPfPmstHnly04RdxwSjKKwOk2YflkQfSCg==","signatures":[{"sig":"MEUCIGwMib/S2vvoGEhZiCsfF0chPjZmyUI3Gt5CGThuzDIQAiEAtT+0BasqtkZUG+rnDJyiX4ouGUNxFBntXgmv++4/KJ4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":79594,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyP71CRA9TVsSAnZWagAAz84QAKK1wnoF19Y0RFWBBA5J\n9yEwo/QhRdU1IYzUh/YxRXam6NydLW8pcsg7fALsyCoQjGsEy8gXFYqxoiaY\n4bhH39ZuB/Of1LYvBzP6r404DdxsiaRmlbCfpeq/z7uh/eR4O18e3mGvnBBW\n65TBzPTmVmWUS9TqG0RNQ4gkOmFy+caiNd89LjZVkRs+dqrtDqg25sro9CLr\nQTIa8Aqha11cFQ3Aocb9m2RQzxe39hO9uZSj9aAEK2o0ebUOJIU9PsNo7S6o\nkq3Jra5JkKEy1FCDxIvfbjteHDn6Pcp5Tw1rW4prj33iQh92XEh2zynNmgk+\n87MGts1i9XxBn76yCxms8tdN6wWCvm8YNCft9GDWKXyt7Hz/MR+B5T31U706\n87hxv5u8Lltp/QLrNcFqW4rNy6ThE23MaPu7qkTDfjvBw9sUMdbAcXuvXWfK\nRdZyLke8ngzAu6mKCLoAr2Z3BjMrzY5uNVkTK7Qc6VIehoBWzebXZzI0Ajvk\nuMyJ95HDw/71UCr1sYqydMFKHW7GrSyQIK0VyX8HW36YWI9eo1B76Cf5skA5\nEJfNKszpoa/H+Y8pp8UGXzqpw8S5iWJhyOWMDGe/Go2Vm2aSwHlJwiBcQ+ce\nlQ5AWRmJn2eL+UPHajSMbKJKoI57EACMrbf+uymyU1qSSrJcmddKT0ozJS8E\nPRBY\r\n=//fn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.40.3.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluid-experimental/tinylicious-client\n\nThe tinylicious-client package provides a simple and powerful way to consume collaborative Fluid data with the Tinylicious service.\n\nThis package is marked as experimental and currently under development. The API surface is currently under going drastic braking changes with no guarantees on compatibility.\n\n## Using tinylicious-client\n\nThe tinylicious-client package has a default `TinyliciousClient` static class that allows you to interact with Fluid.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n```\n\n## Initializing TinyliciousClient\n\nFluid requires a backing service to enable collaborative communication. The TinyliciousClient instance will be instantitated against the Tinylicious service.\n\nIn the example below we are connecting to a locally running instance of our Tinylicious service running on port 7070 by filling out the optional `port` parameter in `TinyliciousConnectionConfig`.\n\n```javascript\nimport TinyliciousClient, { TinyliciousConnectionConfig } from \"@fluid-experimental/tinylicious-client\";\n\nconst config: TinyliciousConnectionConfig = { port: 7070 };\nTinyliciousClient.init(config);\n```\n\n## Fluid Containers\n\nA Container instance is a organizational unit within Fluid. Each Container instance has a connection to the defined Fluid Service and contains an independent collection of collaborative objects.\n\nContainers are created and identified by unique ids. Management and storage of these ideas are the responsibility of the developer.\n\n## Using Fluid Containers\n\nUsing the default `TinyliciousClient` object the developer can create and get Fluid containers. Because Fluid needs to be connected to a server containers need to be created and retrieved asynchronously.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n\nawait TinyliciousClient.createContainer( { id: \"_unique-id_\" }, /* schema */);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, /* schema */);\n```\n\n## Defining Fluid Containers\n\nFluid Containers are defined by a schema. The schema includes initial properties of the Container as well as what collaborative objects can be dynamically created.\n\nSee [`ContainerSchema`](./src/types.ts) in [`./src/types/ts`](./src/types.ts) for details about the specific properties.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        /* ... */\n    },\n    dynamicObjectTypes: [ /*...*/ ],\n}\nawait TinyliciousClient.createContainer({ id: \"_unique-id_\" }, schema);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n```\n\n## Using initial objects\n\nThe most common way to use Fluid is through initial collaborative objects that are created when the Container is created.\n\n> Note: Collaborative objects are referred to as LoadableObjects within Fluid. LoadableObjects are specific to Fluid and expose a collaborative interface. DistributedDataStructures and DataObjects are types of LoadableObjects.\n\n`initialObjects` are loaded into memory when the Container is loaded and the developer can access them off the Container via the `initialObjects` property. The `initialObjects` property has the same signature as the Container schema.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n        pair1: KeyValueDataObject,\n    }\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n\nconst initialObjects = container.initialObjects;\nconst map1 = initialObjects.map1;\nconst pair1 = initialObjects[\"pair1\"];\n```\n\n## Using dynamic objects\n\nLoadableObjects can also be created dynamically during runtime. Dynamic object types need to be defined in the  `dynamicObjectTypes` property of the ContainerSchema.\n\nThe Container has a `create` method that will create a new instance of the provided type. This instance will be local to the user until attached to another LoadableObject. Dynamic objects created this way should be stored in initialObjects, which are attached when the Container is created. When storing a LoadableObject you must store a reference to the object and not the object itself. To do this use the `handle` property on the LoadableObject.\n\nDynamic objects are loaded on-demand to optimize for data virtualization. To get the LoadableObject, first get the stored handle then resolve that handle.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n    },\n    dynamicObjectTypes: [ KeyValueDataObject ],\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\nconst map1 = container.initialObjects.map1;\n\nconst newPair = await container.create(KeyValueDataObject);\nmap1.set(\"pair-unique-id\", newPair.handle);\n\n// ...\n\nconst pairHandle = map1.get(\"pair-unique-id\"); // Get the handle\nconst pair = await map1.get(); // Resolve the handle to get the object\n\n// or\n\nconst pair = await map1.get(\"pair-unique-id\").get();\n```\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.12","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@fluid-experimental/fluid-static":"^0.40.3","@fluidframework/container-loader":"^0.40.3","@fluidframework/common-definitions":"^0.20.0","@fluidframework/driver-definitions":"^0.39.0","@fluidframework/tinylicious-driver":"^0.40.3","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"^0.40.3","@fluidframework/container-definitions":"^0.39.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","assert":"^2.0.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","@types/assert":"^1.5.2","start-server-and-test":"^1.11.7","@fluid-experimental/fluid-framework":"^0.40.3","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.40.3_1623785205778_0.2539154377168571","host":"s3://npm-registry-packages"}},"0.41.1":{"name":"@fluid-experimental/tinylicious-client","version":"0.41.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.41.1","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"sambroner","email":"sam.broner@gmail.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"6e2f68cfe59e46f8752d92330b834df050078bff","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.41.1.tgz","fileCount":44,"integrity":"sha512-8ZXwxaXGfJFsetQnUGVsQTtX874mg6sYRP5HY/EtOPE06NpT54b7641JL/Pl3JPUHVEP/6zyTqZNNvDeIKOMBQ==","signatures":[{"sig":"MEYCIQCsAc2ioZlpJ4eiByzZhpVWf7cp+As5SiePzAJY70sIJgIhALAw60ixxD6AW68R/jr47M5lzc0ZsOEzdiwIwifssXsY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":80223,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyVhpCRA9TVsSAnZWagAA3K4P/0vvHFNomdwxKQEpOZ6M\nucd+xUfC8Kox/opc0cCbz4q7HxKlhRO5e23SEpfwhOQDo0I7k3dXMxAhGpJS\naOmlUU1hv43Bbgc87uUhx4ZckBaxcpzTdO7J1XRkQ1DORL4UBbK1m+etKmTn\nUh2JwuipUdSh7XQX4Seia63eV0/rI0nnE166uNTkUiX6XbhjmFEO0YZxAlNp\nIJOaucHe99RN2h7Kqf5ifC+iDDp4Wpy6iGF4se5hGtwgp4anx8tG2Mpb0REJ\npcj218C8ZIUu0CSvagYxz2XLNFNsc6FPU3NYyU1PlzqyLdHWlMn51dcGV4hL\n9wf1o/JAVJoWq002gp1nhZEjDHIEeR7Z9uerTtwxSBSgutGzRTvOoAuNh2Mn\nQc5TOzXEDQcdzL6ucsMp/n/0b6qxV8CNUUTZHr8t5cCuqKoHCs/1vHqqWUiz\nzlYWSMyrkaOS8cXa8L3/dSaQsu55Tvx/elI14V1nSWSMzfRMhhaaP2uyYNZL\nWYSMd/8E1+1DFlASCzVAKb1TkXj5Yjvlyr5Ovj32G10jG5R7fg4tU15CNxMm\n/veL6PCAudpmgaRID0JZwQCgkLudqnXBqRMhkzv4CrX9nBMQ3eRpzrUavdti\nQYMYDNfy839g1Z4CYJ0ezB2YTbX/aX/yRv/qzuKX48fgvBY6DErfHVddqnV9\nteGk\r\n=j9MC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.41.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.12","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@fluid-experimental/fluid-static":"^0.41.1","@fluidframework/container-loader":"^0.41.1","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.0","@fluidframework/tinylicious-driver":"^0.41.1","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"^0.41.1","@fluidframework/container-definitions":"^0.39.0"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","assert":"^2.0.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","@types/assert":"^1.5.2","start-server-and-test":"^1.11.7","@fluid-experimental/fluid-framework":"^0.41.1","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.41.1_1623808105507_0.36310357397375803","host":"s3://npm-registry-packages"}},"0.42.0-27549":{"name":"@fluid-experimental/tinylicious-client","version":"0.42.0-27549","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.42.0-27549","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"sambroner","email":"sam.broner@gmail.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"526442960595dbda72da87eb54718a7fd6e24762","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.42.0-27549.tgz","fileCount":44,"integrity":"sha512-JIsqW6eglEb1dn3U2DXDJdjVSVdti1DV9G9Tf9QhTQF0aKfj6uOj8/stvnjLClgmwqxz01sJtXPEx5z0KyfVuA==","signatures":[{"sig":"MEYCIQCSru2t7EvjLToT/U8/LgtNof1RrbaN5RUMQdF1hJSYHQIhAJKtjHxiTciViJdAsZC11AqGVwseGaM5vPPaYpuTzZZw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":80254,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyhjkCRA9TVsSAnZWagAAluoP/RajlxTlIV+leC95xWIH\nbhyjCczAF4EpnVe9u3+VK9NUkou1otgWvogFkupm7qVL0qorMN00+gHhpfBC\nN9Sc+BEZfxSjmjJyqFNS3QDGhKcJs9/JzktePTdHDbteiQx8lLSFvbhifS59\nDfhOiZ/kcAEF9TFxwHZ/0Ve16yJMwe/hlrpaUNbQEqMwPXC9H/EWxXbVzBbK\nehBbjZ3KsDa5BcpYvp3RZhXBRMbDGm1Izuy0cLwKrDk0i7xPxyzvaJ0g+jYh\nMfU/Zj0NTRZYHSlrFYi2SAmpLkr9S/HR62Z0O7Jfa79vIoNa3PYFfVxjFxuV\n10kuL33QEK1ZEwhEsPTuH1bOQq0cftke01kL5Wcl4MUZTRdSWU9VeOZKHP4B\ncB2krX1oFaUW7TPingpM7B9GJQl8ftu0Ozv7ag7fWDMxOQUZ8bskdm4qZQu2\n1RyR5E0A9JPy0j6yB1T8O/z9PuBAjRV2LjODLH13x8RUQvXvWNC4NG/F65HT\nkFRmqiWTfo7TWByyrLfdF/FBxNyISI9+e7HlqnoaL8j0q7WdHE8ygcxMZ9++\np/L2FE9W5X97r/9LS1xmXpBJkw3mUNDsHKT/UHfGLe5kgUTs1Ahl16Dy9Sh/\n9Sznb81wehb8qlK7tI0WU1VFEA7SulHSeTggKSMejm1feWtNAqRRcykWA6NK\ndjxj\r\n=K6qB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.42.0-27549.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluid-experimental/tinylicious-client\n\nThe tinylicious-client package provides a simple and powerful way to consume collaborative Fluid data with the Tinylicious service.\n\nThis package is marked as experimental and currently under development. The API surface is currently under going drastic braking changes with no guarantees on compatibility.\n\n## Using tinylicious-client\n\nThe tinylicious-client package has a default `TinyliciousClient` static class that allows you to interact with Fluid.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n```\n\n## Initializing TinyliciousClient\n\nFluid requires a backing service to enable collaborative communication. The TinyliciousClient instance will be instantitated against the Tinylicious service.\n\nIn the example below we are connecting to a locally running instance of our Tinylicious service running on port 7070 by filling out the optional `port` parameter in `TinyliciousConnectionConfig`.\n\n```javascript\nimport TinyliciousClient, { TinyliciousConnectionConfig } from \"@fluid-experimental/tinylicious-client\";\n\nconst config: TinyliciousConnectionConfig = { port: 7070 };\nTinyliciousClient.init(config);\n```\n\n## Fluid Containers\n\nA Container instance is a organizational unit within Fluid. Each Container instance has a connection to the defined Fluid Service and contains an independent collection of collaborative objects.\n\nContainers are created and identified by unique ids. Management and storage of these ideas are the responsibility of the developer.\n\n## Using Fluid Containers\n\nUsing the default `TinyliciousClient` object the developer can create and get Fluid containers. Because Fluid needs to be connected to a server containers need to be created and retrieved asynchronously.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n\nawait TinyliciousClient.createContainer( { id: \"_unique-id_\" }, /* schema */);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, /* schema */);\n```\n\n## Defining Fluid Containers\n\nFluid Containers are defined by a schema. The schema includes initial properties of the Container as well as what collaborative objects can be dynamically created.\n\nSee [`ContainerSchema`](./src/types.ts) in [`./src/types/ts`](./src/types.ts) for details about the specific properties.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        /* ... */\n    },\n    dynamicObjectTypes: [ /*...*/ ],\n}\nawait TinyliciousClient.createContainer({ id: \"_unique-id_\" }, schema);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n```\n\n## Using initial objects\n\nThe most common way to use Fluid is through initial collaborative objects that are created when the Container is created.\n\n> Note: Collaborative objects are referred to as LoadableObjects within Fluid. LoadableObjects are specific to Fluid and expose a collaborative interface. DistributedDataStructures and DataObjects are types of LoadableObjects.\n\n`initialObjects` are loaded into memory when the Container is loaded and the developer can access them off the Container via the `initialObjects` property. The `initialObjects` property has the same signature as the Container schema.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n        pair1: KeyValueDataObject,\n    }\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n\nconst initialObjects = container.initialObjects;\nconst map1 = initialObjects.map1;\nconst pair1 = initialObjects[\"pair1\"];\n```\n\n## Using dynamic objects\n\nLoadableObjects can also be created dynamically during runtime. Dynamic object types need to be defined in the  `dynamicObjectTypes` property of the ContainerSchema.\n\nThe Container has a `create` method that will create a new instance of the provided type. This instance will be local to the user until attached to another LoadableObject. Dynamic objects created this way should be stored in initialObjects, which are attached when the Container is created. When storing a LoadableObject you must store a reference to the object and not the object itself. To do this use the `handle` property on the LoadableObject.\n\nDynamic objects are loaded on-demand to optimize for data virtualization. To get the LoadableObject, first get the stored handle then resolve that handle.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n    },\n    dynamicObjectTypes: [ KeyValueDataObject ],\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\nconst map1 = container.initialObjects.map1;\n\nconst newPair = await container.create(KeyValueDataObject);\nmap1.set(\"pair-unique-id\", newPair.handle);\n\n// ...\n\nconst pairHandle = map1.get(\"pair-unique-id\"); // Get the handle\nconst pair = await map1.get(); // Resolve the handle to get the object\n\n// or\n\nconst pair = await map1.get(\"pair-unique-id\").get();\n```\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.12","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@fluid-experimental/fluid-static":"0.42.0-27549","@fluidframework/container-loader":"0.42.0-27549","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.0","@fluidframework/tinylicious-driver":"0.42.0-27549","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"0.42.0-27549","@fluidframework/container-definitions":"^0.39.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","assert":"^2.0.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","@types/assert":"^1.5.2","start-server-and-test":"^1.11.7","@fluid-experimental/fluid-framework":"0.42.0-27549","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.42.0-27549_1623857379616_0.0403997518601118","host":"s3://npm-registry-packages"}},"0.42.0-27644":{"name":"@fluid-experimental/tinylicious-client","version":"0.42.0-27644","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.42.0-27644","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"95a800d9f56cfe06535aaf00955f18d37dfc5326","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.42.0-27644.tgz","fileCount":44,"integrity":"sha512-RqRSANHwbJatEyAiBfamK0kF6u6TWG9au8fXHgRz2trqChMVUsUDNfBQzpMpzpMrkqePqB3nmWkphQGWKlvm8w==","signatures":[{"sig":"MEQCIAzadSTdgGuLsn9Cje2hOkAKjbZTzIQs08lB9lsqrh9NAiAt8XLUJSVS3Ws2GRpNaA8YQ1+3TuDO5yJlGJZqcdiz+A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":80254,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgynJpCRA9TVsSAnZWagAAIokP/jTRmxGMl9ElovTsEwZx\n44TRP33IZczV/px6/tjyU1gtXeCK5nFBKK02Dpe+8lV6iJx5F/0lZQbxIIWT\nnG/+v4LrLffYEWyEeUAYvKfcYU5cpOTrq9WC5RCoePkbjkeDOOwTtl0rmHTQ\n+TSlRa+s9uVXfuB5yg1Da1nn4xnzs8+vbu5/f4zoMEKvlaBw99m7kXncCr93\nbW6mO/mCZ2w0qCJ+yFjmrUrG1EAI0MqhAnwq7yL+T910F9DtDVQaogAHR2kH\nqGTdlU7R44qzCSSo2gW70FNCJ1kOLId4rAFNFWFQk7eRUZgIS/VTTqf8R9/5\niC94PrW9QlBooFM1FnQZ8XpNhbKndlZbkG0WWMJ49k/LFpLBtOONCdY6f3Jb\nJMMzqmJmxRpbaSa6tI/I2/nFqdRr8Bm+Iatin1x8co89c2ww1erGK6D8BizY\n3KHLC/bbd0e1ZFDFNMZAmKeAq58XV7bkt4D1wRuNGHGGh1oQw8Q5wRMq8Bam\nFSvYKxgHxY4UBS6gHS6WTGFPqUoOLkwFzddEe/ThOTA0xPOoEJvbwthQVsPJ\nfW416SjGvwGSbqM+ggbpRX4aMScJooXExIn+qVcc1Ue25rmWAV4mFNzbk6SO\nPJ1qHUBKa3gZo9w1qS5z72upU5EB/XNZzXrYpSY6cl8g+QFlqt1Kuyk2GLle\n0Q1+\r\n=7+aU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.42.0-27644.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluid-experimental/tinylicious-client\n\nThe tinylicious-client package provides a simple and powerful way to consume collaborative Fluid data with the Tinylicious service.\n\nThis package is marked as experimental and currently under development. The API surface is currently under going drastic braking changes with no guarantees on compatibility.\n\n## Using tinylicious-client\n\nThe tinylicious-client package has a default `TinyliciousClient` static class that allows you to interact with Fluid.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n```\n\n## Initializing TinyliciousClient\n\nFluid requires a backing service to enable collaborative communication. The TinyliciousClient instance will be instantitated against the Tinylicious service.\n\nIn the example below we are connecting to a locally running instance of our Tinylicious service running on port 7070 by filling out the optional `port` parameter in `TinyliciousConnectionConfig`.\n\n```javascript\nimport TinyliciousClient, { TinyliciousConnectionConfig } from \"@fluid-experimental/tinylicious-client\";\n\nconst config: TinyliciousConnectionConfig = { port: 7070 };\nTinyliciousClient.init(config);\n```\n\n## Fluid Containers\n\nA Container instance is a organizational unit within Fluid. Each Container instance has a connection to the defined Fluid Service and contains an independent collection of collaborative objects.\n\nContainers are created and identified by unique ids. Management and storage of these ideas are the responsibility of the developer.\n\n## Using Fluid Containers\n\nUsing the default `TinyliciousClient` object the developer can create and get Fluid containers. Because Fluid needs to be connected to a server containers need to be created and retrieved asynchronously.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n\nawait TinyliciousClient.createContainer( { id: \"_unique-id_\" }, /* schema */);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, /* schema */);\n```\n\n## Defining Fluid Containers\n\nFluid Containers are defined by a schema. The schema includes initial properties of the Container as well as what collaborative objects can be dynamically created.\n\nSee [`ContainerSchema`](./src/types.ts) in [`./src/types/ts`](./src/types.ts) for details about the specific properties.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        /* ... */\n    },\n    dynamicObjectTypes: [ /*...*/ ],\n}\nawait TinyliciousClient.createContainer({ id: \"_unique-id_\" }, schema);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n```\n\n## Using initial objects\n\nThe most common way to use Fluid is through initial collaborative objects that are created when the Container is created.\n\n> Note: Collaborative objects are referred to as LoadableObjects within Fluid. LoadableObjects are specific to Fluid and expose a collaborative interface. DistributedDataStructures and DataObjects are types of LoadableObjects.\n\n`initialObjects` are loaded into memory when the Container is loaded and the developer can access them off the Container via the `initialObjects` property. The `initialObjects` property has the same signature as the Container schema.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n        pair1: KeyValueDataObject,\n    }\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n\nconst initialObjects = container.initialObjects;\nconst map1 = initialObjects.map1;\nconst pair1 = initialObjects[\"pair1\"];\n```\n\n## Using dynamic objects\n\nLoadableObjects can also be created dynamically during runtime. Dynamic object types need to be defined in the  `dynamicObjectTypes` property of the ContainerSchema.\n\nThe Container has a `create` method that will create a new instance of the provided type. This instance will be local to the user until attached to another LoadableObject. Dynamic objects created this way should be stored in initialObjects, which are attached when the Container is created. When storing a LoadableObject you must store a reference to the object and not the object itself. To do this use the `handle` property on the LoadableObject.\n\nDynamic objects are loaded on-demand to optimize for data virtualization. To get the LoadableObject, first get the stored handle then resolve that handle.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n    },\n    dynamicObjectTypes: [ KeyValueDataObject ],\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\nconst map1 = container.initialObjects.map1;\n\nconst newPair = await container.create(KeyValueDataObject);\nmap1.set(\"pair-unique-id\", newPair.handle);\n\n// ...\n\nconst pairHandle = map1.get(\"pair-unique-id\"); // Get the handle\nconst pair = await map1.get(); // Resolve the handle to get the object\n\n// or\n\nconst pair = await map1.get(\"pair-unique-id\").get();\n```\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.12","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@fluid-experimental/fluid-static":"0.42.0-27644","@fluidframework/container-loader":"0.42.0-27644","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.0","@fluidframework/tinylicious-driver":"0.42.0-27644","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"0.42.0-27644","@fluidframework/container-definitions":"^0.39.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","assert":"^2.0.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","@types/assert":"^1.5.2","start-server-and-test":"^1.11.7","@fluid-experimental/fluid-framework":"0.42.0-27644","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.42.0-27644_1623880297090_0.03615488158499702","host":"s3://npm-registry-packages"}},"0.42.0-27677":{"name":"@fluid-experimental/tinylicious-client","version":"0.42.0-27677","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.42.0-27677","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"851d19a7ae96d48bc7318db427e8f7056afd9c05","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.42.0-27677.tgz","fileCount":44,"integrity":"sha512-y2hqnZbpf85n4NFrQdbsb1QDo0bJnYQU6RbYk4ZCLbfC4sUfStu8Gq7VyjX0YiRiwInih3hSk5yIr1pCVofYhw==","signatures":[{"sig":"MEYCIQDKD4au3bnKHRq7gKfvWA5sP7CMsbGp1m5Gf4ymVYXuwAIhANoF37suSixjdcWxSLQef7oXW73/gSzaEUurk9+S/epl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":80530,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgy2N0CRA9TVsSAnZWagAA2n8P/1yI5qpcXheIlFmKev95\nMv5LHYoV7o+py1Polw6qucqqCXLCJr0dig/Upg/CdqDiT8wEHuxPs0nf0ikI\nbVZw+cz0I/B9Sc+BygRdp4nnHqEeZVbHCTUU+OySGvlxDMxA75K5/6v8TgGT\nVi9QwHAOycPxXqLJ5kJE9nexAXMWiD5Z+OkmFAqYFY2jLfzA3/ntClqkj4Ap\nq8qWA8zPTMBYeegXXqQGYaKqZUO1RO/vhWtKplFqdgWYMph68Kmt7eXglUWT\nMAFo/5gG8DpURtpbxJ9stJUqc/4gQbxp7KQzVytv/KuDBTjWDG3tgIMWpyj6\nN+Js63NmYrwewoGjt1hYYkN2PVydxz4S8+cd2pBu+nzVcUmohIl19JRb+SdW\nfveuqcME21CxdM8gl+yHNbq4SNRSfRs1Cf6IuB8SQz25r/nu7+/JVI7DjJZZ\nMI0J4y+233XqdIP58RHuSdVmBIVVob6b+ndxoItrzBoBJiDReTdYQE2YT0RL\nkOelow7tu4BTsz9lhqzvB4w/4X/OwctaaDHH343ayr78sAOLdSAXib8OeXpb\n7HUKv+SSccZYFw/d/v1Fa2ur0/Yh4xvlDdM3yTkJgblr5c6tusGM2vKNwDmF\n9j/CExDJnJ/5b8VjW6LzWwMSxu8kP3JuRRvKNTc7q3YQxqdFq1n0BK7TXZeJ\no/RK\r\n=9Nv2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.42.0-27677.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluid-experimental/tinylicious-client\n\nThe tinylicious-client package provides a simple and powerful way to consume collaborative Fluid data with the Tinylicious service.\n\nThis package is marked as experimental and currently under development. The API surface is currently under going drastic braking changes with no guarantees on compatibility.\n\n## Using tinylicious-client\n\nThe tinylicious-client package has a default `TinyliciousClient` static class that allows you to interact with Fluid.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n```\n\n## Initializing TinyliciousClient\n\nFluid requires a backing service to enable collaborative communication. The TinyliciousClient instance will be instantitated against the Tinylicious service.\n\nIn the example below we are connecting to a locally running instance of our Tinylicious service running on port 7070 by filling out the optional `port` parameter in `TinyliciousConnectionConfig`.\n\n```javascript\nimport TinyliciousClient, { TinyliciousConnectionConfig } from \"@fluid-experimental/tinylicious-client\";\n\nconst config: TinyliciousConnectionConfig = { port: 7070 };\nTinyliciousClient.init(config);\n```\n\n## Fluid Containers\n\nA Container instance is a organizational unit within Fluid. Each Container instance has a connection to the defined Fluid Service and contains an independent collection of collaborative objects.\n\nContainers are created and identified by unique ids. Management and storage of these ideas are the responsibility of the developer.\n\n## Using Fluid Containers\n\nUsing the default `TinyliciousClient` object the developer can create and get Fluid containers. Because Fluid needs to be connected to a server containers need to be created and retrieved asynchronously.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n\nawait TinyliciousClient.createContainer( { id: \"_unique-id_\" }, /* schema */);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, /* schema */);\n```\n\n## Defining Fluid Containers\n\nFluid Containers are defined by a schema. The schema includes initial properties of the Container as well as what collaborative objects can be dynamically created.\n\nSee [`ContainerSchema`](./src/types.ts) in [`./src/types/ts`](./src/types.ts) for details about the specific properties.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        /* ... */\n    },\n    dynamicObjectTypes: [ /*...*/ ],\n}\nawait TinyliciousClient.createContainer({ id: \"_unique-id_\" }, schema);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n```\n\n## Using initial objects\n\nThe most common way to use Fluid is through initial collaborative objects that are created when the Container is created.\n\n> Note: Collaborative objects are referred to as LoadableObjects within Fluid. LoadableObjects are specific to Fluid and expose a collaborative interface. DistributedDataStructures and DataObjects are types of LoadableObjects.\n\n`initialObjects` are loaded into memory when the Container is loaded and the developer can access them off the Container via the `initialObjects` property. The `initialObjects` property has the same signature as the Container schema.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n        pair1: KeyValueDataObject,\n    }\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n\nconst initialObjects = container.initialObjects;\nconst map1 = initialObjects.map1;\nconst pair1 = initialObjects[\"pair1\"];\n```\n\n## Using dynamic objects\n\nLoadableObjects can also be created dynamically during runtime. Dynamic object types need to be defined in the  `dynamicObjectTypes` property of the ContainerSchema.\n\nThe Container has a `create` method that will create a new instance of the provided type. This instance will be local to the user until attached to another LoadableObject. Dynamic objects created this way should be stored in initialObjects, which are attached when the Container is created. When storing a LoadableObject you must store a reference to the object and not the object itself. To do this use the `handle` property on the LoadableObject.\n\nDynamic objects are loaded on-demand to optimize for data virtualization. To get the LoadableObject, first get the stored handle then resolve that handle.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n    },\n    dynamicObjectTypes: [ KeyValueDataObject ],\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\nconst map1 = container.initialObjects.map1;\n\nconst newPair = await container.create(KeyValueDataObject);\nmap1.set(\"pair-unique-id\", newPair.handle);\n\n// ...\n\nconst pairHandle = map1.get(\"pair-unique-id\"); // Get the handle\nconst pair = await map1.get(); // Resolve the handle to get the object\n\n// or\n\nconst pair = await map1.get(\"pair-unique-id\").get();\n```\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.12","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@fluid-experimental/fluid-static":"0.42.0-27677","@fluidframework/container-loader":"0.42.0-27677","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.0","@fluidframework/tinylicious-driver":"0.42.0-27677","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"0.42.0-27677","@fluidframework/container-definitions":"^0.39.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","assert":"^2.0.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","@types/assert":"^1.5.2","start-server-and-test":"^1.11.7","@fluid-example/diceroller":"0.42.0-27677","@fluid-experimental/fluid-framework":"0.42.0-27677","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.42.0-27677_1623942003868_0.8259423015879996","host":"s3://npm-registry-packages"}},"0.42.0-27683":{"name":"@fluid-experimental/tinylicious-client","version":"0.42.0-27683","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.42.0-27683","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"bb3f26efef4a56f6211c8730f1a2fa519a882033","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.42.0-27683.tgz","fileCount":44,"integrity":"sha512-DAn/hd4JDh3mrif9uH6jRbqCQ3oFAzhsPsNX9bnYyjUYzjORE32PlEKjNzdRrfbwyNKIwZ5nGCxYPkF/4NMcVQ==","signatures":[{"sig":"MEUCIQCeVxVawt+uBWdYBZDCSiJtPbXpsehg9y2t1ZUx8XGNgwIgcNQYp4TJ8aCsf+ru9sxxCGPfQy4I4BZaLaDO9XLmZtg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":80530,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgy3hUCRA9TVsSAnZWagAAQzUQAIESwSlvVsmTmiK13WWD\nEqHnrqrK28TtNPsdkwXNFv5XKF8NFYsWwo1gWJt/hPa3F8/sjMNZF7kl4aeQ\nz2nQN0SdO0c443nLLqn2xUVPQAqpOP4W2zQCYbVkg9uHzKC14xjOMB+vZc48\nzgRcWuPvBCaNZF0EhUrYIDVFG5f5zzrg5tQ//QGqFBLxE8wgv4XMGwWc5dij\nHwebwTV0dnFxRMk/R6TOgHJD27hSmR8ZNAkKcRvi2nMfNL1lFgrTCmXprTe9\nOy3C4VLwEAMeaEQb+zosYPnS9ez5t3al0IY+PGc+MCHVlz72FIUb8ES9e4h/\nec/M93AdBXduxcHOwikkwlbp93TY2NCMFXZTXemHLfULw0UOkshurZawQjHA\n4nmTTAnm5NOYVutm8Ihya9DLNxPLaQWoUp+44YHLFg0+byOmsq887zFCZMLA\nPHHRRd7i4ay+J54hghC60FA0aBOa2IgNR1mzn0b/bWFrMbeiSvJN5tPyOG+Y\nZc958E9uT2r27xuqE/2l1YlZ8dDcF9yjqBhMdyvQFGZEJW0VZNaX0NmQaZ24\nuU7O4dbeoMOg+JEwV9AReW1dUwVKnD0gmCHijadn2O/96jRad+NicC8FTg4L\nCA12axrn1MxtfmCByBikc5YM3mXrGlxkWTXlOVFGJaCtMZqEl2SSkH7abt4D\nys7j\r\n=TD75\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.42.0-27683.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluid-experimental/tinylicious-client\n\nThe tinylicious-client package provides a simple and powerful way to consume collaborative Fluid data with the Tinylicious service.\n\nThis package is marked as experimental and currently under development. The API surface is currently under going drastic braking changes with no guarantees on compatibility.\n\n## Using tinylicious-client\n\nThe tinylicious-client package has a default `TinyliciousClient` static class that allows you to interact with Fluid.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n```\n\n## Initializing TinyliciousClient\n\nFluid requires a backing service to enable collaborative communication. The TinyliciousClient instance will be instantitated against the Tinylicious service.\n\nIn the example below we are connecting to a locally running instance of our Tinylicious service running on port 7070 by filling out the optional `port` parameter in `TinyliciousConnectionConfig`.\n\n```javascript\nimport TinyliciousClient, { TinyliciousConnectionConfig } from \"@fluid-experimental/tinylicious-client\";\n\nconst config: TinyliciousConnectionConfig = { port: 7070 };\nTinyliciousClient.init(config);\n```\n\n## Fluid Containers\n\nA Container instance is a organizational unit within Fluid. Each Container instance has a connection to the defined Fluid Service and contains an independent collection of collaborative objects.\n\nContainers are created and identified by unique ids. Management and storage of these ideas are the responsibility of the developer.\n\n## Using Fluid Containers\n\nUsing the default `TinyliciousClient` object the developer can create and get Fluid containers. Because Fluid needs to be connected to a server containers need to be created and retrieved asynchronously.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n\nawait TinyliciousClient.createContainer( { id: \"_unique-id_\" }, /* schema */);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, /* schema */);\n```\n\n## Defining Fluid Containers\n\nFluid Containers are defined by a schema. The schema includes initial properties of the Container as well as what collaborative objects can be dynamically created.\n\nSee [`ContainerSchema`](./src/types.ts) in [`./src/types/ts`](./src/types.ts) for details about the specific properties.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        /* ... */\n    },\n    dynamicObjectTypes: [ /*...*/ ],\n}\nawait TinyliciousClient.createContainer({ id: \"_unique-id_\" }, schema);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n```\n\n## Using initial objects\n\nThe most common way to use Fluid is through initial collaborative objects that are created when the Container is created.\n\n> Note: Collaborative objects are referred to as LoadableObjects within Fluid. LoadableObjects are specific to Fluid and expose a collaborative interface. DistributedDataStructures and DataObjects are types of LoadableObjects.\n\n`initialObjects` are loaded into memory when the Container is loaded and the developer can access them off the Container via the `initialObjects` property. The `initialObjects` property has the same signature as the Container schema.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n        pair1: KeyValueDataObject,\n    }\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n\nconst initialObjects = container.initialObjects;\nconst map1 = initialObjects.map1;\nconst pair1 = initialObjects[\"pair1\"];\n```\n\n## Using dynamic objects\n\nLoadableObjects can also be created dynamically during runtime. Dynamic object types need to be defined in the  `dynamicObjectTypes` property of the ContainerSchema.\n\nThe Container has a `create` method that will create a new instance of the provided type. This instance will be local to the user until attached to another LoadableObject. Dynamic objects created this way should be stored in initialObjects, which are attached when the Container is created. When storing a LoadableObject you must store a reference to the object and not the object itself. To do this use the `handle` property on the LoadableObject.\n\nDynamic objects are loaded on-demand to optimize for data virtualization. To get the LoadableObject, first get the stored handle then resolve that handle.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n    },\n    dynamicObjectTypes: [ KeyValueDataObject ],\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\nconst map1 = container.initialObjects.map1;\n\nconst newPair = await container.create(KeyValueDataObject);\nmap1.set(\"pair-unique-id\", newPair.handle);\n\n// ...\n\nconst pairHandle = map1.get(\"pair-unique-id\"); // Get the handle\nconst pair = await map1.get(); // Resolve the handle to get the object\n\n// or\n\nconst pair = await map1.get(\"pair-unique-id\").get();\n```\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.12","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@fluid-experimental/fluid-static":"0.42.0-27683","@fluidframework/container-loader":"0.42.0-27683","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.0","@fluidframework/tinylicious-driver":"0.42.0-27683","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"0.42.0-27683","@fluidframework/container-definitions":"^0.39.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","assert":"^2.0.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","@types/assert":"^1.5.2","start-server-and-test":"^1.11.7","@fluid-example/diceroller":"0.42.0-27683","@fluid-experimental/fluid-framework":"0.42.0-27683","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.42.0-27683_1623947348412_0.730846754753121","host":"s3://npm-registry-packages"}},"0.41.2":{"name":"@fluid-experimental/tinylicious-client","version":"0.41.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.41.2","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"2daf99d0f5ccce435c0cee636aa9cbeba09c9480","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.41.2.tgz","fileCount":44,"integrity":"sha512-x/eSHhYus1wlkas3udPU2tp8trEmDlxQJRAk+2p1YRlA6G+Cg7F1eJcAxOUuBFAF0z5zVeAHJREjb/xXMlDUnw==","signatures":[{"sig":"MEYCIQCxihO7fTA94VkOb961NobboxkR7mvGdnUS777qs+8ubAIhAJN9OwHy2Wc9rX+jqzMideuFDyIGe1P9O+OfynAcHHFi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":80223,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0TCGCRA9TVsSAnZWagAAh/4P/jSBRIxe7LvdGQVyQIRp\ni3tmwg7LWqEiaTNhtFXnPOrNdL8HWGWTNS9ehb2KzZSAxd/pLB0A2LEmAFoy\nzUICjmyIQCHPdSHWr3s3PJnHJfedMPxl5Lt5cNI2RiR3N2P6Nj3/yIpxb2Ua\njt/xsuip9kwQ4cK2VmuiTWvCHgoHZtwYQ7Z8xtmwPZAX4y5bAn6g/lb0SOjR\n+g+g4PcavSHBBtl7qgewQLAFlewtWrwLeg721s9DnmL8mzSRMGOw/+XzHxyc\nZdyDQSZxKrmA48G0BAZsMqsWqIUY/YpWA+KaB+aTuHrVyR6QcIuRwfO23oO3\nCvONZVIZ3jUQyaanb/03b0HRZIzXI7YSkceenJj8Zm2sJmdb/4k1+wLeDywe\nRa7upASccF2zv+oLt2sF+qp6J6nV9zHO8bK28VM729XVKED5OI+Gx462k0Au\nckaicyEaJKbn/NPdY/Hcdn6UMsRGTvvjZRmIpbLwTRPfAlA2b8b+3QRPjO5I\n4F3f1il6KCTxMvBVdnZu6XvW2vEenQq6JTj7f5coHy9Ia/Lc3aInkMzbThgw\nqzvbjqso5tsqfL7gxt/5SdN6T7tfYuvqRMghmU+L2qkD+RI9w9IsuSKVro1I\nKHqAGSWjzMMrtkW6qhFVceKORNtCx/XRtVMHq1deUh7sKlItASIexo0OnTaZ\nlxi9\r\n=aRf2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.41.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.12","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@fluid-experimental/fluid-static":"^0.41.2","@fluidframework/container-loader":"^0.41.2","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.0","@fluidframework/tinylicious-driver":"^0.41.2","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"^0.41.2","@fluidframework/container-definitions":"^0.39.0"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","assert":"^2.0.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","@types/assert":"^1.5.2","start-server-and-test":"^1.11.7","@fluid-experimental/fluid-framework":"^0.41.2","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.41.2_1624322181649_0.44278859566264295","host":"s3://npm-registry-packages"}},"0.41.3":{"name":"@fluid-experimental/tinylicious-client","version":"0.41.3","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.41.3","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"65155411dbcffa48ba9ee7b6dc6d676cb1fab4e5","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.41.3.tgz","fileCount":44,"integrity":"sha512-c5YuBW61Sj0Tzj7gKu7rIkksW6FfomRNDbvB3gd2jsPVSbwmen/7hgOwX5LgBAl1KitWtxzpDfVXBvQiIZ9//A==","signatures":[{"sig":"MEUCIAjt0bWbAp1TtiRbhaqIGaFIbEJ00p+3fRJCjE0KWp3IAiEAoShaqJbMdRJDPnFvNHQ1svu/btMIysAeYd8GBea3AxU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":80223,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0mzZCRA9TVsSAnZWagAA4wsP/3CVr4i+XLLzoCmwXyPT\nCVghIjYdOLbnjgKV19wRnuztP2ozXnVeAmXxwjouixJgMoF2O7pUNRk/Wx0X\ngBmoerYyKCIaOSf+WD2n5Q+X3faTOg48ImCxqYLU/LY7H1WIi3zI9WSihz7w\n/l1g029Xi/hXAf8t6jiWKL0OssRagb6GtZEKzjXuqccxOJuF7q9M1ZK6cMPw\ni9mDVEzyg8kbMOctGmfsv7eNusZfU/Wk83o3kqncIKKM4zWyrb+JkbcmFObg\n5W9PyetfmVVAIoMn3LEldk9EDrKcYLzGHBB9jmB84K+CNQ4HFJmT8REantex\nBpGdJU40YAimCCdZZCYjl4gk9kX4Eet+9dwkiIqVPlLh/JL35ZpO06hKSNa4\nDXi+Y38a0YUCpPCsB7CHdwWkv46aDWHcR3DWlrYYUsot2wZj2ZeJAttqsgtY\nGOxE+HJOE9sg0g4PUPq+f9ct2hv1DK1Ew64vmzOdE4AOAJ+vER4qFfWnvy/r\n1cCuGH8eX+Rhkcm0xK1HBAmCwyfydJKetFgH5VwZ7YrsQg0EBc9rSmgegPvS\n9F/Dht+eZcCftNfwFyaGZgqtv62CzhX0U8IXKC0Og6VXlRAkv06X4B9Dj5mb\nWBAfuB0KIZ2j4By82bauJ2VpMPrMBJa+caovGAEti/xiV1g0mRtBFsU/pUBN\nH7YW\r\n=BJmw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.41.3.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.12","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@fluid-experimental/fluid-static":"^0.41.3","@fluidframework/container-loader":"^0.41.3","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.0","@fluidframework/tinylicious-driver":"^0.41.3","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"^0.41.3","@fluidframework/container-definitions":"^0.39.0"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","assert":"^2.0.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","@types/assert":"^1.5.2","start-server-and-test":"^1.11.7","@fluid-experimental/fluid-framework":"^0.41.3","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.41.3_1624403160954_0.48956711473709524","host":"s3://npm-registry-packages"}},"0.41.4":{"name":"@fluid-experimental/tinylicious-client","version":"0.41.4","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.41.4","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"54c0f9a650c86cc3a6702912111a49aa853e3341","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.41.4.tgz","fileCount":44,"integrity":"sha512-ENVBgZcdKbTnGSGHZ5nfQR1vvoAOg4lmJJuP+wIs82HqOf+oyN7Zoq8jP+onVmRyBOe/r7v9NaNPDW3tx11aCQ==","signatures":[{"sig":"MEUCIQCxNvSEU18YIKNXZGFBS6iuGRfhtzoRStdBAqXuYVkzUwIgD6gLMHWn1CiE0WEvAw0KeDcm9emLEnYQx6FA85Tir8o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":80223,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg07iECRA9TVsSAnZWagAAuIgP/1v2/r1XVj/QbANfrSMO\nsn6JRkZ1hYdIFiQAzHJuqGYGtuavHenpaYqcVd8CdvfRHnE8lCLTpaA4QDD2\nYnPFTDsMkFVgaiAegcAvkz7v1Lyj/jneh9x8k4SSBeyZIoDVh/OpD7DZg0np\nfjtD2y+fEAhUNKa6oZn1Ly6Ujtk8EpOLDPxyxFEcgsypTcT/YAnPYfdfnZki\n3jgFzX92xtgkv16ZvbF6EMfT4JS4O4LkadcOZB28v6YanOhMVBZC/1otmkMU\nj0zTImaEDnITWGL60AMrFHkWeWxxlLwRNuPM3bIQ+gKXEqYKn+fETOFTVwks\nSpnKGvkt7gRcgr/l0eAXQwVEOi9TOBtBGZD0sm8SxtLAmwdZVxyZaUpEZiGK\nJXIF2Cc7W3YJbHhVgys3lQSriLbiY9bN78keVFtge/XmqkAeOmL2Jlfzsv0T\nfXsx88Ak2fm6K5RhBwu/j0nrnwQRIxUunwDpdcuTuxLkgITc1W3mdj/S9m/e\nQ6/jOjTOyVlBllDtzOrgZZGYD9kQoCj+430n6hdplsnZt0eUPw9FqRBfzRQg\n7xbCiXcQ0AXKgx8lMJgYqhkbUSQrbT2rC0vnoI+NhuAp+nCEA2R6IU4J8iYG\n4QzZruDyApgWk1KToncjZtoMAB0Aa/eRLx+jhxgmI9IXYRSI4uwOV/f704um\nxRQW\r\n=Zdr2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.41.4.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.12","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@fluid-experimental/fluid-static":"^0.41.4","@fluidframework/container-loader":"^0.41.4","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.0","@fluidframework/tinylicious-driver":"^0.41.4","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"^0.41.4","@fluidframework/container-definitions":"^0.39.0"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","assert":"^2.0.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","@types/assert":"^1.5.2","start-server-and-test":"^1.11.7","@fluid-experimental/fluid-framework":"^0.41.4","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.41.4_1624488068332_0.29281071710178175","host":"s3://npm-registry-packages"}},"0.42.0-28410":{"name":"@fluid-experimental/tinylicious-client","version":"0.42.0-28410","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.42.0-28410","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"d881bd45a631d6e4f028848a9dac5e79dc87584c","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.42.0-28410.tgz","fileCount":44,"integrity":"sha512-Fu9EiZR42DLIpLp8Y3OO3MnIsiWRUwzqy/7H0490efz8JWOZoBM70QdLcNihLREKmdCa90Cap2lqpn0p/nbe+Q==","signatures":[{"sig":"MEUCIQCfvSnq4fD94bkjTNcATDX8KUbQtqsu6wWv/GD+Eye04gIgX2e+x0KDxoBe+xsMFPD3X2AM4OYp3jYmMaV1J9sYZKY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68907,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1kI0CRA9TVsSAnZWagAAryEP/jAtA+4io2iQxCothmqY\nwq6kh7TxC5ceWjpjiG6kZ0QEXyoIVzUPN7+M1Y3cmLkz+RKBJITKOkGq/vFB\ndIqh5WGmlrnS2yrXzTQb7YlslzcZKq5Nuu+NH25IVldenLqgmsvqCotXr4DD\nR2L89VfAT1Yo55UYElbdglg78mCfaGyoC3waeAErj2tv+Tx96w+La/IXjvtu\nmZpnTFR34ZpjfWMA35aoKin++Gxvp4uDKrGW7rUbGgFbvyeC5NF7Vnr35oB1\nk55he8gCI2vlnrP8vv0HkIk/M0HQQ7iqegJjdcG9MCTeSjixO6V/HjUv8zSQ\neUykbObnkjqNDh64MUSPGksgawgeT5fL2c5Ey6X/CHWU5wm4JMlH5Xka6X66\nbj9gU3JYm5qoFu82FGopXSWnDuu0hwK6g935kBiwuaqv0L/WxMkxSnhy/Nj2\nDwFyhYxkQI7mK1+0J6t4AMTTdxsQyGmcPz+hHapEeDqnbubnQfJyBUwYVhi4\nNoDhuhQmC1EI7RoXhSW7kIkkQpkR7GJqIBbFUI97KCAQK6zrNEK2yTIgyAKa\nW1CTtx689IWhZdmFV1DNu6/03N2OTtSKPzch2Kzy/QjNGUJ9Hj9nLf0JSRnb\nKtUl5fkevzqGii53Rji39JITZGWD0pvvw5Z0an/eruTMSXe7I2Ro3r9OaRnq\nqrkY\r\n=FHJL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.42.0-28410.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluid-experimental/tinylicious-client\n\nThe tinylicious-client package provides a simple and powerful way to consume collaborative Fluid data with the Tinylicious service.\n\nThis package is marked as experimental and currently under development. The API surface is currently under going drastic braking changes with no guarantees on compatibility.\n\n## Using tinylicious-client\n\nThe tinylicious-client package has a default `TinyliciousClient` class that allows you to interact with Fluid.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n```\n\n## Instantiating TinyliciousClient\n\nFluid requires a backing service to enable collaborative communication. The TinyliciousClient instance will be instantitated against the Tinylicious service.\n\nIn the example below we are connecting to a locally running instance of our Tinylicious service running on port 7070 by filling out the optional `port` parameter in `TinyliciousConnectionConfig`.\n\n```javascript\nimport TinyliciousClient, { TinyliciousConnectionConfig } from \"@fluid-experimental/tinylicious-client\";\n\nconst config: TinyliciousConnectionConfig = { port: 7070 };\nconst tinyliciousClient = new TinyliciousClient(config);\n```\n\n## Fluid Containers\n\nA Container instance is a organizational unit within Fluid. Each Container instance has a connection to the defined Fluid Service and contains an independent collection of collaborative objects.\n\nContainers are created and identified by unique ids. Management and storage of these ideas are the responsibility of the developer.\n\n## Using Fluid Containers\n\nUsing the default `TinyliciousClient` object the developer can create and get Fluid containers. Because Fluid needs to be connected to a server containers need to be created and retrieved asynchronously.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n\nconst tinyliciousClient = new TinyliciousClient(config);\nawait tinyliciousClient.createContainer( { id: \"_unique-id_\" }, /* schema */);\nconst container = await tinyliciousClient.getContainer({ id: \"_unique-id_\" }, /* schema */);\n```\n\n## Defining Fluid Containers\n\nFluid Containers are defined by a schema. The schema includes initial properties of the Container as well as what collaborative objects can be dynamically created.\n\nSee [`ContainerSchema`](./src/types.ts) in [`./src/types/ts`](./src/types.ts) for details about the specific properties.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        /* ... */\n    },\n    dynamicObjectTypes: [ /*...*/ ],\n}\nconst tinyliciousClient = new TinyliciousClient();\nawait tinyliciousClient.createContainer({ id: \"_unique-id_\" }, schema);\nconst container = await tinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n```\n\n## Using initial objects\n\nThe most common way to use Fluid is through initial collaborative objects that are created when the Container is created.\n\n> Note: Collaborative objects are referred to as LoadableObjects within Fluid. LoadableObjects are specific to Fluid and expose a collaborative interface. DistributedDataStructures and DataObjects are types of LoadableObjects.\n\n`initialObjects` are loaded into memory when the Container is loaded and the developer can access them off the Container via the `initialObjects` property. The `initialObjects` property has the same signature as the Container schema.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n        pair1: KeyValueDataObject,\n    }\n}\nconst tinyliciousClient = new TinyliciousClient();\nconst container = await tinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n\nconst initialObjects = container.initialObjects;\nconst map1 = initialObjects.map1;\nconst pair1 = initialObjects[\"pair1\"];\n```\n\n## Using dynamic objects\n\nLoadableObjects can also be created dynamically during runtime. Dynamic object types need to be defined in the  `dynamicObjectTypes` property of the ContainerSchema.\n\nThe Container has a `create` method that will create a new instance of the provided type. This instance will be local to the user until attached to another LoadableObject. Dynamic objects created this way should be stored in initialObjects, which are attached when the Container is created. When storing a LoadableObject you must store a reference to the object and not the object itself. To do this use the `handle` property on the LoadableObject.\n\nDynamic objects are loaded on-demand to optimize for data virtualization. To get the LoadableObject, first get the stored handle then resolve that handle.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n    },\n    dynamicObjectTypes: [ KeyValueDataObject ],\n}\nconst tinyliciousClient = new TinyliciousClient();\nconst container = await tinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\nconst map1 = container.initialObjects.map1;\n\nconst newPair = await container.create(KeyValueDataObject);\nmap1.set(\"pair-unique-id\", newPair.handle);\n\n// ...\n\nconst pairHandle = map1.get(\"pair-unique-id\"); // Get the handle\nconst pair = await map1.get(); // Resolve the handle to get the object\n\n// or\n\nconst pair = await map1.get(\"pair-unique-id\").get();\n```\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.12","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@fluidframework/common-utils":"^0.31.0","@fluidframework/runtime-utils":"0.42.0-28410","@fluid-experimental/fluid-static":"0.42.0-28410","@fluidframework/container-loader":"0.42.0-28410","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.0","@fluidframework/tinylicious-driver":"0.42.0-28410","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"0.42.0-28410","@fluidframework/container-definitions":"^0.39.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","assert":"^2.0.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","@types/assert":"^1.5.2","start-server-and-test":"^1.11.7","@fluid-example/diceroller":"0.42.0-28410","@fluid-experimental/fluid-framework":"0.42.0-28410","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.42.0-28410_1624654387592_0.1974123227995228","host":"s3://npm-registry-packages"}},"0.42.0":{"name":"@fluid-experimental/tinylicious-client","version":"0.42.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.42.0","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"9c9e50dbe4662641d077df0bc9214fe0c5c39129","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.42.0.tgz","fileCount":44,"integrity":"sha512-vByjtliFvOXR4flCL5M36F4Bc8xn/DljH+W6WX4XronK3OPaWLspLlaS03udnFmO0MqOi0gg3xqAUvQKsTcdPw==","signatures":[{"sig":"MEUCICdR+U4mQwATNuX7G/RKwGzf4MjFLBGZUFX/OabL7lopAiEAqcrrFheacdE6O9oSZAMIWy17E8gDFwZdQLINkSCMmjw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68944,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1oifCRA9TVsSAnZWagAAllUP/jJfq1cgA4ZSuHkSSYIB\nd7xG/beCfyOQyDJ0GzGdhQRb2OVFeKWf479/vOS2RTA2Qe7Zu/Xfaoi1e8bv\nPVv71TihtDMMuRYJlV30jHWWlvrG1+U10cvsCIzccvy9Cu67vZ62uFi2DlSf\nQGqcWJ4IXkg3Ca0q3oY3LvVH48yCFzqqb4FWZ6omk0gpF8vOQHU/7NdzCAHL\n2Vw5OPt3T4lAVgGWEoW8+px3hiTlKbhxzE8pQuozmyAocqTpvKcjH0P5f1H+\n5CSMxF4PaD785Xq0X6cMNwWKfvXHwT00dtG4FayTN+f/JYuaQzv5esFSui1M\nC/OuOC9OBwpKMo+xGIH/ozDrDUyt7GwH9I8Pw5A80fAQObpVnsy7dyc5mujH\nBVArjQNv11vOMznf0O9wvfq5PLzS3iE+eareN0HMyc/udK96l3DE1UZ35X4i\ngDZ/3fk/2sZbh0FDlpyY3zuqm+LFwlZaxidIvd6NNjYlYtxpxgWgnBgZP1gT\nb07PSfryEbANXIgqmY/1y76kiA+r+rc6XoUHz4C5W9ZnflyK+33LGWgzzmqw\nP3VZlFruhZitrqLPduzdww68qGi79RAers5ErcQJ4NlMqf4mKLDlVpFenBQB\nTn6i8v1dPG/mBJBznTS2fy0znGoKPVipqbuTElLV3JFx62RdSj3l//co7ZHf\nZkor\r\n=+J5v\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.42.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.12","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@fluidframework/common-utils":"^0.31.0","@fluidframework/runtime-utils":"^0.42.0","@fluidframework/container-loader":"^0.42.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.0","@fluidframework/tinylicious-driver":"^0.42.0","@fluid-experimental/fluid-framework":"^0.42.0","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"^0.42.0","@fluidframework/container-definitions":"^0.39.0"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","assert":"^2.0.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","@types/assert":"^1.5.2","start-server-and-test":"^1.11.7","@fluid-example/diceroller":"^0.42.0","@fluid-experimental/fluid-framework":"^0.42.0","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.42.0_1624672414602_0.6299411354833899","host":"s3://npm-registry-packages"}},"0.39.5":{"name":"@fluid-experimental/tinylicious-client","version":"0.39.5","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.39.5","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"2aab3b09b48098355786dc5b3a42e362519f5729","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.39.5.tgz","fileCount":35,"integrity":"sha512-tUWTTKboQt6H8qfUV9aejlNr7QZFzaUhY+M8Z8iNHYSbhPA9ypupZFdugP716utabg6fQS5kgxe8jFSYcvqSjw==","signatures":[{"sig":"MEYCIQDAXsDCr1rcZqkYdkJUQsHX+yA+Cqo4TElSUlnk4nDr+wIhAOIqoawUX/VS+ZgiHqeR+nupIj0ASmd6AIBlQXk+HAEG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50945,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5iMuCRA9TVsSAnZWagAAN0oP/RqTyyVEtSPWqxK7RfG4\nGhiMCmtQQAoKfpXV5BpnjPul3gWS/tPikX6CAk4bI539GKV2sNQRY3QlLpWK\njgoYWWxSskPcH6Qcf3x2IRmkkpCVaAdu6Y10YCUKxauT/2GR1vcenpeySQUA\ndAn5iniqFvUOnla97h4IXnEe/ep/YuNsVwHXgHFtP0OTVlHXvyLkOXknEI3c\n34Fad6b03Pjy7CG8dsXxH7UUNY9Pu15rcNUvD0M4dti0sS7EqbeAqMIq2sXA\n1hDEy34MvNOYopE8wPi8j1IQypLE1ejrZNY/GC5mGY0ZvVJ21bueqXnSKCZx\nuCdGfB7OdWPOPTvqtAgpia5MEBff1qHnfuEUYuWiDLT+Y6JJGYCU20zEEaca\n9Ynz2aJ+Zb8BweL3qkFt2anJ70Sj7HzPmd4lKN7hX/ewr+gsUGsyLROGG7/J\n2MmyMN++Ft/FMXyc+6B1aBy8kYHicRAbIvDB2+q/4/HWvoPfCqdnkBSPqrVM\nueD2mKbm5As8H1crBV5aDr5lYQBua7hU4hyFGls+IrGh1zMzh5UKiypbK26j\nIGTy2pe01JVM8XClFH4xOM3uBZ4h4m9vpVgSQ1vmA7yHj/Chm1CEm1L4dzU2\nMNLhHvOMS5WDfrf7Qk7ZlG0RP71wun28dFS52ijylmSJzwRMjJajlBYs8jAv\n3lHd\r\n=txf9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.39.5.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluid-experimental/tinylicious-client\n\nThe tinylicious-client package provides a simple and powerful way to consume collaborative Fluid data with the Tinylicious service.\n\nThis package is marked as experimental and currently under development. The API surface is currently under going drastic braking changes with no guarantees on compatibility.\n\n## Using tinylicious-client\n\nThe tinylicious-client package has a default `TinyliciousClient` object that allows you to interact with Fluid.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n```\n\n## Initializing TinyliciousClient\n\nFluid requires a backing service to enable collaborative communication. The TinyliciousClient instance will be instantitated against the Tinylicious service.\n\nIn the example below we are connecting to a locally running instance of our Tinylicious service running on port 7070 by filling out the optional `port` parameter in `TinyliciousConnectionConfig`.\n\n```javascript\nimport TinyliciousClient, { TinyliciousConnectionConfig } from \"@fluid-experimental/tinylicious-client\";\n\nconst config: TinyliciousConnectionConfig = { port: 7070 };\nTinyliciousClient.init(config);\n```\n\n## Fluid Containers\n\nA Container instance is a organizational unit within Fluid. Each Container instance has a connection to the defined Fluid Service and contains an independent collection of collaborative objects.\n\nContainers are created and identified by unique ids. Management and storage of these ideas are the responsibility of the developer.\n\n## Using Fluid Containers\n\nUsing the default `TinyliciousClient` object the developer can create and get Fluid containers. Because Fluid needs to be connected to a server containers need to be created and retrieved asynchronously.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n\nawait TinyliciousClient.createContainer( { id: \"_unique-id_\" }, /* schema */);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, /* schema */);\n```\n\n## Defining Fluid Containers\n\nFluid Containers are defined by a schema. The schema includes initial properties of the Container as well as what collaborative objects can be dynamically created.\n\nSee [`ContainerSchema`](./src/types.ts) in [`./src/types/ts`](./src/types.ts) for details about the specific properties.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        /* ... */\n    },\n    dynamicObjectTypes: [ /*...*/ ],\n}\nawait TinyliciousClient.createContainer({ id: \"_unique-id_\" }, schema);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n```\n\n## Using initial objects\n\nThe most common way to use Fluid is through initial collaborative objects that are created when the Container is created.\n\n> Note: Collaborative objects are referred to as LoadableObjects within Fluid. LoadableObjects are specific to Fluid and expose a collaborative interface. DistributedDataStructures and DataObjects are types of LoadableObjects.\n\n`initialObjects` are loaded into memory when the Container is loaded and the developer can access them off the Container via the `initialObjects` property. The `initialObjects` property has the same signature as the Container schema.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n        pair1: KeyValueDataObject,\n    }\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n\nconst initialObjects = container.initialObjects;\nconst map1 = initialObjects.map1;\nconst pair1 = initialObjects[\"pair1\"];\n```\n\n## Using dynamic objects\n\nLoadableObjects can also be created dynamically during runtime. Dynamic object types need to be defined in the  `dynamicObjectTypes` property of the ContainerSchema.\n\nThe Container has a `create` method that will create a new instance of the provided type. This instance will be local to the user until attached to another LoadableObject. Dynamic objects created this way should be stored in initialObjects, which are attached when the Container is created. When storing a LoadableObject you must store a reference to the object and not the object itself. To do this use the `handle` property on the LoadableObject.\n\nDynamic objects are loaded on-demand to optimize for data virtualization. To get the LoadableObject, first get the stored handle then resolve that handle.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n    },\n    dynamicObjectTypes: [ KeyValueDataObject ],\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\nconst map1 = container.initialObjects.map1;\n\nconst newPair = await container.create(KeyValueDataObject);\nmap1.set(\"pair-unique-id\", newPair.handle);\n\n// ...\n\nconst pairHandle = map1.get(\"pair-unique-id\"); // Get the handle\nconst pair = await map1.get(); // Resolve the handle to get the object\n\n// or\n\nconst pair = await map1.get(\"pair-unique-id\").get();\n```\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc","build:full:compile":"npm run build:compile"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.13","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.3","dependencies":{"@fluid-experimental/fluid-static":"^0.39.5","@fluidframework/container-loader":"^0.39.5","@fluidframework/driver-definitions":"^0.39.5","@fluidframework/tinylicious-driver":"^0.39.5","@fluidframework/routerlicious-driver":"^0.39.5","@fluidframework/container-definitions":"^0.39.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rimraf":"^2.6.2","typescript":"~4.1.3","concurrently":"^5.2.0","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.39.5_1625695021586_0.8215448865250219","host":"s3://npm-registry-packages"}},"0.42.1":{"name":"@fluid-experimental/tinylicious-client","version":"0.42.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.42.1","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"1f71360aa5e18fe19fdfa787920c449c1c6e9c41","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.42.1.tgz","fileCount":44,"integrity":"sha512-X72ZgA+SNc3osl7vbnC7FnxVFOk7ApKxSXEEy///ar7pG1HldQxy2RQNdQqjXzMFtvZbBpn315cpHP0Mq2HvnA==","signatures":[{"sig":"MEUCIDc8MD4heDYigjvE9pWB0Ih+/xRNUldFmHlz8jSfv7zfAiEA3qEk3CVdmpuZkuBOeGXRAFgFQJ7B98rScAWLzPaFcww=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68944,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5yfUCRA9TVsSAnZWagAAALQP/0FGfykn+r0FR7yTSeN2\nAQEHg0Ca5uFu0orFwT8AXl6xgAWmxPaoPVjF/K5ZmO1xrQsH0OUvLkqAs6qR\nCLawlmHCImDIZB4837NecfVAGAbsLPfNY4l2cwHqSaWVCLL2HOnZrerSB0Pi\n8MN+eyPblVBEUb9/VVwgsrKRDS282kHcv2mJU877z+wzpXPDbLhD67K7WSnV\naQjxX5wxQH88tGfBsWts6DCBAHb6ktLoOfrAVhM7elaRJzoHYo+JV0sNBwIA\nGvAFqzhspz9t4ZQsrdY+8oysoP90DQv5vOG8rSHkBJqaNyFvAg4LoD7ELbxS\nIsjZDq+5ZeAf2/ASOVR+0mG/QmVktuvuHBJvknOPvRUxN0AnDW7odcUOGE1K\nbnKwl+VUk3YRX6h1EjgRZ+hxl3jQ6fTdX1+AqM+3UvUuAxEbatF91a47Nl5f\nMdq9rU1Euu3C+DQB/+xP01CyRPIHYRN+2qJpLMetEDZ6hlTX5+9uCbbb0ezu\nd7/yoL+sL91Saa+UODZT2fHUzK/enqKlZQR0Q5Pr9YNQQywiIBXL8VFRDHHg\nfCAtrGwuMVv3jIeM0isH6/cVk2K1W6JVkoIx4iVaMz9yad8JOvW008uj78R+\nXTDYJVPIiuJAfPc9ImIL3DBuDGrJgFkZi5Vh4AzFRcu1kZyCFJTkAEgU1XdG\nMr5W\r\n=20bm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.42.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.13","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.3","dependencies":{"@fluidframework/common-utils":"^0.31.0","@fluidframework/runtime-utils":"^0.42.1","@fluidframework/container-loader":"^0.42.1","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.0","@fluidframework/tinylicious-driver":"^0.42.1","@fluid-experimental/fluid-framework":"^0.42.1","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"^0.42.1","@fluidframework/container-definitions":"^0.39.0"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","assert":"^2.0.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","@types/assert":"^1.5.2","start-server-and-test":"^1.11.7","@fluid-example/diceroller":"^0.42.1","@fluid-experimental/fluid-framework":"^0.42.0","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.42.1_1625761748154_0.22662942017437948","host":"s3://npm-registry-packages"}},"0.39.6":{"name":"@fluid-experimental/tinylicious-client","version":"0.39.6","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.39.6","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"4ba3727f52e34b708befea03c78187c64930d9b8","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.39.6.tgz","fileCount":35,"integrity":"sha512-d9t5Rd/E9KyKto/JtDsJiq7WDnsiFpFzqwefBtsWNoRVc9W8JV9zst7zvC5ukLkXTTcD/KBRfuhl6QkT3hE5Ew==","signatures":[{"sig":"MEUCICAS4uWqcRvnlSTx96d/e/M85qncFtwwZbBbhOoNqKpEAiEAkXwoZmlrHgjMB3bZZgxc1SL9QmcyzTIJ7GnH2yWK5qY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50945,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg52TJCRA9TVsSAnZWagAAJqoP/AsKCrtZMzsCGQeKitqI\n0UFMYB6megOMw0O0+MrCuT06oKogiF8m/xvUHzd3Tyknp84drvMvEejs9a29\n+M36wxPh1iZdfQ4ohganVyBXzdofr+uO/E++euo4sZHUZn4u1ePZO+S0+YS+\nZNVDf4PjC+UZdu0SNd8/BM3rZ2lA5md8cGtLWTcillhIvCpCPhWpcxfsOJMn\nKKkuh2/Y0wTWwNlfvWCAt6oYlnvfhEilRlxK4EPFGSlPJRDXi+kTr7dcS7Hx\nMEWw6ObXam0zmDXfhS1DP0if0MK5XXxa5GBMEiFrNPHlPMwCYF/Wuf9sFrzM\nbJ+HM5hTHSGQegGKQ5+ZEdBQJ8fgFTbnvq4Mp8ZzdlJhu3zTvwcmYYkP4v/h\nEUOb3kmxvxF8fpwDYAr37FlXxrDgTPsWQSwprdQrD+NCw7o4dLGMzmpcGcrW\n1k6W/ZBy3RsyE14NmjNiTbCq/qlZkZw68U4/0Pm3SCLihvcIwlSXAnv/8x9f\nSXsviQ28efoJydFw9MG3naVIHQ3AwBKsbPfGQ0yNHSFYLnGeAdGjyLqQ+6Ti\nt7pNmD8s8hZPYY/z9YkABTMwnu806IsD0Iw9FhDqHge9OLPlswCXVPmLZrUk\n0WCkmo54RTpQ3RItqay68zqs1avgabIms67BIqqOMRVdhyqJgTtLd+ThQc06\nTU09\r\n=IpRQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.39.6.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluid-experimental/tinylicious-client\n\nThe tinylicious-client package provides a simple and powerful way to consume collaborative Fluid data with the Tinylicious service.\n\nThis package is marked as experimental and currently under development. The API surface is currently under going drastic braking changes with no guarantees on compatibility.\n\n## Using tinylicious-client\n\nThe tinylicious-client package has a default `TinyliciousClient` object that allows you to interact with Fluid.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n```\n\n## Initializing TinyliciousClient\n\nFluid requires a backing service to enable collaborative communication. The TinyliciousClient instance will be instantitated against the Tinylicious service.\n\nIn the example below we are connecting to a locally running instance of our Tinylicious service running on port 7070 by filling out the optional `port` parameter in `TinyliciousConnectionConfig`.\n\n```javascript\nimport TinyliciousClient, { TinyliciousConnectionConfig } from \"@fluid-experimental/tinylicious-client\";\n\nconst config: TinyliciousConnectionConfig = { port: 7070 };\nTinyliciousClient.init(config);\n```\n\n## Fluid Containers\n\nA Container instance is a organizational unit within Fluid. Each Container instance has a connection to the defined Fluid Service and contains an independent collection of collaborative objects.\n\nContainers are created and identified by unique ids. Management and storage of these ideas are the responsibility of the developer.\n\n## Using Fluid Containers\n\nUsing the default `TinyliciousClient` object the developer can create and get Fluid containers. Because Fluid needs to be connected to a server containers need to be created and retrieved asynchronously.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n\nawait TinyliciousClient.createContainer( { id: \"_unique-id_\" }, /* schema */);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, /* schema */);\n```\n\n## Defining Fluid Containers\n\nFluid Containers are defined by a schema. The schema includes initial properties of the Container as well as what collaborative objects can be dynamically created.\n\nSee [`ContainerSchema`](./src/types.ts) in [`./src/types/ts`](./src/types.ts) for details about the specific properties.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        /* ... */\n    },\n    dynamicObjectTypes: [ /*...*/ ],\n}\nawait TinyliciousClient.createContainer({ id: \"_unique-id_\" }, schema);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n```\n\n## Using initial objects\n\nThe most common way to use Fluid is through initial collaborative objects that are created when the Container is created.\n\n> Note: Collaborative objects are referred to as LoadableObjects within Fluid. LoadableObjects are specific to Fluid and expose a collaborative interface. DistributedDataStructures and DataObjects are types of LoadableObjects.\n\n`initialObjects` are loaded into memory when the Container is loaded and the developer can access them off the Container via the `initialObjects` property. The `initialObjects` property has the same signature as the Container schema.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n        pair1: KeyValueDataObject,\n    }\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n\nconst initialObjects = container.initialObjects;\nconst map1 = initialObjects.map1;\nconst pair1 = initialObjects[\"pair1\"];\n```\n\n## Using dynamic objects\n\nLoadableObjects can also be created dynamically during runtime. Dynamic object types need to be defined in the  `dynamicObjectTypes` property of the ContainerSchema.\n\nThe Container has a `create` method that will create a new instance of the provided type. This instance will be local to the user until attached to another LoadableObject. Dynamic objects created this way should be stored in initialObjects, which are attached when the Container is created. When storing a LoadableObject you must store a reference to the object and not the object itself. To do this use the `handle` property on the LoadableObject.\n\nDynamic objects are loaded on-demand to optimize for data virtualization. To get the LoadableObject, first get the stored handle then resolve that handle.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n    },\n    dynamicObjectTypes: [ KeyValueDataObject ],\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\nconst map1 = container.initialObjects.map1;\n\nconst newPair = await container.create(KeyValueDataObject);\nmap1.set(\"pair-unique-id\", newPair.handle);\n\n// ...\n\nconst pairHandle = map1.get(\"pair-unique-id\"); // Get the handle\nconst pair = await map1.get(); // Resolve the handle to get the object\n\n// or\n\nconst pair = await map1.get(\"pair-unique-id\").get();\n```\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc","build:full:compile":"npm run build:compile"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.13","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.3","dependencies":{"@fluid-experimental/fluid-static":"^0.39.6","@fluidframework/container-loader":"^0.39.6","@fluidframework/driver-definitions":"^0.39.6","@fluidframework/tinylicious-driver":"^0.39.6","@fluidframework/routerlicious-driver":"^0.39.6","@fluidframework/container-definitions":"^0.39.6"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rimraf":"^2.6.2","typescript":"~4.1.3","concurrently":"^5.2.0","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.39.6_1625777351105_0.764532543442614","host":"s3://npm-registry-packages"}},"0.42.2":{"name":"@fluid-experimental/tinylicious-client","version":"0.42.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.42.2","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"f7cf6cc3ade94b9dd9dc90ff736c19ff955e0962","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.42.2.tgz","fileCount":44,"integrity":"sha512-3frF6QFONTh5PywdsPDSdSfu7pwMCN1rA6pt7/zeSZnYENpSPIfzU0hnj4D8RejmuyWa45iKWCibLtAn9cl9lg==","signatures":[{"sig":"MEYCIQCEqVoZUlzDJjlsYAWGN5VxSGvdgIIkKXPJNPl1YK3l5AIhAIKj7pAuDX3gcRPKhAyimQNlUX0/UIt4RVPALDm8uNfu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68890,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg54H8CRA9TVsSAnZWagAAvvcP/iPF0LJQzQ7Ot7g1bfWB\nupmZveAuqC1LlMPkGjthfaLaLNoe3U02i5sMBEI2dr1cPz6ypg7VPnGoZM7r\nEAwtFAiSmuQj8llse3xljymf3XV0mmfSa1IhSbvtmXazQzXRQfMwH0wZvyAe\nwXbF+2c+Cu2mjoTomXfuQR47JAfZTP6vpro3Cxclj3U0b2q+HNqsqbSupODB\nHdRo4Mma4bSoXMm2i/b+lX8RzBtiqAKu7tTfwuaWM92h/fjs94iO9EG1P/0+\nswGdBkVXdV6g2ZAtgbKJIBBjC7423mgLvpFrY/O1kBiGvjnC0tZRYcOe28Kq\nE588uTGHfIhFUVKA8nvGGzhGZ63xWSLRpQsYRuo2wYjqGIpIbyJq6H2m2ae1\noaDE8az62OGtlPDB2TfCFMZKkwuDyf2m7Rjt4tgBy/qasnPWu18JBLPdwyvb\ntQWFBjyfJR8LdTI1AKGFp11k3oXd6g2DEFe89HLkL7PAMaf4uHSMljarYKdh\n5r7bDJtVJ+y+9fnlfiCD9kP9rHBmMxLL1HZFGYrdoPWLFmafPjL0WXPQG/0G\nRDbiQelB1haUtgT2rusWw/zZMmyadJuARvpZOrNgslY6c31bJDAEfI1iaEBq\n9Y9+XDGN6TUhSJJ7vKvgT0fBYv1Qy4iEaax5gkHYDzRNvhCr/nu4NDfh4pjP\nuVdj\r\n=OS1F\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.42.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.13","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.3","dependencies":{"@fluidframework/common-utils":"^0.31.0","@fluidframework/runtime-utils":"^0.42.2","@fluidframework/container-loader":"^0.42.2","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.0","@fluidframework/tinylicious-driver":"^0.42.2","@fluid-experimental/fluid-framework":"^0.42.2","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"^0.42.2","@fluidframework/container-definitions":"^0.39.0"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","assert":"^2.0.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","@types/assert":"^1.5.2","start-server-and-test":"^1.11.7","@fluid-example/diceroller":"^0.42.2","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.42.2_1625784827565_0.5553693869768368","host":"s3://npm-registry-packages"}},"0.43.0":{"name":"@fluid-experimental/tinylicious-client","version":"0.43.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.43.0","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"162aca6846e6e5b050fd6f86e4699f20d791e7c1","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.43.0.tgz","fileCount":44,"integrity":"sha512-orHRCs4PZETohOsYFBKl3X/T6avhGYyCJSsWYXT5Dfyy+PydcO11MuufjTLHm6mTcOe4zkyg1cr4ncvBTDYMdg==","signatures":[{"sig":"MEQCIG+RL63watmlSqx8LXvzQ2cE1YdPG8cebGH6POUUYiAeAiAOdjGqMEknjlfSN10JlViF0qVZI3hzWf9bF8WulnYgjg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68892,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6KjACRA9TVsSAnZWagAA56cP/RAgz6Bu3vDMPeTn8sNa\n1oWv3fYACHUq1EkFtlzncgfmLrGhXs1OI9J5UVAeyZQ5wYazZF4lzXU1kPtk\nxPFjDbT+R9iJaefSbOdp6fdofLKN1GXirZ/sUn0zK4s5gj0Ytp7ks5phntpU\nMDhmRAeq3+SzoDFlIrI8XVv5u4ZehEnLIgU3Pz8ZnRzMPjN8nX/bP1f++XAj\ntICXf6kmtGy+ioxCOMVuPRX/0aX5C3zZToMTt4z9wfpgO9GscIZR1t9aYZ6h\n2kisiWVLSYxtGaqoFuGX7iVrdScdWEj48AaaQa1EUL8Qv1vMR3L06v34H65n\nJlvPDoULz9wLo1ZjNiTU5iEP5RAfondcSqoKZIlAbhk+KeZD6/wHNd9Uvvdg\nV26cqxWVhaf/DXkhhdUWF9UORUoJL27DXvhHn7DwQwN/O9SZzLlWEtF6zD8s\nZshd59c4tj1yNul1QyYUjfSolHJgaCBi+q5Xe5jpN46MfYOpBEybVG8eU6sT\ngTXRfBkXXS2hxKAaQJP5yZGZMYuBL8N37pmw1ZuWphg3o6pa9vBTSKn3I1sI\nQBn7KvjA7PmYVQeax7/3cBjWVaoIGA1u58RdA0eKVog4BU+MTB97AQVr5qJH\n5wzzfjIvYQtFecHmOkGaIjCGiP5D1r2oVc8YIKkcxyra6dNje3ux8mz/Tut/\naol0\r\n=sQIl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.43.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.13","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.3","dependencies":{"@fluidframework/common-utils":"^0.31.0","@fluidframework/runtime-utils":"^0.43.0","@fluidframework/container-loader":"^0.43.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.0","@fluidframework/tinylicious-driver":"^0.43.0","@fluid-experimental/fluid-framework":"^0.43.0","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"^0.43.0","@fluidframework/container-definitions":"^0.39.5"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","start-server-and-test":"^1.11.7","@fluid-example/diceroller":"^0.43.0","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.43.0_1625860288260_0.35734426844319245","host":"s3://npm-registry-packages"}},"0.42.3":{"name":"@fluid-experimental/tinylicious-client","version":"0.42.3","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.42.3","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"6b23d5894cd6e9c5a241f60248671b0dacd7b6ee","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.42.3.tgz","fileCount":44,"integrity":"sha512-maSciVR4nQHm7l/b7EhLbcuOOleK2PCifT36rTiYpLOXrrTRli48pfZW6hoDpYy3rtWkEfGdUrke0AmI1502wA==","signatures":[{"sig":"MEUCIQC9u1871MDOrpqziP0mtTA4L64Zj0RV51nLF/MaBag+rQIgDa3PRRfUhNcW2Vj8bWdVwKSUhdaP6808+kACB3BPzJk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68890,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6LgOCRA9TVsSAnZWagAAcgMP/08hIAryupt7mRAFKBsI\nanbmDpRZzOtyidd9cAbQUr4tGOZfkmsGQJdKbM7oBR7yrg1fPHEOAnb68i82\nZXrh4CBz7WHqYLHAeqEVELRJ5HJzI6lrjyiVdUjjrRWdU+9UFup5LTFPK74E\n0VjDcv7DUzT0gCTezJMPn80t50ODWvfgDMeRR6ymfZHkkdd61OrJGsu9Ef/y\n5QtYFwVYxKZOLe2v+v3WkebqPuINioxnuJM4BR/d5aUGVOzHknka9bVaYGX9\ncqyLgXRAdSJ8z400dbTWQzOxwUCcHPDewb1codiqKnbS/7OKF/uftLAO08Ho\n7Pkc2kyhpghutX3B9ihp0W7DMb5K5GWaJJKzGH4+fcs8doajiY87wOdxaHfE\nz2Hh4bkJmIUpvSHnoxRMCgC2TuJgQIVG75ILIG1SS2Mt/N1YZL2wWWr4f/Ol\nnhPhRWaCVPQcPt0qoDAvWE9Qyj8gz5zCvJ1+0Z/S2REUdG14tgNs9nx9lTOJ\n98G2R/GuZgRXifqWaF2I2yMuBMKCG/z5mZ7IeUUb+ajwrUe+t36TMnXKI7+H\nB+v+48SpxpppZqhQ52Vu5YvfbZRmVOfzucB+sJ/70lXxvbF89KYC/a5BeSx5\nKRfiHLEtqLapBDbA9w+ZBhMX77CYsOoctmeDszi4vzsu0t9QB+f8OTjhySL8\ntIQz\r\n=oUNw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.42.3.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluid-experimental/tinylicious-client\n\nThe tinylicious-client package provides a simple and powerful way to consume collaborative Fluid data with the Tinylicious service.\n\nThis package is marked as experimental and currently under development. The API surface is currently under going drastic braking changes with no guarantees on compatibility.\n\n## Using tinylicious-client\n\nThe tinylicious-client package has a default `TinyliciousClient` class that allows you to interact with Fluid.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n```\n\n## Instantiating TinyliciousClient\n\nFluid requires a backing service to enable collaborative communication. The TinyliciousClient instance will be instantitated against the Tinylicious service.\n\nIn the example below we are connecting to a locally running instance of our Tinylicious service running on port 7070 by filling out the optional `port` parameter in `TinyliciousConnectionConfig`.\n\n```javascript\nimport TinyliciousClient, { TinyliciousConnectionConfig } from \"@fluid-experimental/tinylicious-client\";\n\nconst config: TinyliciousConnectionConfig = { port: 7070 };\nconst tinyliciousClient = new TinyliciousClient(config);\n```\n\n## Fluid Containers\n\nA Container instance is a organizational unit within Fluid. Each Container instance has a connection to the defined Fluid Service and contains an independent collection of collaborative objects.\n\nContainers are created and identified by unique ids. Management and storage of these ideas are the responsibility of the developer.\n\n## Using Fluid Containers\n\nUsing the default `TinyliciousClient` object the developer can create and get Fluid containers. Because Fluid needs to be connected to a server containers need to be created and retrieved asynchronously.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n\nconst tinyliciousClient = new TinyliciousClient(config);\nawait tinyliciousClient.createContainer( { id: \"_unique-id_\" }, /* schema */);\nconst container = await tinyliciousClient.getContainer({ id: \"_unique-id_\" }, /* schema */);\n```\n\n## Defining Fluid Containers\n\nFluid Containers are defined by a schema. The schema includes initial properties of the Container as well as what collaborative objects can be dynamically created.\n\nSee [`ContainerSchema`](./src/types.ts) in [`./src/types/ts`](./src/types.ts) for details about the specific properties.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        /* ... */\n    },\n    dynamicObjectTypes: [ /*...*/ ],\n}\nconst tinyliciousClient = new TinyliciousClient();\nawait tinyliciousClient.createContainer({ id: \"_unique-id_\" }, schema);\nconst container = await tinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n```\n\n## Using initial objects\n\nThe most common way to use Fluid is through initial collaborative objects that are created when the Container is created.\n\n> Note: Collaborative objects are referred to as LoadableObjects within Fluid. LoadableObjects are specific to Fluid and expose a collaborative interface. DistributedDataStructures and DataObjects are types of LoadableObjects.\n\n`initialObjects` are loaded into memory when the Container is loaded and the developer can access them off the Container via the `initialObjects` property. The `initialObjects` property has the same signature as the Container schema.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n        pair1: KeyValueDataObject,\n    }\n}\nconst tinyliciousClient = new TinyliciousClient();\nconst container = await tinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n\nconst initialObjects = container.initialObjects;\nconst map1 = initialObjects.map1;\nconst pair1 = initialObjects[\"pair1\"];\n```\n\n## Using dynamic objects\n\nLoadableObjects can also be created dynamically during runtime. Dynamic object types need to be defined in the  `dynamicObjectTypes` property of the ContainerSchema.\n\nThe Container has a `create` method that will create a new instance of the provided type. This instance will be local to the user until attached to another LoadableObject. Dynamic objects created this way should be stored in initialObjects, which are attached when the Container is created. When storing a LoadableObject you must store a reference to the object and not the object itself. To do this use the `handle` property on the LoadableObject.\n\nDynamic objects are loaded on-demand to optimize for data virtualization. To get the LoadableObject, first get the stored handle then resolve that handle.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n    },\n    dynamicObjectTypes: [ KeyValueDataObject ],\n}\nconst tinyliciousClient = new TinyliciousClient();\nconst container = await tinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\nconst map1 = container.initialObjects.map1;\n\nconst newPair = await container.create(KeyValueDataObject);\nmap1.set(\"pair-unique-id\", newPair.handle);\n\n// ...\n\nconst pairHandle = map1.get(\"pair-unique-id\"); // Get the handle\nconst pair = await map1.get(); // Resolve the handle to get the object\n\n// or\n\nconst pair = await map1.get(\"pair-unique-id\").get();\n```\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.13","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.3","dependencies":{"@fluidframework/common-utils":"^0.31.0","@fluidframework/runtime-utils":"^0.42.3","@fluidframework/container-loader":"^0.42.3","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.0","@fluidframework/tinylicious-driver":"^0.42.3","@fluid-experimental/fluid-framework":"^0.42.3","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"^0.42.3","@fluidframework/container-definitions":"^0.39.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","assert":"^2.0.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","@types/assert":"^1.5.2","start-server-and-test":"^1.11.7","@fluid-example/diceroller":"^0.42.3","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.42.3_1625864205684_0.16693945195208348","host":"s3://npm-registry-packages"}},"0.43.1":{"name":"@fluid-experimental/tinylicious-client","version":"0.43.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.43.1","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"5e569c6af18b36308b92c4f150c995fc04102087","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.43.1.tgz","fileCount":44,"integrity":"sha512-5u+e2jwN84TRPkH3wNiKGhD6Pujby1DxbgNF4lEG362cY+hx7earLc88XbFx/g0nG9Wk9bWWONkYjstoa2ngdw==","signatures":[{"sig":"MEQCIBEdN3MbWcWXgZeOxtqbkEg3P/p0k5k0nHN6ZUdq4DrwAiAvxw3dQOCwQQZZjLoDt9zvZeMS0VVj0NDgOCOY8cv3+A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68892,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9gcaCRA9TVsSAnZWagAArA0QAIM2ejq0SgUj1nXK0VxY\nKSEfnK4ukpfoWBtpZmLqr+ZUzE7tcwApY0pjX/Rar8s9fFJJImLsZ/KrxLXL\nCT3Uic9hYhL83qxRjvMWhGu0iM2tnpOon8b4p5jUxME8sfkWvgwkqzd6/QPE\nz3DrfcBOs709JzVJAkgLX/bh2fP5+LUpbPb7aHhDmkyRaW+Rklwjm7UF3K5a\n82HXjHwktBr49MwcLxWNotDwL05W2gSHDTSiYJFcatNHQow7up2XdW5sxi6H\nizE+l8PEE/HW/yVoRUz4bTCNVKfbf7oR4t9yd764vMTJFKzMw3cJEWitG3Bn\n9GzCLngOyWdvokU2Noj5Nro8IfW7QgExP/VvIyQeJ7UlpB/HKnEbGSkbes8B\njfvLN9tRhwPrTyzzFfmAqacuJwMZ0mZjcb4eWmS+a1CVNjp1rTeAMnjwACMW\niHGejdX9yhwK+DeLiNGxK3sa+OR5+xrW3WjbTVDFMgYJQCa+6Pu4MksXqbPX\n8J6+RUP53mbYwnGc6x/dezHmzHoddDV8s8K15Sg/jVUeMjphuTcTX/kSXQCj\naBW290KwP8ZnhU/sEDRM2aKpm5cFx+eJAxulUZ+cCbIw3Dpgjq/TiE8vLmA0\ndy4CG+sL+BCjJCYJUJH6u7R2Al2/dKe2ynYTdBi7yWbG27Mf5vN6KO8rW3Y0\nRjvR\r\n=HjCx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.43.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.13","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.3","dependencies":{"@fluidframework/common-utils":"^0.31.0","@fluidframework/runtime-utils":"^0.43.1","@fluidframework/container-loader":"^0.43.1","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.0","@fluidframework/tinylicious-driver":"^0.43.1","@fluid-experimental/fluid-framework":"^0.43.1","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"^0.43.1","@fluidframework/container-definitions":"^0.39.5"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","start-server-and-test":"^1.11.7","@fluid-example/diceroller":"^0.43.1","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.43.1_1626736410483_0.21999733668937416","host":"s3://npm-registry-packages"}},"0.42.4":{"name":"@fluid-experimental/tinylicious-client","version":"0.42.4","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.42.4","maintainers":[{"name":"danroney","email":"daroney@microsoft.com"},{"name":"curtisman","email":"curtism@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"c151085af9f55ea441b11c7c68299722271c5c10","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.42.4.tgz","fileCount":44,"integrity":"sha512-j4JuqcBMrtrRGreotwh3grwA3TWO7R7k2vWdhS4or69NHpxUMFRjHi3pJKChq3IMSiPIHkg+AZko/ZqIAsMsDw==","signatures":[{"sig":"MEQCIBQF7ITIGyMitNoVuHwB7ivzCUvjftJWWWzx8xWrIjd3AiArO9yVp2SxIk4NFDwx8jcadq4jtQ8YcJH6t0jjHNiBsA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68890,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9hWKCRA9TVsSAnZWagAAtuAP/iiMgdCjM5LIiukT8kSX\nBE6fZo7a3CNx8nokxM0bMT1tOUFhP2/zKPxfbahSaI2q4GUBLuYDcttBWX8W\nlN2npFF6YRXYvJMN4RwtNFEXfybWqX+e6+8MkpPxIvitI0E7mQGBhr0yaFMU\n+m+IXIyqvFDdqK9mpl9b3vKuaoyhHRCs85KFFSdEZnnqgjnknI4AGw1uiGQT\nqD3PVKguKtVrxlPzt2Hz1ZmsfuezhxxaeGrFCbvFwQhIaP9ReYqxhkE/W9XU\nAvCwuiZjR1DbCIsUxa39Uz3ZWCQJxWejTdbNH1+TZ6FM0n9VrpJx1/bVjqLq\n+Wrg9s6H3Tdu3nQ7dGZFJwbgdpNUvazg8aokt3zLgvN4fgIzWZl545OcPCKT\nAKCjYjnN43w0i3Jarp4/fRlo8EspWT1EmfuaZon1QYUDE03SFh/NuKtNDcz1\nz5r2vMGFsObbIeXkfaHQ+Q6oV2toNRvC8nw73e7asffKDe7ocgWxJ//8UePV\ndSaXB8kRSlLKpFrPHL+muVbQ5VhW7+yZOlQl9yXmmJ/PV+feZ76lQjIUq65z\nhWDpuCtwJYw0oAcBkciXa/6nhAh4p36nwfHVY745BLdQgZCau2Kms/IZJcaF\n3duCeRaaexSk8lwfdb5re6kcTFURJUN9CEC1RjZX5sIDx6zDwMSTL9Lx8NA2\nU+jF\r\n=G66T\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.42.4.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluid-experimental/tinylicious-client\n\nThe tinylicious-client package provides a simple and powerful way to consume collaborative Fluid data with the Tinylicious service.\n\nThis package is marked as experimental and currently under development. The API surface is currently under going drastic braking changes with no guarantees on compatibility.\n\n## Using tinylicious-client\n\nThe tinylicious-client package has a default `TinyliciousClient` class that allows you to interact with Fluid.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n```\n\n## Instantiating TinyliciousClient\n\nFluid requires a backing service to enable collaborative communication. The TinyliciousClient instance will be instantitated against the Tinylicious service.\n\nIn the example below we are connecting to a locally running instance of our Tinylicious service running on port 7070 by filling out the optional `port` parameter in `TinyliciousConnectionConfig`.\n\n```javascript\nimport TinyliciousClient, { TinyliciousConnectionConfig } from \"@fluid-experimental/tinylicious-client\";\n\nconst config: TinyliciousConnectionConfig = { port: 7070 };\nconst tinyliciousClient = new TinyliciousClient(config);\n```\n\n## Fluid Containers\n\nA Container instance is a organizational unit within Fluid. Each Container instance has a connection to the defined Fluid Service and contains an independent collection of collaborative objects.\n\nContainers are created and identified by unique ids. Management and storage of these ideas are the responsibility of the developer.\n\n## Using Fluid Containers\n\nUsing the default `TinyliciousClient` object the developer can create and get Fluid containers. Because Fluid needs to be connected to a server containers need to be created and retrieved asynchronously.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n\nconst tinyliciousClient = new TinyliciousClient(config);\nawait tinyliciousClient.createContainer( { id: \"_unique-id_\" }, /* schema */);\nconst container = await tinyliciousClient.getContainer({ id: \"_unique-id_\" }, /* schema */);\n```\n\n## Defining Fluid Containers\n\nFluid Containers are defined by a schema. The schema includes initial properties of the Container as well as what collaborative objects can be dynamically created.\n\nSee [`ContainerSchema`](./src/types.ts) in [`./src/types/ts`](./src/types.ts) for details about the specific properties.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        /* ... */\n    },\n    dynamicObjectTypes: [ /*...*/ ],\n}\nconst tinyliciousClient = new TinyliciousClient();\nawait tinyliciousClient.createContainer({ id: \"_unique-id_\" }, schema);\nconst container = await tinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n```\n\n## Using initial objects\n\nThe most common way to use Fluid is through initial collaborative objects that are created when the Container is created.\n\n> Note: Collaborative objects are referred to as LoadableObjects within Fluid. LoadableObjects are specific to Fluid and expose a collaborative interface. DistributedDataStructures and DataObjects are types of LoadableObjects.\n\n`initialObjects` are loaded into memory when the Container is loaded and the developer can access them off the Container via the `initialObjects` property. The `initialObjects` property has the same signature as the Container schema.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n        pair1: KeyValueDataObject,\n    }\n}\nconst tinyliciousClient = new TinyliciousClient();\nconst container = await tinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n\nconst initialObjects = container.initialObjects;\nconst map1 = initialObjects.map1;\nconst pair1 = initialObjects[\"pair1\"];\n```\n\n## Using dynamic objects\n\nLoadableObjects can also be created dynamically during runtime. Dynamic object types need to be defined in the  `dynamicObjectTypes` property of the ContainerSchema.\n\nThe Container has a `create` method that will create a new instance of the provided type. This instance will be local to the user until attached to another LoadableObject. Dynamic objects created this way should be stored in initialObjects, which are attached when the Container is created. When storing a LoadableObject you must store a reference to the object and not the object itself. To do this use the `handle` property on the LoadableObject.\n\nDynamic objects are loaded on-demand to optimize for data virtualization. To get the LoadableObject, first get the stored handle then resolve that handle.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n    },\n    dynamicObjectTypes: [ KeyValueDataObject ],\n}\nconst tinyliciousClient = new TinyliciousClient();\nconst container = await tinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\nconst map1 = container.initialObjects.map1;\n\nconst newPair = await container.create(KeyValueDataObject);\nmap1.set(\"pair-unique-id\", newPair.handle);\n\n// ...\n\nconst pairHandle = map1.get(\"pair-unique-id\"); // Get the handle\nconst pair = await map1.get(); // Resolve the handle to get the object\n\n// or\n\nconst pair = await map1.get(\"pair-unique-id\").get();\n```\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.13","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.3","dependencies":{"@fluidframework/common-utils":"^0.31.0","@fluidframework/runtime-utils":"^0.42.4","@fluidframework/container-loader":"^0.42.4","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.0","@fluidframework/tinylicious-driver":"^0.42.4","@fluid-experimental/fluid-framework":"^0.42.4","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"^0.42.4","@fluidframework/container-definitions":"^0.39.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","assert":"^2.0.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","@types/assert":"^1.5.2","start-server-and-test":"^1.11.7","@fluid-example/diceroller":"^0.42.4","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.42.4_1626740105859_0.07528004757872342","host":"s3://npm-registry-packages"}},"0.39.7":{"name":"@fluid-experimental/tinylicious-client","version":"0.39.7","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.39.7","maintainers":[{"name":"curtisman","email":"curtism@microsoft.com"},{"name":"danroney","email":"daroney@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"0424345b05fb21704e803829950ecb77a6c98e2e","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.39.7.tgz","fileCount":35,"integrity":"sha512-OO3nJQMsyLqOScJVLI6sncMYLYMfLvLVOT3gA1FMCFkxvFLGl00e8PYeFgs8vV4ODJiUwsZWEzOvyeEJHBd29w==","signatures":[{"sig":"MEUCIEzPn34+hw1c8+Ssl8xZZvTQ8kGmMv6zIOiXfxtnWlvhAiEAxs+njHYwPKI/FK+FIuqb6nwUlesruS+Dwfk8iDtKsG0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50945,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+dAICRA9TVsSAnZWagAAMjIQAIrpsMZxj2OoEPRiep5l\nAFD8NHfqlR0gqikVWyyRS9QiqLpW8LaymMc7dSFRlnLy2wgGUza7cW9JIUq/\ntn+erVofVkzZVVvEQG7DLy3g6eexefoCNO4K3kUKPYzh7ZOjrFtAymwM1xZ6\nJMTZ1HgZEM1c2ypXBnxOSZCnvN0PFcyzAvdl+HBwZ7rPUY1UIfSJMwdKKkPN\nSOkAtQAjtWfWf2b7G4hSHFEkMU7N0O/OVgN9ca7mS7Hl9pN5aBEDTMFv/fT8\nb1KEe8NgkY7d/9VARUxjDcctnZh/2VULYdZiUDGbVdzwXr2rho0HWVBMSiLg\npmx0aHcl4MP7x4MPdaOpSxDb/1hLfZkGCq7lCDtAxGzoDd9kfV4FUbuGD32y\nGAXslfQ0GR1rNzRVu2hEv+iGiqYbymIDNLdvlohPXNk/QR/rMobg7A4GFEt4\nDlNgly2OT7r74OA+i05Hazk+W5gaSt3iUT1k/He7rcSnp33ikWE73Yzei3mg\nCJs6/NmOYMqKMZs5jeJDXPjRWUbEo2LcX86QGom0jTH3zdPArygNfOQWZAZP\nGiUVxOVH4t2nGtHT8GxaYWijT4PS0mFcJKUDwmfygBy08JcZ/kwwbVUAf0B/\nj4q99PsZJBuPMOEmHR8ohCiGaCll28ZjmrPI3tW+3abe43J/JvyEk67L1lHf\nYo/P\r\n=hPLe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.39.7.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluid-experimental/tinylicious-client\n\nThe tinylicious-client package provides a simple and powerful way to consume collaborative Fluid data with the Tinylicious service.\n\nThis package is marked as experimental and currently under development. The API surface is currently under going drastic braking changes with no guarantees on compatibility.\n\n## Using tinylicious-client\n\nThe tinylicious-client package has a default `TinyliciousClient` object that allows you to interact with Fluid.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n```\n\n## Initializing TinyliciousClient\n\nFluid requires a backing service to enable collaborative communication. The TinyliciousClient instance will be instantitated against the Tinylicious service.\n\nIn the example below we are connecting to a locally running instance of our Tinylicious service running on port 7070 by filling out the optional `port` parameter in `TinyliciousConnectionConfig`.\n\n```javascript\nimport TinyliciousClient, { TinyliciousConnectionConfig } from \"@fluid-experimental/tinylicious-client\";\n\nconst config: TinyliciousConnectionConfig = { port: 7070 };\nTinyliciousClient.init(config);\n```\n\n## Fluid Containers\n\nA Container instance is a organizational unit within Fluid. Each Container instance has a connection to the defined Fluid Service and contains an independent collection of collaborative objects.\n\nContainers are created and identified by unique ids. Management and storage of these ideas are the responsibility of the developer.\n\n## Using Fluid Containers\n\nUsing the default `TinyliciousClient` object the developer can create and get Fluid containers. Because Fluid needs to be connected to a server containers need to be created and retrieved asynchronously.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n\nawait TinyliciousClient.createContainer( { id: \"_unique-id_\" }, /* schema */);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, /* schema */);\n```\n\n## Defining Fluid Containers\n\nFluid Containers are defined by a schema. The schema includes initial properties of the Container as well as what collaborative objects can be dynamically created.\n\nSee [`ContainerSchema`](./src/types.ts) in [`./src/types/ts`](./src/types.ts) for details about the specific properties.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        /* ... */\n    },\n    dynamicObjectTypes: [ /*...*/ ],\n}\nawait TinyliciousClient.createContainer({ id: \"_unique-id_\" }, schema);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n```\n\n## Using initial objects\n\nThe most common way to use Fluid is through initial collaborative objects that are created when the Container is created.\n\n> Note: Collaborative objects are referred to as LoadableObjects within Fluid. LoadableObjects are specific to Fluid and expose a collaborative interface. DistributedDataStructures and DataObjects are types of LoadableObjects.\n\n`initialObjects` are loaded into memory when the Container is loaded and the developer can access them off the Container via the `initialObjects` property. The `initialObjects` property has the same signature as the Container schema.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n        pair1: KeyValueDataObject,\n    }\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n\nconst initialObjects = container.initialObjects;\nconst map1 = initialObjects.map1;\nconst pair1 = initialObjects[\"pair1\"];\n```\n\n## Using dynamic objects\n\nLoadableObjects can also be created dynamically during runtime. Dynamic object types need to be defined in the  `dynamicObjectTypes` property of the ContainerSchema.\n\nThe Container has a `create` method that will create a new instance of the provided type. This instance will be local to the user until attached to another LoadableObject. Dynamic objects created this way should be stored in initialObjects, which are attached when the Container is created. When storing a LoadableObject you must store a reference to the object and not the object itself. To do this use the `handle` property on the LoadableObject.\n\nDynamic objects are loaded on-demand to optimize for data virtualization. To get the LoadableObject, first get the stored handle then resolve that handle.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n    },\n    dynamicObjectTypes: [ KeyValueDataObject ],\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\nconst map1 = container.initialObjects.map1;\n\nconst newPair = await container.create(KeyValueDataObject);\nmap1.set(\"pair-unique-id\", newPair.handle);\n\n// ...\n\nconst pairHandle = map1.get(\"pair-unique-id\"); // Get the handle\nconst pair = await map1.get(); // Resolve the handle to get the object\n\n// or\n\nconst pair = await map1.get(\"pair-unique-id\").get();\n```\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc","build:full:compile":"npm run build:compile"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.13","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.3","dependencies":{"@fluid-experimental/fluid-static":"^0.39.7","@fluidframework/container-loader":"^0.39.7","@fluidframework/driver-definitions":"^0.39.7","@fluidframework/tinylicious-driver":"^0.39.7","@fluidframework/routerlicious-driver":"^0.39.7","@fluidframework/container-definitions":"^0.39.7"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rimraf":"^2.6.2","typescript":"~4.1.3","concurrently":"^5.2.0","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.39.7_1626984455865_0.22103346743609276","host":"s3://npm-registry-packages"}},"0.44.0-30858":{"name":"@fluid-experimental/tinylicious-client","version":"0.44.0-30858","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.44.0-30858","maintainers":[{"name":"curtisman","email":"curtism@microsoft.com"},{"name":"danroney","email":"daroney@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"3b4278975676624d9c3a0930e8b9d25d98e8d63b","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.44.0-30858.tgz","fileCount":44,"integrity":"sha512-2hEm23SEJ3yZXaDQ/BIthP/gsqEUr2b8RhNZdbdbBDRog0m5Cq+i/dx2s+CVZYbgC7uIX6Z0h6qR5MVd2hFtkA==","signatures":[{"sig":"MEUCIQCxF1Uc6SZ1jLQ8Dc/+JCTc7hBuhK9ujmwJ9WZEKT1pAwIgYCwtaa5Brm3UV7BR2rajlEYLZhoAbAO+fR43Hl0XvLc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":62555,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+e0bCRA9TVsSAnZWagAAHvsP/jHaBmDBm2ijvvF8GfJz\niOJC3jUPnd2zzn29yn4cY/r2085ybBtUIyt6TN/ySp0Ky8a/Z5SRG2Yo2DtC\nZ4ST68ng1CC9hIzUbA7qzzihHtbHTdmdZm48Fu/7GuQcmx6RAFovynBnsYkL\nAoyFiixIrh6SHNpbYLx1gafKOFBAjytV4cVl27G6EKIRZaYZIStsa/1jr2S8\n6PU+QkMl7s3gmG54bMU91FXzgFtqmROUDspik3kHcA8tc44N0EhfE2KoQQFu\nOrOACgvGhd5I8UEKjlGW+cBW4YK+FJgt1EyOT+N3p3SWEkrDxTdwij8Chw3a\nlWFEPJ7e+Mgl4OQUiymhkfMpZY1mjZs4ZCLAuYd+0229zSakXs+MxPUgWuNc\nYt8wGV1Uo5aBpjZ5L/lYkhAZhEkOsKnoHQab7wPl2gRmuwHTdEIvGEBYrbVs\niRHKjYe797mLp2qmaaT399qpa7+t8hh3SZl82Ch4HYtA7vdPYaKUaP8RZHMb\n0ipVSodcXmx08l0JUfsrC1vXy5iu1Ms4Lz4ELw+l5/NtM19oRc8TDq2/+1qu\nimYmgwli7yHvfc93qenQuU3B5XnHRP9/0TTVe5jIARMBW/V6Ibb+buZn6lNO\nnGymYMsvaOJxiz1xUuJokGbICoTEuKnkkP6hvz1CeXHT1hsZMtglpO1m0sow\nvnRC\r\n=AH2n\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.44.0-30858.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluid-experimental/tinylicious-client\n\nThe tinylicious-client package provides a simple and powerful way to consume collaborative Fluid data with the Tinylicious service.\n\nThis package is marked as experimental and currently under development. The API surface is currently under going drastic braking changes with no guarantees on compatibility.\n\n## Using tinylicious-client\n\nThe tinylicious-client package has a default `TinyliciousClient` class that allows you to interact with Fluid.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n```\n\n## Instantiating TinyliciousClient\n\nFluid requires a backing service to enable collaborative communication. The TinyliciousClient instance will be instantitated against the Tinylicious service.\n\nIn the example below we are connecting to a locally running instance of our Tinylicious service running on port 7070 by filling out the optional `port` parameter in `TinyliciousConnectionConfig`.\n\n```javascript\nimport TinyliciousClient, { TinyliciousConnectionConfig } from \"@fluid-experimental/tinylicious-client\";\n\nconst config: TinyliciousConnectionConfig = { port: 7070 };\nconst tinyliciousClient = new TinyliciousClient(config);\n```\n\n## Fluid Containers\n\nA Container instance is a organizational unit within Fluid. Each Container instance has a connection to the defined Fluid Service and contains an independent collection of collaborative objects.\n\nContainers are created and identified by unique ids. Management and storage of these ideas are the responsibility of the developer.\n\n## Using Fluid Containers\n\nUsing the default `TinyliciousClient` object the developer can create and get Fluid containers. Because Fluid needs to be connected to a server containers need to be created and retrieved asynchronously.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n\nconst tinyliciousClient = new TinyliciousClient(config);\nawait tinyliciousClient.createContainer( { id: \"_unique-id_\" }, /* schema */);\nconst { fluidContainer, containerServices } = await tinyliciousClient.getContainer({ id: \"_unique-id_\" }, /* schema */);\n```\n\n## Defining Fluid Containers\n\nFluid Containers are defined by a schema. The schema includes initial properties of the Container as well as what collaborative objects can be dynamically created.\n\nSee [`ContainerSchema`](./src/types.ts) in [`./src/types/ts`](./src/types.ts) for details about the specific properties.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        /* ... */\n    },\n    dynamicObjectTypes: [ /*...*/ ],\n}\nconst tinyliciousClient = new TinyliciousClient();\nawait tinyliciousClient.createContainer({ id: \"_unique-id_\" }, schema);\nconst { fluidContainer, containerServices } = await tinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n```\n\n## Using initial objects\n\nThe most common way to use Fluid is through initial collaborative objects that are created when the Container is created.\n\n> Note: Collaborative objects are referred to as LoadableObjects within Fluid. LoadableObjects are specific to Fluid and expose a collaborative interface. DistributedDataStructures and DataObjects are types of LoadableObjects.\n\n`initialObjects` are loaded into memory when the Container is loaded and the developer can access them off the Container via the `initialObjects` property. The `initialObjects` property has the same signature as the Container schema.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n        pair1: KeyValueDataObject,\n    }\n}\nconst tinyliciousClient = new TinyliciousClient();\nconst { fluidContainer, containerServices } = await tinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n\nconst initialObjects = container.initialObjects;\nconst map1 = initialObjects.map1;\nconst pair1 = initialObjects[\"pair1\"];\n```\n\n## Using dynamic objects\n\nLoadableObjects can also be created dynamically during runtime. Dynamic object types need to be defined in the  `dynamicObjectTypes` property of the ContainerSchema.\n\nThe Container has a `create` method that will create a new instance of the provided type. This instance will be local to the user until attached to another LoadableObject. Dynamic objects created this way should be stored in initialObjects, which are attached when the Container is created. When storing a LoadableObject you must store a reference to the object and not the object itself. To do this use the `handle` property on the LoadableObject.\n\nDynamic objects are loaded on-demand to optimize for data virtualization. To get the LoadableObject, first get the stored handle then resolve that handle.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n    },\n    dynamicObjectTypes: [ KeyValueDataObject ],\n}\nconst tinyliciousClient = new TinyliciousClient();\nconst { fluidContainer, containerServices } = await tinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\nconst map1 = container.initialObjects.map1;\n\nconst newPair = await container.create(KeyValueDataObject);\nmap1.set(\"pair-unique-id\", newPair.handle);\n\n// ...\n\nconst pairHandle = map1.get(\"pair-unique-id\"); // Get the handle\nconst pair = await map1.get(); // Resolve the handle to get the object\n\n// or\n\nconst pair = await map1.get(\"pair-unique-id\").get();\n```\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.13","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.3","dependencies":{"@fluidframework/common-utils":"^0.31.0","@fluidframework/runtime-utils":"0.44.0-30858","@fluidframework/container-loader":"0.44.0-30858","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.6","@fluidframework/tinylicious-driver":"0.44.0-30858","@fluid-experimental/fluid-framework":"0.44.0-30858","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"0.44.0-30858","@fluidframework/container-definitions":"^0.39.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","start-server-and-test":"^1.11.7","@microsoft/api-extractor":"^7.16.1","@fluid-example/diceroller":"0.44.0-30858","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.44.0-30858_1626991899473_0.32993660486061205","host":"s3://npm-registry-packages"}},"0.44.0":{"name":"@fluid-experimental/tinylicious-client","version":"0.44.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.44.0","maintainers":[{"name":"curtisman","email":"curtism@microsoft.com"},{"name":"danroney","email":"daroney@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"77d5b33b290ac27a94a3ac6fdd8bbb4638012dac","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.44.0.tgz","fileCount":44,"integrity":"sha512-CevGTt52EpZ/J4UgFk7m0i2Cp4xJdmWeYg1q8zFVGnA1hNFXJqZySYvCpRcuuy46cKW5GTir1ZZkadLJHL8gMw==","signatures":[{"sig":"MEQCIEYWo+/am4opbAO9NuPF4ITnXG6kuqOHjY/S0GfVfr9hAiARXoj40TpjdlNnnjMO5q5Yurd0ZGQSYk4aa1Q0yle6kQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":62519,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+hxUCRA9TVsSAnZWagAA+dcQAIiXxmvIvdbSL203PNVR\nmUv0mBk4RYZusYzuM2hUQqRNulTEuHb6maOUMlRulT+HqhXMQBTOM5aBDjBW\nnf5/2xnyUE9SEq+Zimt0nGtY2P5+qE8RcebxrQZlb7Wh0Z71rsoA/aCr9BWQ\ngGIKS2th0Ddy74dcCsnwFvBfvAv9JvFbODIrkd/X34VIgcrI8W1ow4IrUNt6\ncNgzc/uLS4SxE/c0ZjEQK9pIEFKV8snRzqKwishB2Sd/z/t14doT7puakA3h\naWbDMTA3Gz2M3o7n8fbEGTvKCCksB4JYwcQCSn/eGYfgrx7a5ubO1vMFMzCi\nS0heYWhHiiHGVwOd/CoXB3FgC9teINriEpn1olAfMvn6LY40D3++pu4ofZ1c\n3Q3b9PPnl+aSlKk4ngwDz2e9VS92/TJhZMpBeMLz43+08ycfrTFmFXiABecL\nltNIU1LMwmeexboFJV4ImwGOXocmGCC5dQMAbHqHXlfdqi4N/ro6CIUuzU5B\nju8ZyRDoP94MzbVBuXOVTfPqIOZ1hz627zCFEZX9vnwgm/6W02na960+LXYt\nItNMcarAklm8j4EtYR5T2wQkQp5L8MEyKIMiee+mTFR6xiV3rYxwVuj8+PHU\n8ngw5MF6FCbpZeJ88M9WumXFv5Jp1kKLJYBYBsm64f5WBz0Yn5ceANw+HnCh\ngYeU\r\n=BIBo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.44.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.13","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.3","dependencies":{"@fluidframework/common-utils":"^0.31.0","@fluidframework/runtime-utils":"^0.44.0","@fluidframework/container-loader":"^0.44.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.6","@fluidframework/tinylicious-driver":"^0.44.0","@fluid-experimental/fluid-framework":"^0.44.0","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"^0.44.0","@fluidframework/container-definitions":"^0.39.5"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","start-server-and-test":"^1.11.7","@microsoft/api-extractor":"^7.16.1","@fluid-example/diceroller":"^0.44.0","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.44.0_1627003988026_0.5812834355206307","host":"s3://npm-registry-packages"}},"0.39.8":{"name":"@fluid-experimental/tinylicious-client","version":"0.39.8","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.39.8","maintainers":[{"name":"curtisman","email":"curtism@microsoft.com"},{"name":"danroney","email":"daroney@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"7b312a19fffc3b9eb0daf87ead11dc0e7d49c76f","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.39.8.tgz","fileCount":35,"integrity":"sha512-4Ofubyylorog3tnLhKZF1P31XwHl+ZzE6/YUKIUfY4fpUGEerkOSyP6h37BhZWefaBWq/WK7rEYagBC+o+kvlA==","signatures":[{"sig":"MEUCIFJKbo7ZSbhxS7vxxj2Wvp/Afh29HRgg/JH8fW/W62NLAiEAlTyCbIRaboKTBK5xdPsKgJM2Hf7xq/ynga+pogK9alw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50945,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/y3aCRA9TVsSAnZWagAAPIQP/15YFbUXa4PugS9eieJI\nB5/VljB6MND2xptgU2riGA7ija9a8mf3+EATUmM+tItpsorzOWvU4zi6m8+A\nnn9PF7+yqEznTaWu+EtUVYVhAv7YnLcQ9NORlWXr7wD3WRPitk5B57Q8/m/f\n2rR10EgiQZuxUb1yx5PQnwv++oJRNDvtr/X0Juje1PMs+lkLzhR3xJb9iUxN\nmNxSvm6hDFOpZqIsPH5YMds0/DnstKy5wzNyMBgcbLMUqUmq3DUtNxgpOFIL\ncCN3xUvIU7EuhcFThvPqsxQTOczt1I5KOcnZ+v0YHg4QhJj1JbvvRdXhp9Nr\nlNygZQR2YvOv1RbEhgy0oc1MD07R7InM3UW5mtipWkHDzFrmoR8i36mkH9T1\nz4d4gLyejOGxFAYYs+3zgQBc1r40yVxdeTVMHIYxI5XeCy+6j2UqSuXALFpg\n4ONyFfJ2Ji5CTj/VXxlSxSnHGSYkMDl5GMgI6d3nVgoNuYwU377HrNr62jGn\nFMpygAR1Xqw6fGpFrVvaKPg3Es0pbJ6fGHqtjPaio7RXYKX4BvSj4GSxMiRG\nhiEZd5zSuXA6WoUkHBGRMLdRpyNW0DX1CZt1u04mEOXgpZfzwHBi+l4uCMbi\nrntNYIxHs8WNAY922QPzcmOQlR3rJJUajbKKzdTU6vtdngXO8LDP/3Gpo6fn\nPvQK\r\n=wmQ7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.39.8.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluid-experimental/tinylicious-client\n\nThe tinylicious-client package provides a simple and powerful way to consume collaborative Fluid data with the Tinylicious service.\n\nThis package is marked as experimental and currently under development. The API surface is currently under going drastic braking changes with no guarantees on compatibility.\n\n## Using tinylicious-client\n\nThe tinylicious-client package has a default `TinyliciousClient` object that allows you to interact with Fluid.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n```\n\n## Initializing TinyliciousClient\n\nFluid requires a backing service to enable collaborative communication. The TinyliciousClient instance will be instantitated against the Tinylicious service.\n\nIn the example below we are connecting to a locally running instance of our Tinylicious service running on port 7070 by filling out the optional `port` parameter in `TinyliciousConnectionConfig`.\n\n```javascript\nimport TinyliciousClient, { TinyliciousConnectionConfig } from \"@fluid-experimental/tinylicious-client\";\n\nconst config: TinyliciousConnectionConfig = { port: 7070 };\nTinyliciousClient.init(config);\n```\n\n## Fluid Containers\n\nA Container instance is a organizational unit within Fluid. Each Container instance has a connection to the defined Fluid Service and contains an independent collection of collaborative objects.\n\nContainers are created and identified by unique ids. Management and storage of these ideas are the responsibility of the developer.\n\n## Using Fluid Containers\n\nUsing the default `TinyliciousClient` object the developer can create and get Fluid containers. Because Fluid needs to be connected to a server containers need to be created and retrieved asynchronously.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n\nawait TinyliciousClient.createContainer( { id: \"_unique-id_\" }, /* schema */);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, /* schema */);\n```\n\n## Defining Fluid Containers\n\nFluid Containers are defined by a schema. The schema includes initial properties of the Container as well as what collaborative objects can be dynamically created.\n\nSee [`ContainerSchema`](./src/types.ts) in [`./src/types/ts`](./src/types.ts) for details about the specific properties.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        /* ... */\n    },\n    dynamicObjectTypes: [ /*...*/ ],\n}\nawait TinyliciousClient.createContainer({ id: \"_unique-id_\" }, schema);\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n```\n\n## Using initial objects\n\nThe most common way to use Fluid is through initial collaborative objects that are created when the Container is created.\n\n> Note: Collaborative objects are referred to as LoadableObjects within Fluid. LoadableObjects are specific to Fluid and expose a collaborative interface. DistributedDataStructures and DataObjects are types of LoadableObjects.\n\n`initialObjects` are loaded into memory when the Container is loaded and the developer can access them off the Container via the `initialObjects` property. The `initialObjects` property has the same signature as the Container schema.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n        pair1: KeyValueDataObject,\n    }\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n\nconst initialObjects = container.initialObjects;\nconst map1 = initialObjects.map1;\nconst pair1 = initialObjects[\"pair1\"];\n```\n\n## Using dynamic objects\n\nLoadableObjects can also be created dynamically during runtime. Dynamic object types need to be defined in the  `dynamicObjectTypes` property of the ContainerSchema.\n\nThe Container has a `create` method that will create a new instance of the provided type. This instance will be local to the user until attached to another LoadableObject. Dynamic objects created this way should be stored in initialObjects, which are attached when the Container is created. When storing a LoadableObject you must store a reference to the object and not the object itself. To do this use the `handle` property on the LoadableObject.\n\nDynamic objects are loaded on-demand to optimize for data virtualization. To get the LoadableObject, first get the stored handle then resolve that handle.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n    },\n    dynamicObjectTypes: [ KeyValueDataObject ],\n}\n\nconst container = await TinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\nconst map1 = container.initialObjects.map1;\n\nconst newPair = await container.create(KeyValueDataObject);\nmap1.set(\"pair-unique-id\", newPair.handle);\n\n// ...\n\nconst pairHandle = map1.get(\"pair-unique-id\"); // Get the handle\nconst pair = await map1.get(); // Resolve the handle to get the object\n\n// or\n\nconst pair = await map1.get(\"pair-unique-id\").get();\n```\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:full":"npm run build","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","build:compile":"concurrently npm:build:commonjs npm:build:esnext","build:commonjs":"npm run tsc","build:full:compile":"npm run build:compile"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.13","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.3","dependencies":{"@fluid-experimental/fluid-static":"^0.39.8","@fluidframework/container-loader":"^0.39.8","@fluidframework/driver-definitions":"^0.39.8","@fluidframework/tinylicious-driver":"^0.39.8","@fluidframework/routerlicious-driver":"^0.39.8","@fluidframework/container-definitions":"^0.39.8"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rimraf":"^2.6.2","typescript":"~4.1.3","concurrently":"^5.2.0","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.39.8_1627336154800_0.942598010564925","host":"s3://npm-registry-packages"}},"0.44.1":{"name":"@fluid-experimental/tinylicious-client","version":"0.44.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.44.1","maintainers":[{"name":"curtisman","email":"curtism@microsoft.com"},{"name":"danroney","email":"daroney@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"56a22ec21e45b1b397577d2f720b609209e75405","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.44.1.tgz","fileCount":44,"integrity":"sha512-0bmK1EhiwiHnOFlA4iOarq/5w2SlBxZJqKQNfec/kgKSKQLhT1UMN/mnMxzQvCKdKwdlvbUbXAQDLlz7FLZ3FQ==","signatures":[{"sig":"MEUCIQCV5XqCvLOzG36++yfy03xrFFkHbTc/cpSdnCCRnA1YzgIgBtdhY2iAFvAMI6rk4BVPTkzJhaPPkgL8TAlBObynAl4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":62519,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCeVBCRA9TVsSAnZWagAAAfsP/jexkXESGOV8ygAsKRDe\nQpZaqEPOqdxuFIDcCJVjE4AMsZ0dLj0pUqybpwB/DKPPakjC8d3VTLU8NxCj\n5dAtKL36d8UOf1zRcCFPyJGFDJoV1c3yNhzNLDwsexSuqwaoY2Q8YSAnRcXx\nFWq8mV7cmF1n/mBXGqpa6vrGDXwcTOyUxrueNtS7SOXVWuBHb3bijzMcpW4W\nRN1oRWB6fEgcpCKoEw/9R0rxWaz3SMESyDdEewQIqFIMGIZ59ud8bl4uK3cC\nDu4vJFdz+1wyS7IAldq+WMxiYM1lGociaJUd7SBp2j1gqIo5jLXUqmxFdI+v\nGVvC9JcGhO5Nm7L94KDO/khF1kdcAYFhTtN3XTeai+0S1IjnBPcJswApfSm/\n+nTQCsW+I/R1A7Pd43JkrvHODEOBYhUQ0UrE3YnkPfLWn895r66U550AkVws\nAYQJKgupolF1lK5NaHLuYxMKKYHZcyabI1//XQzdttX7eco3xhFETZ4r75Y7\ntT847wpBC2eROXWeraJC3+GH9D07h0+eTOZV5gviQYaAxSHyUpkWbHC/6Dn6\npTkG5ZppYYCxuzVCP651iZ8yPy0PwgGoGuRfzZpLWZ92IvcldiUdC81cvgwD\n7v1ABg02fHVl7PIRLJgitgq1cbxMz/r5Py285quWMux/QulE4LbtUg4Miev/\nf7t7\r\n=76Bh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.44.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.14","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.4","dependencies":{"@fluidframework/common-utils":"^0.31.0","@fluidframework/runtime-utils":"^0.44.1","@fluidframework/container-loader":"^0.44.1","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.6","@fluidframework/tinylicious-driver":"^0.44.1","@fluid-experimental/fluid-framework":"^0.44.1","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"^0.44.1","@fluidframework/container-definitions":"^0.39.5"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","start-server-and-test":"^1.11.7","@microsoft/api-extractor":"^7.16.1","@fluid-example/diceroller":"^0.44.1","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.44.1_1628038465546_0.7227901342033147","host":"s3://npm-registry-packages"}},"0.45.0-32948":{"name":"@fluid-experimental/tinylicious-client","version":"0.45.0-32948","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.45.0-32948","maintainers":[{"name":"curtisman","email":"curtism@microsoft.com"},{"name":"danroney","email":"daroney@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"02e90e46a50993f9272a4071dd9c61e3704c93d3","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.45.0-32948.tgz","fileCount":44,"integrity":"sha512-0jPUq5r2L4MPojwtrvXjGbWQnD9rALbwTO86FMkhkzMQocqprAkcvEzygwGaP02hMhBTRMrJed/4iTjBc65uIA==","signatures":[{"sig":"MEQCIGlEJBX/zMeTUUOe+Z2remdCXQ4JH/nEqV71jy7iK39qAiBxlLQgCNsfpY+i95ijPfMxZs5PKohSHs7EDxDRA7w7QA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":62677,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDZBOCRA9TVsSAnZWagAAMk0P/3m5z9pcM/AnvNh1J/Jr\nKP/Gh1jRXdd2+Tco5kyBH+AHsd8xjyu31nuX4gsMw3Ik+4HkJHw54ZLJtmBL\nr1A3tDc76ebFHn2F8MbXZPXWW0o3ZVIBjX0vbCB73lzlauQ0QSSikZ+10RUo\nY5OMuJlb0HvfjAevM5frmvdoqzRia2GXfqaiMbMEVolXpOkpXL7JqzrZ+qAW\n9vWcCba/o2kr8F0LnUhOp3L0HKThvV8UWLJIFvxYOjSzoNexyXHMueMJoxO6\nGF2v2oKQYhNdpI+FaLNh+FWTmjpzpQ1omqXplH3phzSl0K4DiSQNzuyoAGYZ\noE3qXKqlFE+6GhBh+yl+UpCdiI5lna45pwadIqRqnzU4dbP2iC/0Up8+1x6u\nWLJvDg8N0jpLgWDNUtvfUHqf7cKJxxx3UsaO7GA00z7gnl4ofw0v6AdSd405\n4XvpG6KO+O6ApL8+7bHJ5xPMXRix5RT1xGjAFBBLZ8r+FIm5pZjoNH/UNKoQ\n+bYbCu9R50eAK4nwKNLkCEInoq0vJkn//ZoHH6m0NYOKR6a6TQ05GbXz3ram\niuzP8yZagNV0RpaxkDyR3amTa7zSG0jhwUyTXSbvDkBjceh/XwRfILuTKmCk\n7+T5rZkgAM6irn8fKFTd3My9w8FP8Y4vzSO6UR9Mx4n9slLs8oVyPJcO/WkB\nCMaq\r\n=uAyH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.45.0-32948.tgz","types":"dist/index.d.ts","module":"lib/index.js","readme":"# @fluid-experimental/tinylicious-client\n\nThe tinylicious-client package provides a simple and powerful way to consume collaborative Fluid data with the Tinylicious service.\n\nThis package is marked as experimental and currently under development. The API surface is currently under going drastic braking changes with no guarantees on compatibility.\n\n## Using tinylicious-client\n\nThe tinylicious-client package has a default `TinyliciousClient` class that allows you to interact with Fluid.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n```\n\n## Instantiating TinyliciousClient\n\nFluid requires a backing service to enable collaborative communication. The TinyliciousClient instance will be instantitated against the Tinylicious service.\n\nIn the example below we are connecting to a locally running instance of our Tinylicious service running on port 7070 by filling out the optional `port` parameter in `TinyliciousConnectionConfig`.\n\n```javascript\nimport TinyliciousClient, { TinyliciousConnectionConfig } from \"@fluid-experimental/tinylicious-client\";\n\nconst config: TinyliciousConnectionConfig = { port: 7070 };\nconst tinyliciousClient = new TinyliciousClient(config);\n```\n\n## Fluid Containers\n\nA Container instance is a organizational unit within Fluid. Each Container instance has a connection to the defined Fluid Service and contains an independent collection of collaborative objects.\n\nContainers are created and identified by unique ids. Management and storage of these ideas are the responsibility of the developer.\n\n## Using Fluid Containers\n\nUsing the default `TinyliciousClient` object the developer can create and get Fluid containers. Because Fluid needs to be connected to a server containers need to be created and retrieved asynchronously.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n\nconst tinyliciousClient = new TinyliciousClient(config);\nawait tinyliciousClient.createContainer( { id: \"_unique-id_\" }, /* schema */);\nconst { fluidContainer, containerServices } = await tinyliciousClient.getContainer({ id: \"_unique-id_\" }, /* schema */);\n```\n\n## Defining Fluid Containers\n\nFluid Containers are defined by a schema. The schema includes initial properties of the Container as well as what collaborative objects can be dynamically created.\n\nSee [`ContainerSchema`](./src/types.ts) in [`./src/types/ts`](./src/types.ts) for details about the specific properties.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        /* ... */\n    },\n    dynamicObjectTypes: [ /*...*/ ],\n}\nconst tinyliciousClient = new TinyliciousClient();\nawait tinyliciousClient.createContainer({ id: \"_unique-id_\" }, schema);\nconst { fluidContainer, containerServices } = await tinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n```\n\n## Using initial objects\n\nThe most common way to use Fluid is through initial collaborative objects that are created when the Container is created.\n\n> Note: Collaborative objects are referred to as LoadableObjects within Fluid. LoadableObjects are specific to Fluid and expose a collaborative interface. DistributedDataStructures and DataObjects are types of LoadableObjects.\n\n`initialObjects` are loaded into memory when the Container is loaded and the developer can access them off the Container via the `initialObjects` property. The `initialObjects` property has the same signature as the Container schema.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n        pair1: KeyValueDataObject,\n    }\n}\nconst tinyliciousClient = new TinyliciousClient();\nconst { fluidContainer, containerServices } = await tinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n\nconst initialObjects = container.initialObjects;\nconst map1 = initialObjects.map1;\nconst pair1 = initialObjects[\"pair1\"];\n```\n\n## Using dynamic objects\n\nLoadableObjects can also be created dynamically during runtime. Dynamic object types need to be defined in the  `dynamicObjectTypes` property of the ContainerSchema.\n\nThe Container has a `create` method that will create a new instance of the provided type. This instance will be local to the user until attached to another LoadableObject. Dynamic objects created this way should be stored in initialObjects, which are attached when the Container is created. When storing a LoadableObject you must store a reference to the object and not the object itself. To do this use the `handle` property on the LoadableObject.\n\nDynamic objects are loaded on-demand to optimize for data virtualization. To get the LoadableObject, first get the stored handle then resolve that handle.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n    },\n    dynamicObjectTypes: [ KeyValueDataObject ],\n}\nconst tinyliciousClient = new TinyliciousClient();\nconst { fluidContainer, containerServices } = await tinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\nconst map1 = container.initialObjects.map1;\n\nconst newPair = await container.create(KeyValueDataObject);\nmap1.set(\"pair-unique-id\", newPair.handle);\n\n// ...\n\nconst pairHandle = map1.get(\"pair-unique-id\"); // Get the handle\nconst pair = await map1.get(); // Resolve the handle to get the object\n\n// or\n\nconst pair = await map1.get(\"pair-unique-id\").get();\n```\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.14","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.4","dependencies":{"@fluidframework/common-utils":"^0.32.0-0","@fluidframework/runtime-utils":"0.45.0-32948","@fluidframework/container-loader":"0.45.0-32948","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.6","@fluidframework/tinylicious-driver":"0.45.0-32948","@fluid-experimental/fluid-framework":"0.45.0-32948","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"0.45.0-32948","@fluidframework/container-definitions":"^0.39.8"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","start-server-and-test":"^1.11.7","@microsoft/api-extractor":"^7.16.1","@fluid-example/diceroller":"0.45.0-32948","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.45.0-32948_1628278862155_0.0997901860360122","host":"s3://npm-registry-packages"}},"0.45.0":{"name":"@fluid-experimental/tinylicious-client","version":"0.45.0","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.45.0","maintainers":[{"name":"curtisman","email":"curtism@microsoft.com"},{"name":"danroney","email":"daroney@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"b1f377631a6efb123101d89b8d5c31779a27fa37","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.45.0.tgz","fileCount":44,"integrity":"sha512-Yrn3L8OQUw5H0O6fkI+I+8ZlgFxzGL74bVIzpOkdVy2atuUcJDcDe9l+FlDjxilZwpbBhCeQu8Ombc2UGdO4hw==","signatures":[{"sig":"MEYCIQCtzUeJ2gXiIuad+gqaZyYJTRj6O8roQN75zW9h4ycTkAIhAP2eYGW0cPneql7Zj1AsqmiK+47ny9gnBZ7hN0ZNwdWC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":62639,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDcQzCRA9TVsSAnZWagAA+/IP/iAt3x1jzbOgln+utcNY\nNI3JO3ThghllHz8H86cSs4rDTIMUhnyhTZqtHbB06vAraBUODS87wgzyjA++\nCaia9iJrBmQtPP7QvqaJRLIZt4sATJ596WZ792HnV8o1EkejgLxoaLSd0nZz\nmdC3zhau+LAFw+HfRep3vt7fLuojRGd8Nx8g9xlatvcTIIb/7sV8MprKHRzr\nZ0+XQR2zAbNrpn8Pcc68htsoC5aH29AK+gkDzxJocQdJLRg6laf2edPTRxyE\nf/Vc+K07FRnqvXNuBKby1MqDIWx3aWpPvqRfdcRgZQQUs5GhEadwV5oB0Xgg\nmFP0Xf5IzFbjfboT686GV4G16EBOTU5w9KsasdcUnvIFOCi4HUyEimghN8DA\nNYN3RJaA9V1UbPtFyI9MYmZo9z/82Fb8ro/iX7Mu4m2Q0SbnyqhdOpHPKjw3\n2h+jrba66mQsx1qZl8idcZNUHr1vXuUs6Q0pkv5PZ9wX8pZ1shJ+VJh3Qus7\nUqjA6doeskV2dg/UcXCnHnDvd7QjKfzto+rKOLFGkpsSWNH3AYpwvPgmic04\nToMzaDJj2ZLom5UJL6b7PejsyFoi6EUmM989tAjd743wvbZEUff9HyFvwzPv\nyx68T9UmRsoRBMKBZrrHQe+Yq1mtYoeCBp99Qo1+vOFuvynS9L/aIhAXL3iu\nmT7q\r\n=asJh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.45.0.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.14","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.4","dependencies":{"@fluidframework/common-utils":"^0.32.0","@fluidframework/runtime-utils":"^0.45.0","@fluidframework/container-loader":"^0.45.0","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.6","@fluidframework/tinylicious-driver":"^0.45.0","@fluid-experimental/fluid-framework":"^0.45.0","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"^0.45.0","@fluidframework/container-definitions":"^0.39.8"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","start-server-and-test":"^1.11.7","@microsoft/api-extractor":"^7.16.1","@fluid-example/diceroller":"^0.45.0","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.45.0_1628292147097_0.9320278476778223","host":"s3://npm-registry-packages"}},"0.45.1":{"name":"@fluid-experimental/tinylicious-client","version":"0.45.1","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.45.1","maintainers":[{"name":"curtisman","email":"curtism@microsoft.com"},{"name":"danroney","email":"daroney@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"6eca00a77e919a4bd1bba94839ee9728563a2725","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.45.1.tgz","fileCount":44,"integrity":"sha512-/F4K6WSpeg17reYNRaTkRJP+oollM6oCPT/RqMkv8wOX6tqQvm96yExeG+Szs9vckrq2JDJx7v5tMapkoibbMA==","signatures":[{"sig":"MEUCIFvKoDPhmx4dsW7NtkxxdbKOnxZmrnAh6TTvPQVY8Y6fAiEAgPHYd/U3ULdkifjpVjXpAJ2ae/arjGV7UB9hZdiCPm0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":62639,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEdWMCRA9TVsSAnZWagAArwwP/2seXCnVn0LCybl7fySg\nar36ZdPjJVBImoxb+apP7cp+6+r/PCtSihCR4gZWjwTurD/Djql1i4m5L1m8\n6kFRne8vkWYbQIXUI43AnRjbUdGsPH6o1P41RaY1DsB/BgijGOUQb7j4Fltm\nHy3w6FG4e8sRakckhynV6TwOBIUvE7QIkQ2AlyPsflJ9JvwuKBgYI2gedMlg\nDBuKA4fXqEN0O+I6nBaPWZfQrg3SHL3k9aa8vHqxoQusTZ+M5IuyxOE4xxGd\n1WEhJQBKp6CRsffoYoB9bSWbE/FQ6c6mobh63+5INJdBh8JMYTH3pWKkl6jl\nSHhscXFUJvjoT+5HIJQmkQFY5b538A/gTrsdPUy+R1bWWeSL9/z5sm2vbdGR\niX8sDTXLmaR4u8+38u5jkxEMulRdgqDI5wcy9zG1bdLd/K1E/yINQJvRCa7y\nt+nZg/HpY6OF6IoYXhzKDnnPOTSk/kuxWvjRaqxXGjtE5VpQnI68dlCihjLc\nBPx4Uiy8Lo8BQdJ5zH6YDvN9orzHwoQkx3wEwgRnfnCEm0MAJGd1IsIrP5m4\nANB4KycEWqNp23CvL2h2WDwtUblrkAy4wea1jEATdf18TPvgFxx70oRLWsmR\nG7LSr78Iy3VQB6jHGtDTcq1mh00pUZvQz4bqs/zge1clLC4hLR3OXkBHervj\nkG2k\r\n=9hT4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.45.1.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.14","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.4","dependencies":{"@fluidframework/common-utils":"^0.32.1","@fluidframework/runtime-utils":"^0.45.1","@fluidframework/container-loader":"^0.45.1","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.6","@fluidframework/tinylicious-driver":"^0.45.1","@fluid-experimental/fluid-framework":"^0.45.1","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"^0.45.1","@fluidframework/container-definitions":"^0.39.8"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","start-server-and-test":"^1.11.7","@microsoft/api-extractor":"^7.16.1","@fluid-example/diceroller":"^0.45.1","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.45.1_1628558732765_0.5562467308670265","host":"s3://npm-registry-packages"}},"0.45.2":{"name":"@fluid-experimental/tinylicious-client","version":"0.45.2","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.45.2","maintainers":[{"name":"curtisman","email":"curtism@microsoft.com"},{"name":"danroney","email":"daroney@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"45ee81461d4377577a133b2929d0eeb380a90bf4","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.45.2.tgz","fileCount":44,"integrity":"sha512-cRKunlV0DTpBvTW5ZeRr/2u/ttnOYMPEwl6Qmkx9A3RySZpwqp/RqMfwA7PDRKqLXSvdjFGDOBrZGE+laDAWoQ==","signatures":[{"sig":"MEMCH1UEJwx7vlejyKyVFQ1+THIl6WfaPKgrY5awpF/Ru08CIGO9SNmOVl2A0E3uDxR3WfP6EgAgFXaQNhUVZLhQAm33","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":62639,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFEjYCRA9TVsSAnZWagAAJtsP/2pJnKbwBj4cpZBoqbTe\nm91iwf/3Gfbp2F4GWwXqWuX7yWo3Rc5L6MlhfuNHMWRUv/TddW+XMT/p9Cei\nqkLMPQYAmPYtFE7JtwBh7PT5GK44y0JmefPAvcqWz3O611ozDxTrcfkkHQ9L\ngjeBlZxZ2q6nC8RG5yLAnSh3mMeq8QI/Cf9L8sddERQphnjUbflblRGOqviX\neadoDKtciW8A1YW0W6o2MqNJagb9KpgFWMS+BTG+CTjCgsqIeMwCls/203+0\ncu/kt3inFXNPA8kmnFpZ/aPQ2M4YQZErEUeJteCFgmGJpYA5rHwzwI1/RkLG\nh/vVmMieVQTF0bjK9g8CqAKegnQqv+QdcJ3hdspvk+t+b4sySolJd8sAqZVz\nGB7qQsKYnmn4UAqudeiddQgeeaugSsJvswzbtbwHH3cgOlRkEB+LtauOftfn\n+gEChqyFIYDYjznWw5UsSX4GizXsyTlqQyWezN8TcHv/v1iOuJ8mksiDbfmi\nSou+OVu9pGl2bMSYNigJWCILCsHDvi9cTiWv1smsPJECSEBleYfxBq0B6Acz\nNEn/VSrORai4NRsxdr7e2Ubl50ash7LPpGvzw112azJDjf3q8Yz4WOQUQMyw\nXthtVWg8rq4p+FLfv1VpSFzZDWRAUhxH/Uwi2qLPc9vkkQXE+Wn7kBJJgg73\npemV\r\n=I29l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.45.2.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.14","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.5","dependencies":{"@fluidframework/common-utils":"^0.32.1","@fluidframework/runtime-utils":"^0.45.2","@fluidframework/container-loader":"^0.45.2","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.6","@fluidframework/tinylicious-driver":"^0.45.2","@fluid-experimental/fluid-framework":"^0.45.2","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"^0.45.2","@fluidframework/container-definitions":"^0.39.8"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","start-server-and-test":"^1.11.7","@microsoft/api-extractor":"^7.16.1","@fluid-example/diceroller":"^0.45.2","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.45.2_1628719320269_0.15341220040935077","host":"s3://npm-registry-packages"}},"0.45.3":{"name":"@fluid-experimental/tinylicious-client","version":"0.45.3","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.45.3","maintainers":[{"name":"curtisman","email":"curtism@microsoft.com"},{"name":"danroney","email":"daroney@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"9638f49fdb51b870b75562ef23e39bb9e074fb29","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.45.3.tgz","fileCount":44,"integrity":"sha512-ih4hOEwauutbYTNtLFFgWwsH8VBkUq0DRYuODPRC8mmu++aWwZ7bZ8hwhWXCN7j+MIGGkP/0lYLLSKZdhHmNlA==","signatures":[{"sig":"MEUCIGjTeGfLF/dpVRzXXHV5jZWwHGqPb4R9yondtnP24jdNAiEAkR9QwkHGlzwsArTAqJxLBd694BAqXayrUBDeN1L2Vaw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":62639,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFcHcCRA9TVsSAnZWagAAFugP/2hLRf9xo16kGkdhWcfR\nQUzFGOunfhVTAD+FU2cw42yRa11x7rF2hlBhjJemizHQY7rpp0MXSqLD+YiA\nts/FKjYa6I8O9jYP0JrcIQkr5l3rOxr+FfqlaNChPfjoePLPzikiRtm4USGu\n6Jlxt6pmbAKkYXn74QYEoZ7KB91T1wFoNhHOREKE3JtA61vI1Gctva5LHd07\nNoiHZ5IJqOkzAoYAK59zxyLSksV0/oisoNRRz87ME0VfuDMTXrk1Qm9yY5/+\n4bs/GS0cyb4F1QlHS9GuIZzIFGHB9T2O++tic95OA9HyvKyUbTH1b7XH0x4f\ndXp83Si/TSYXWkxDhp9u3S3T64La/nG+e6ua4MgUEo8Adsrju5hSyICVCLlp\nhuPx1YPHcB99QkmbgZBjNiZl6/2mMNE2ZdWOFBBLwlDUrKoJyr6vTBgQA29f\nlhiMJgRXhFcpM+itgSFJ3ctI5J0F9PuGHEUQOx2Ir/5qEna4uDWpFvrGbT8+\nQco6A5b7LDIQEmtsfWH9a8GnK8mROxRNEFCSliIHVsJ2tk2/V2jW98XV6xIV\n+glHpZmIsS45z1jwHfRlSmZhfGqq89TA/HLljarpPrGOQLOVbTPgWv6LOSQ0\niP7Y8z/0kkf+hWjM7Xu+RnHYj+a92D18lYEyWB78oeUK3+V9XP/d1fLp7nm3\nCehZ\r\n=X6T3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.45.3.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.14","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.5","dependencies":{"@fluidframework/common-utils":"^0.32.1","@fluidframework/runtime-utils":"^0.45.3","@fluidframework/container-loader":"^0.45.3","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.6","@fluidframework/tinylicious-driver":"^0.45.3","@fluid-experimental/fluid-framework":"^0.45.3","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"^0.45.3","@fluidframework/container-definitions":"^0.39.8"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","start-server-and-test":"^1.11.7","@microsoft/api-extractor":"^7.16.1","@fluid-example/diceroller":"^0.45.3","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.45.3_1628815836164_0.3373543499224547","host":"s3://npm-registry-packages"}},"0.45.4":{"name":"@fluid-experimental/tinylicious-client","version":"0.45.4","author":{"name":"Microsoft and contributors"},"license":"MIT","_id":"@fluid-experimental/tinylicious-client@0.45.4","maintainers":[{"name":"curtisman","email":"curtism@microsoft.com"},{"name":"danroney","email":"daroney@microsoft.com"}],"homepage":"https://fluidframework.com","bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"dist":{"shasum":"4b619430272e789f6d3143d16305c0ce9f095277","tarball":"https://registry.npmjs.org/@fluid-experimental/tinylicious-client/-/tinylicious-client-0.45.4.tgz","fileCount":44,"integrity":"sha512-wArD0a1ThvzKbQe+FRqegA7nREp+IjE1umBvOgP7VKMEUuq0l3pWc97I90/QPOPfggvJkiUwfjz/JX4xDKSnvg==","signatures":[{"sig":"MEYCIQDTY/bRCAHa2JpC5te8HWufSHIjpDcTjSo5p7kNeeBtjgIhANNyiw0IuH9eo37cglE2XmKmDxzLQr59pS1pZwi8mfUm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":62639,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhHADhCRA9TVsSAnZWagAAr70P/1//DMlFTfk8p+N4fJwW\nRpVrwz3Y+lTNxXxaGTjlwSnpDzCgA4tpRs/0RBjtMFBeS73D3FBaYiLIGJY0\nsu04shIOFjCEg+eREy6QCSTU10jzp3cLw8OYx58grNCW/q4z7Q/JdmJW5ZNE\n0aBsGCPkQ1etj5FbtScWaTeM2/qYVEZzkG0fodekwXnDdA5ZLcfqvcxzvd2x\nc3d6a0oYobt7Yd9SVKyNyCEUY09vT5dxt2ow9f0lCm2xAspOeuuww0I+mtSN\n5s7InohxmPEjbKRH3EeM1AfYF6yQRjhlJ4Qxt09jaGm07kuwlmBrm35ioWX2\nMwDu3+OuOw6zeltCzq7s7VbQBGWSkxQ+BQ6EzskHU0g3BopBKdnI5k9Q6vhP\nLH/RkxWuhDjEsxI8ZLYCjKRLE+sI6Vq+z20Kr1igHOVTcfLVLnjTl5NxX9tm\nlzUHB8cyXhAqJOr0SgcJzvaoWwBhmszyz9Tn01iqkCbUq2Lz12yO6TJhyggm\n5MtZSz4wcsKn+5RhH/KVV1P0t++WDJSS+9L29FyWLqgiZweWmWhWhnUNL0gN\nu0AYokxIydVC23JewKC0Uhg6TAG385BTdT9DahKQw+SEj+Lf001gSt5ZVQr0\n12Q5VLxK7ET/SnnqxeiaMe7t/FuNltok2spffNaI7X4qFc79pv4liCOl3UuR\nWkKe\r\n=F7UK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:fluid-experimental-tinylicious-client-0.45.4.tgz","types":"dist/index.d.ts","module":"lib/index.js","scripts":{"tsc":"tsc","lint":"npm run eslint","build":"concurrently npm:build:compile npm:lint","clean":"rimraf dist *.tsbuildinfo *.build.log","tsfmt":"tsfmt --verify","eslint":"eslint --format stylish src","lint:fix":"npm run eslint:fix","tsfmt:fix":"tsfmt --replace","build:docs":"api-extractor run --local --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/doc-models/* ../../../_api-extractor-temp/","build:full":"npm run build","build:test":"tsc --project ./src/test/tsconfig.json","eslint:fix":"eslint --format stylish src --fix","build:esnext":"tsc --project ./tsconfig.esnext.json","test:realsvc":"npm run test:realsvc:tinylicious","build:compile":"concurrently npm:build:commonjs npm:build:esnext","ci:build:docs":"api-extractor run --typescript-compiler-folder ../../../node_modules/typescript && copyfiles -u 1 ./_api-extractor-temp/* ../../../_api-extractor-temp/","build:commonjs":"npm run tsc && npm run build:test","build:full:compile":"npm run build:compile","start:tinylicious:test":"tinylicious > tinylicious.log 2>&1","test:realsvc:tinylicious":"start-server-and-test start:tinylicious:test 7070 test:realsvc:tinylicious:run","test:realsvc:tinylicious:run":"mocha --unhandled-rejections=strict --recursive dist/test/**/*.spec.js --exit"},"_npmUser":{"name":"curtisman","email":"curtism@microsoft.com"},"_resolved":"","_integrity":"","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"_npmVersion":"6.14.14","description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","directories":{},"sideEffects":false,"_nodeVersion":"12.22.5","dependencies":{"@fluidframework/common-utils":"^0.32.1","@fluidframework/runtime-utils":"^0.45.4","@fluidframework/container-loader":"^0.45.4","@fluidframework/common-definitions":"^0.20.1","@fluidframework/driver-definitions":"^0.39.6","@fluidframework/tinylicious-driver":"^0.45.4","@fluid-experimental/fluid-framework":"^0.45.4","@fluidframework/protocol-definitions":"^0.1024.0","@fluidframework/routerlicious-driver":"^0.45.4","@fluidframework/container-definitions":"^0.39.8"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"^8.3.1","mocha":"^8.4.0","eslint":"~7.18.0","rimraf":"^2.6.2","typescript":"~4.1.3","tinylicious":"^0.4.21640","@types/mocha":"^8.2.2","concurrently":"^5.2.0","start-server-and-test":"^1.11.7","@microsoft/api-extractor":"^7.16.1","@fluid-example/diceroller":"^0.45.4","@fluidframework/eslint-config-fluid":"^0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/tinylicious-client_0.45.4_1629225185430_0.7021790480001646","host":"s3://npm-registry-packages"}}},"time":{"created":"2021-04-27T17:13:00.806Z","modified":"2026-07-29T21:13:41.265Z","0.39.0-23254":"2021-04-27T17:13:01.337Z","0.39.0-23272":"2021-04-27T18:16:05.598Z","0.39.0":"2021-04-28T00:08:01.010Z","0.39.1":"2021-05-06T01:25:41.318Z","0.39.2":"2021-05-11T22:31:59.779Z","0.39.3":"2021-05-13T17:25:02.929Z","0.40.0-25719":"2021-05-24T18:58:21.630Z","0.40.0-25851":"2021-05-25T22:35:38.516Z","0.41.0-25957":"2021-05-26T20:38:45.975Z","0.39.4":"2021-05-27T16:41:46.672Z","0.40.0":"2021-05-27T18:03:36.104Z","0.40.1":"2021-06-04T00:31:48.767Z","0.40.2":"2021-06-07T19:45:04.695Z","0.41.0-27154":"2021-06-11T18:57:03.342Z","0.41.0":"2021-06-11T23:28:35.349Z","0.40.3":"2021-06-15T19:26:45.954Z","0.41.1":"2021-06-16T01:48:25.642Z","0.42.0-27549":"2021-06-16T15:29:39.756Z","0.42.0-27644":"2021-06-16T21:51:37.214Z","0.42.0-27677":"2021-06-17T15:00:04.143Z","0.42.0-27683":"2021-06-17T16:29:08.535Z","0.41.2":"2021-06-22T00:36:21.810Z","0.41.3":"2021-06-22T23:06:01.064Z","0.41.4":"2021-06-23T22:41:08.543Z","0.42.0-28410":"2021-06-25T20:53:07.772Z","0.42.0":"2021-06-26T01:53:34.765Z","0.39.5":"2021-07-07T21:57:01.737Z","0.42.1":"2021-07-08T16:29:08.348Z","0.39.6":"2021-07-08T20:49:11.212Z","0.42.2":"2021-07-08T22:53:47.708Z","0.43.0":"2021-07-09T19:51:28.435Z","0.42.3":"2021-07-09T20:56:45.902Z","0.43.1":"2021-07-19T23:13:30.631Z","0.42.4":"2021-07-20T00:15:06.009Z","0.39.7":"2021-07-22T20:07:36.038Z","0.44.0-30858":"2021-07-22T22:11:39.654Z","0.44.0":"2021-07-23T01:33:08.184Z","0.39.8":"2021-07-26T21:49:14.971Z","0.44.1":"2021-08-04T00:54:25.738Z","0.45.0-32948":"2021-08-06T19:41:02.299Z","0.45.0":"2021-08-06T23:22:27.241Z","0.45.1":"2021-08-10T01:25:32.902Z","0.45.2":"2021-08-11T22:02:00.442Z","0.45.3":"2021-08-13T00:50:36.308Z","0.45.4":"2021-08-17T18:33:05.807Z"},"bugs":{"url":"https://github.com/microsoft/FluidFramework/issues"},"author":{"name":"Microsoft and contributors"},"license":"MIT","homepage":"https://fluidframework.com","repository":{"url":"git+https://github.com/microsoft/FluidFramework.git","type":"git"},"description":"A tool to enable creation and loading of Fluid containers using the Tinylicious service","maintainers":[{"email":"ffsa@microsoft.com","name":"ms-fluid-bot"},{"email":"microsoft-oss-publishing@microsoft.com","name":"microsoft-oss-releases"},{"email":"npmjs@microsoft.com","name":"microsoft1es"}],"readme":"# @fluid-experimental/tinylicious-client\n\nThe tinylicious-client package provides a simple and powerful way to consume collaborative Fluid data with the Tinylicious service.\n\nThis package is marked as experimental and currently under development. The API surface is currently under going drastic braking changes with no guarantees on compatibility.\n\n## Using tinylicious-client\n\nThe tinylicious-client package has a default `TinyliciousClient` class that allows you to interact with Fluid.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n```\n\n## Instantiating TinyliciousClient\n\nFluid requires a backing service to enable collaborative communication. The TinyliciousClient instance will be instantitated against the Tinylicious service.\n\nIn the example below we are connecting to a locally running instance of our Tinylicious service running on port 7070 by filling out the optional `port` parameter in `TinyliciousConnectionConfig`.\n\n```javascript\nimport TinyliciousClient, { TinyliciousConnectionConfig } from \"@fluid-experimental/tinylicious-client\";\n\nconst config: TinyliciousConnectionConfig = { port: 7070 };\nconst tinyliciousClient = new TinyliciousClient(config);\n```\n\n## Fluid Containers\n\nA Container instance is a organizational unit within Fluid. Each Container instance has a connection to the defined Fluid Service and contains an independent collection of collaborative objects.\n\nContainers are created and identified by unique ids. Management and storage of these ideas are the responsibility of the developer.\n\n## Using Fluid Containers\n\nUsing the default `TinyliciousClient` object the developer can create and get Fluid containers. Because Fluid needs to be connected to a server containers need to be created and retrieved asynchronously.\n\n```javascript\nimport TinyliciousClient from \"@fluid-experimental/tinylicious-client\";\n\nconst tinyliciousClient = new TinyliciousClient(config);\nawait tinyliciousClient.createContainer( { id: \"_unique-id_\" }, /* schema */);\nconst { fluidContainer, containerServices } = await tinyliciousClient.getContainer({ id: \"_unique-id_\" }, /* schema */);\n```\n\n## Defining Fluid Containers\n\nFluid Containers are defined by a schema. The schema includes initial properties of the Container as well as what collaborative objects can be dynamically created.\n\nSee [`ContainerSchema`](./src/types.ts) in [`./src/types/ts`](./src/types.ts) for details about the specific properties.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        /* ... */\n    },\n    dynamicObjectTypes: [ /*...*/ ],\n}\nconst tinyliciousClient = new TinyliciousClient();\nawait tinyliciousClient.createContainer({ id: \"_unique-id_\" }, schema);\nconst { fluidContainer, containerServices } = await tinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n```\n\n## Using initial objects\n\nThe most common way to use Fluid is through initial collaborative objects that are created when the Container is created.\n\n> Note: Collaborative objects are referred to as LoadableObjects within Fluid. LoadableObjects are specific to Fluid and expose a collaborative interface. DistributedDataStructures and DataObjects are types of LoadableObjects.\n\n`initialObjects` are loaded into memory when the Container is loaded and the developer can access them off the Container via the `initialObjects` property. The `initialObjects` property has the same signature as the Container schema.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n        pair1: KeyValueDataObject,\n    }\n}\nconst tinyliciousClient = new TinyliciousClient();\nconst { fluidContainer, containerServices } = await tinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\n\nconst initialObjects = container.initialObjects;\nconst map1 = initialObjects.map1;\nconst pair1 = initialObjects[\"pair1\"];\n```\n\n## Using dynamic objects\n\nLoadableObjects can also be created dynamically during runtime. Dynamic object types need to be defined in the  `dynamicObjectTypes` property of the ContainerSchema.\n\nThe Container has a `create` method that will create a new instance of the provided type. This instance will be local to the user until attached to another LoadableObject. Dynamic objects created this way should be stored in initialObjects, which are attached when the Container is created. When storing a LoadableObject you must store a reference to the object and not the object itself. To do this use the `handle` property on the LoadableObject.\n\nDynamic objects are loaded on-demand to optimize for data virtualization. To get the LoadableObject, first get the stored handle then resolve that handle.\n\n```javascript\nconst schema = {\n    name: \"my-container\",\n    initialObjects: {\n        map1: SharedMap,\n    },\n    dynamicObjectTypes: [ KeyValueDataObject ],\n}\nconst tinyliciousClient = new TinyliciousClient();\nconst { fluidContainer, containerServices } = await tinyliciousClient.getContainer({ id: \"_unique-id_\" }, schema);\nconst map1 = container.initialObjects.map1;\n\nconst newPair = await container.create(KeyValueDataObject);\nmap1.set(\"pair-unique-id\", newPair.handle);\n\n// ...\n\nconst pairHandle = map1.get(\"pair-unique-id\"); // Get the handle\nconst pair = await map1.get(); // Resolve the handle to get the object\n\n// or\n\nconst pair = await map1.get(\"pair-unique-id\").get();\n```\n\nSee [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.\n","readmeFilename":"README.md"}