@adobe/data 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/ecs/archetype/archetype.d.ts +8 -3
- package/dist/ecs/archetype/create-archetype.js +2 -1
- package/dist/ecs/archetype/create-archetype.js.map +1 -1
- package/dist/ecs/database/create-database.js +17 -2
- package/dist/ecs/database/create-database.js.map +1 -1
- package/dist/ecs/database/create-database.test.js +234 -0
- package/dist/ecs/database/create-database.test.js.map +1 -1
- package/dist/ecs/database/database.d.ts +7 -4
- package/dist/ecs/database/observe-select-entities.d.ts +1 -1
- package/dist/ecs/database/observe-select-entities.js.map +1 -1
- package/dist/ecs/database/transactional-store/create-transactional-store.js +3 -0
- package/dist/ecs/database/transactional-store/create-transactional-store.js.map +1 -1
- package/dist/ecs/database/transactional-store/create-transactional-store.test.js +29 -2
- package/dist/ecs/database/transactional-store/create-transactional-store.test.js.map +1 -1
- package/dist/ecs/database/transactional-store/patch-entity-values.d.ts +2 -2
- package/dist/ecs/database/transactional-store/patch-entity-values.js.map +1 -1
- package/dist/ecs/store/core/core.d.ts +13 -5
- package/dist/ecs/store/core/create-core.js +8 -3
- package/dist/ecs/store/core/create-core.js.map +1 -1
- package/dist/ecs/store/core/create-core.test.js +118 -0
- package/dist/ecs/store/core/create-core.test.js.map +1 -1
- package/dist/ecs/store/core/select-entities.d.ts +1 -1
- package/dist/ecs/store/core/select-entities.js.map +1 -1
- package/dist/ecs/store/create-store.js.map +1 -1
- package/dist/ecs/store/create-store.test.js +21 -0
- package/dist/ecs/store/create-store.test.js.map +1 -1
- package/dist/ecs/store/store.d.ts +1 -1
- package/dist/observe/to-async-generator.d.ts +9 -0
- package/dist/observe/to-async-generator.js +129 -0
- package/dist/observe/to-async-generator.js.map +1 -0
- package/dist/observe/to-async-generator.test.d.ts +1 -0
- package/dist/observe/to-async-generator.test.js +413 -0
- package/dist/observe/to-async-generator.test.js.map +1 -0
- package/dist/schema/f32 copy.d.ts +6 -0
- package/dist/schema/f32 copy.js +6 -0
- package/dist/schema/f32 copy.js.map +1 -0
- package/dist/schema/f64.d.ts +6 -0
- package/dist/schema/f64.js +6 -0
- package/dist/schema/f64.js.map +1 -0
- package/dist/schema/time.d.ts +1 -1
- package/dist/schema/time.js +2 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-store.test.js","sourceRoot":"","sources":["../../../src/ecs/store/create-store.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AACX,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE3G,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IACzB,sDAAsD;IACtD,mBAAmB,CAAC,0BAA0B,EAAE,CAAC,gBAAgB,EAAE,EAAE,CACjE,WAAW,CAAC,gBAAgB,EAAE,EAAE,CAAQ,CAC3C,CAAC;IAEF,wBAAwB;IACxB,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAClC,MAAM,cAAc,GAAG;YACnB,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,CAAC,EAAE,SAAS;gBACZ,CAAC,EAAE,SAAS;gBACZ,CAAC,EAAE,SAAS;aACf;SACsB,CAAC;QAE5B,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACpD,MAAM,KAAK,GAAG,WAAW,CAAC;gBACtB,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,UAAU;aACnB,EAAE,EAAE,CAAC,CAAC;YAEP,wCAAwC;YACxC,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;YACtE,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC;gBAC7B,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBAC9B,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;aACrC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC;gBAC7B,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBAC9B,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;aACpC,CAAC,CAAC;YAEH,2CAA2C;YAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;YACtD,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACpC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC3D,MAAM,KAAK,GAAG,WAAW,CAAC;gBACtB,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,cAAc;aAC3B,EAAE,EAAE,CAAC,CAAC;YAEP,0CAA0C;YAC1C,MAAM,qBAAqB,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;YACxE,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC;gBACzC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;aACjC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC;gBACzC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;aACjC,CAAC,CAAC;YAEH,MAAM,mBAAmB,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC;gBACvC,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;aACrC,CAAC,CAAC;YAEH,MAAM,uBAAuB,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;YACpF,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,CAAC;gBAC3C,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBAC9B,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;aACpC,CAAC,CAAC;YAEH,MAAM,iBAAiB,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC;gBACrC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;aACjC,CAAC,CAAC;YAEH,yEAAyE;YACzE,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACpD,MAAM,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAChD,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAEhD,uEAAuE;YACvE,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChD,MAAM,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAE9C,6EAA6E;YAC7E,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC1D,MAAM,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YAClD,MAAM,KAAK,GAAG,WAAW,CAAC;gBACtB,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,UAAU;aACnB,EAAE,EAAE,CAAC,CAAC;YAEP,0CAA0C;YAC1C,MAAM,qBAAqB,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;YACxE,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC;gBACzC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;aACjC,CAAC,CAAC;YAEH,MAAM,uBAAuB,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;YACpF,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,CAAC;gBAC3C,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBAC9B,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;aACpC,CAAC,CAAC;YAEH,mDAAmD;YACnD,MAAM,oBAAoB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACjF,MAAM,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAChD,MAAM,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YACxD,MAAM,KAAK,GAAG,WAAW,CAAC;gBACtB,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,YAAY;aACvB,EAAE,EAAE,CAAC,CAAC;YAEP,mCAAmC;YACnC,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;YAC5D,SAAS,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAErD,gDAAgD;YAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACvD,MAAM,KAAK,GAAG,WAAW,CAAC;gBACtB,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,cAAc;aAC3B,EAAE,EAAE,CAAC,CAAC;YAEP,mDAAmD;YACnD,MAAM,UAAU,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACtE,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAEtE,MAAM,UAAU,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC3D,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAE1E,MAAM,UAAU,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;YACvE,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC9B,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBAC9B,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;aACpC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC9B,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;gBACjC,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;aACpC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YAEvD,MAAM,UAAU,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;YACrE,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC9B,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;gBACpC,IAAI,EAAE,SAAS;aAClB,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;YAC/E,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC9B,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;gBACpC,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;gBACjC,IAAI,EAAE,SAAS;aAClB,CAAC,CAAC;YAEH,mCAAmC;YACnC,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACpD,MAAM,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAE5C,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5C,MAAM,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAExC,MAAM,oBAAoB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;YAChE,MAAM,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAChD,MAAM,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAEhD,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;YACtE,MAAM,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAE5C,iBAAiB;YACjB,MAAM,qBAAqB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAClF,MAAM,CAAC,qBAAqB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACrD,MAAM,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACrD,MAAM,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACtD,MAAM,KAAK,GAAG,WAAW,CAAC;gBACtB,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,YAAY;aACvB,EAAE,EAAE,CAAC,CAAC;YAEP,0CAA0C;YAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACtE,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAEtE,MAAM,UAAU,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC3D,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAE1E,MAAM,UAAU,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;YACvE,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC9B,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBAC9B,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;aACpC,CAAC,CAAC;YAEH,oCAAoC;YACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YAC5C,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAEjC,4DAA4D;YAC5D,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACpC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACpC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACpC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACjC,MAAM,KAAK,GAAG,WAAW,CAAC;gBACtB,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,YAAY;aACvB,EAAE,EAAE,CAAC,CAAC;YAEP,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YAC5C,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAChD,MAAM,KAAK,GAAG,WAAW,CAAC;gBACtB,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,YAAY;aACvB,EAAE;gBACC,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;aAClD,CAAC,CAAC;YAEH,uBAAuB;YACvB,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAEpE,2EAA2E;YAC3E,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,MAAa,CAAC,CAAC,CAAC;YACnD,MAAM,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAErC,yDAAyD;YACzD,MAAM,cAAc,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,MAAa,CAAC,CAAC,CAAC;YAC9D,MAAM,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,gCAAgC;IAChC,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACpC,MAAM,UAAU,GAAG;YACf,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,SAAS;aACrB;SACsB,CAAC;QAE5B,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC1C,MAAM,KAAK,GAAG,WAAW,CACrB,EAAE,QAAQ,EAAE,cAAc,EAAE,EAC5B;gBACI,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;gBAC/C,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;aACrD,CACJ,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACvD,MAAM,WAAW,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YACjD,MAAM,aAAa,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YAEpD,MAAM,KAAK,GAAG,WAAW,CACrB,EAAE,QAAQ,EAAE,cAAc,EAAE,EAC5B;gBACI,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE;gBAC9B,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;aACrC,CACJ,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAClD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC5C,MAAM,KAAK,GAAG,WAAW,CACrB,EAAE,QAAQ,EAAE,cAAc,EAAE,EAC5B;gBACI,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;gBAC/C,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;aACrD,CACJ,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC7C,MAAM,KAAK,GAAG,WAAW,CACrB,EAAE,QAAQ,EAAE,cAAc,EAAE,EAC5B;gBACI,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;gBAC/C,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;aACrD,CACJ,CAAC;YAEF,cAAc;YACd,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;YACtD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE/C,gBAAgB;YAChB,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YACtD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACtD,MAAM,KAAK,GAAG,WAAW,CACrB,EAAE,QAAQ,EAAE,cAAc,EAAE,EAC5B;gBACI,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;gBAC/C,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;aACrD,CACJ,CAAC;YAEF,wBAAwB;YACxB,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;YACtD,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;YACtD,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YAEtD,sBAAsB;YACtB,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACrE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC7C,MAAM,KAAK,GAAG,WAAW,CACrB,EAAE,QAAQ,EAAE,cAAc,EAAE,EAC5B;gBACI,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;aAClD,CACJ,CAAC;YAEF,+BAA+B;YAC/B,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;YAC/C,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,OAAO,CAAC;YAE/B,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACvD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAC9C,MAAM,KAAK,GAAG,WAAW,CACrB,EAAE,QAAQ,EAAE,cAAc,EAAE,EAC5B,EAAE,CACL,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACtD,MAAM,KAAK,GAAG,WAAW,CACrB,EAAE,QAAQ,EAAE,cAAc,EAAE,EAC5B;gBACI,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;gBAC/C,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAClD,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;aACxB,CACJ,CAAC;YAEF,qCAAqC;YACrC,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;YACtD,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YACtD,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,GAAG,CAAC;YAE5B,6CAA6C;YAC7C,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACrE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACrE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACrD,MAAM,KAAK,GAAG,WAAW,CACrB;gBACI,QAAQ,EAAE,cAAc;gBACxB,IAAI,EAAE,UAAU;aACnB,EACD;gBACI,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;aAClD,CACJ,CAAC;YAEF,8CAA8C;YAC9C,MAAM,cAAc,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACnD,MAAM,KAAK,GAAG,WAAW,CACrB;gBACI,QAAQ,EAAE,cAAc;gBACxB,IAAI,EAAE,UAAU;aACnB,EACD;gBACI,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;aAClD,CACJ,CAAC;YAEF,8CAA8C;YAC9C,MAAM,cAAc,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAEvC,yCAAyC;YACzC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YAEnE,oBAAoB;YACpB,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;YACtD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YAC/C,MAAM,KAAK,GAAG,WAAW,CACrB,EAAE,QAAQ,EAAE,cAAc,EAAE,EAC5B;gBACI,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;gBACrB,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;gBAC5B,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;aAC5B,CACJ,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE1C,0BAA0B;YAC1B,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,GAAG,CAAC;YAC5B,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC;YACjC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC;YAE/B,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAC9C,MAAM,eAAe,GAAG;gBACpB,MAAM,EAAE;oBACJ,IAAI,EAAE;wBACF,KAAK,EAAE,EAAE;wBACT,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;wBAChB,IAAI,EAAE,IAAI;qBACb;iBACJ;gBACD,KAAK,EAAE,CAAC;aACX,CAAC;YAEF,MAAM,KAAK,GAAG,WAAW,CACrB,EAAE,QAAQ,EAAE,cAAc,EAAE,EAC5B,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,CAC5C,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAEzD,0BAA0B;YAC1B,MAAM,cAAc,GAAG;gBACnB,MAAM,EAAE;oBACJ,IAAI,EAAE;wBACF,KAAK,EAAE,GAAG;wBACV,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;wBAChB,IAAI,EAAE,KAAK;qBACd;iBACJ;gBACD,KAAK,EAAE,EAAE;aACZ,CAAC;YAEF,KAAK,CAAC,SAAS,CAAC,OAAO,GAAG,cAAc,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC3C,MAAM,KAAK,GAAG,WAAW,CACrB;gBACI,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAC/B,EACD,EAAE,EACF;gBACI,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;aAC7B,CACJ,CAAC;YAEF,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC1C,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,GAAG;aACd,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACzE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"create-store.test.js","sourceRoot":"","sources":["../../../src/ecs/store/create-store.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import { ArchetypeComponents } from "./archetype-components.js";
|
|
|
8
8
|
import { Archetype, ReadonlyArchetype } from "../archetype/archetype.js";
|
|
9
9
|
import { EntitySelectOptions } from "./entity-select-options.js";
|
|
10
10
|
interface BaseStore<C extends object = never> {
|
|
11
|
-
select<Include extends StringKeyof<C>, T extends Include>(include: Include[]
|
|
11
|
+
select<Include extends StringKeyof<C>, T extends Include>(include: readonly Include[] | ReadonlySet<string>, options?: EntitySelectOptions<C, Pick<C & CoreComponents, T>>): readonly Entity[];
|
|
12
12
|
}
|
|
13
13
|
export interface ReadonlyStore<C extends Components = never, R extends ResourceComponents = never, A extends ArchetypeComponents<StringKeyof<C>> = never> extends BaseStore<C>, ReadonlyCore<C> {
|
|
14
14
|
readonly resources: {
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Observe } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Converts an Observe function to an AsyncGenerator that will yield values as they are observed.
|
|
4
|
+
*
|
|
5
|
+
* @param observe - The Observe function to convert.
|
|
6
|
+
* @param finished - A function that determines if the value is finished.
|
|
7
|
+
* @returns An AsyncGenerator that will yield values as they are observed.
|
|
8
|
+
*/
|
|
9
|
+
export declare function toAsyncGenerator<T>(observe: Observe<T>, finished?: (value: T) => boolean): AsyncGenerator<T>;
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/*MIT License
|
|
2
|
+
|
|
3
|
+
© Copyright 2025 Adobe. All rights reserved.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.*/
|
|
22
|
+
/**
|
|
23
|
+
* Converts an Observe function to an AsyncGenerator that will yield values as they are observed.
|
|
24
|
+
*
|
|
25
|
+
* @param observe - The Observe function to convert.
|
|
26
|
+
* @param finished - A function that determines if the value is finished.
|
|
27
|
+
* @returns An AsyncGenerator that will yield values as they are observed.
|
|
28
|
+
*/
|
|
29
|
+
export function toAsyncGenerator(observe, finished = v => v == null // default: stop on null/undefined,
|
|
30
|
+
) {
|
|
31
|
+
// --- tiny O(1) queue (amortized) ---
|
|
32
|
+
const q = [];
|
|
33
|
+
let head = 0;
|
|
34
|
+
const enqueue = (v) => q.push(v);
|
|
35
|
+
const dequeue = () => {
|
|
36
|
+
const v = q[head++];
|
|
37
|
+
// occasional compaction
|
|
38
|
+
if (head > 1024 && head * 2 > q.length) {
|
|
39
|
+
q.splice(0, head);
|
|
40
|
+
head = 0;
|
|
41
|
+
}
|
|
42
|
+
return v;
|
|
43
|
+
};
|
|
44
|
+
let resolveNext = null;
|
|
45
|
+
let rejectNext = null;
|
|
46
|
+
let done = false;
|
|
47
|
+
let error = null;
|
|
48
|
+
const flush = () => {
|
|
49
|
+
if (resolveNext && q.length > head) {
|
|
50
|
+
const r = resolveNext;
|
|
51
|
+
resolveNext = rejectNext = null;
|
|
52
|
+
r({ done: false, value: dequeue() });
|
|
53
|
+
}
|
|
54
|
+
else if (resolveNext && done) {
|
|
55
|
+
const r = resolveNext;
|
|
56
|
+
resolveNext = rejectNext = null;
|
|
57
|
+
r({ done: true, value: undefined });
|
|
58
|
+
}
|
|
59
|
+
else if (rejectNext && error != null) {
|
|
60
|
+
const rej = rejectNext;
|
|
61
|
+
resolveNext = rejectNext = null;
|
|
62
|
+
const e = error;
|
|
63
|
+
error = null;
|
|
64
|
+
rej(e);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
let unobserve = () => { };
|
|
68
|
+
try {
|
|
69
|
+
unobserve = observe(v => {
|
|
70
|
+
if (done || error != null)
|
|
71
|
+
return;
|
|
72
|
+
try {
|
|
73
|
+
if (finished(v)) {
|
|
74
|
+
done = true;
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
enqueue(v);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
catch (e) {
|
|
81
|
+
error = e;
|
|
82
|
+
}
|
|
83
|
+
flush(); // works even if called synchronously
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
catch (e) {
|
|
87
|
+
error = e;
|
|
88
|
+
}
|
|
89
|
+
const iterator = {
|
|
90
|
+
[Symbol.asyncIterator]() {
|
|
91
|
+
return this;
|
|
92
|
+
},
|
|
93
|
+
next() {
|
|
94
|
+
if (error != null)
|
|
95
|
+
return Promise.reject(error);
|
|
96
|
+
if (q.length > head) {
|
|
97
|
+
const value = dequeue();
|
|
98
|
+
return Promise.resolve({ done: false, value });
|
|
99
|
+
}
|
|
100
|
+
if (done)
|
|
101
|
+
return Promise.resolve({ done: true, value: undefined });
|
|
102
|
+
return new Promise((resolve, reject) => {
|
|
103
|
+
resolveNext = resolve;
|
|
104
|
+
rejectNext = reject;
|
|
105
|
+
// Check if we already have a result to resolve immediately
|
|
106
|
+
flush();
|
|
107
|
+
});
|
|
108
|
+
},
|
|
109
|
+
return() {
|
|
110
|
+
if (!done) {
|
|
111
|
+
done = true;
|
|
112
|
+
unobserve();
|
|
113
|
+
}
|
|
114
|
+
// Drain queue to free memory.
|
|
115
|
+
q.length = head = 0;
|
|
116
|
+
return Promise.resolve({ done: true, value: undefined });
|
|
117
|
+
},
|
|
118
|
+
throw(e) {
|
|
119
|
+
if (!done) {
|
|
120
|
+
done = true;
|
|
121
|
+
unobserve();
|
|
122
|
+
}
|
|
123
|
+
q.length = head = 0;
|
|
124
|
+
return Promise.reject(e);
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
return iterator;
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=to-async-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"to-async-generator.js","sourceRoot":"","sources":["../../src/observe/to-async-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,413 @@
|
|
|
1
|
+
/*MIT License
|
|
2
|
+
|
|
3
|
+
© Copyright 2025 Adobe. All rights reserved.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.*/
|
|
22
|
+
import { describe, it, expect } from 'vitest';
|
|
23
|
+
import { toAsyncGenerator } from './to-async-generator.js';
|
|
24
|
+
// Helper function to create test observables
|
|
25
|
+
function createTestObservable(sync, async) {
|
|
26
|
+
const observers = new Set();
|
|
27
|
+
const observe = (observer) => {
|
|
28
|
+
observers.add(observer);
|
|
29
|
+
if (sync !== undefined) {
|
|
30
|
+
observer(sync);
|
|
31
|
+
}
|
|
32
|
+
return () => {
|
|
33
|
+
observers.delete(observer);
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
return [
|
|
37
|
+
observe,
|
|
38
|
+
async () => {
|
|
39
|
+
for (const value of async) {
|
|
40
|
+
await Promise.resolve();
|
|
41
|
+
for (const observer of observers) {
|
|
42
|
+
observer(value);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// Add finish signal after all async values
|
|
46
|
+
for (const observer of observers) {
|
|
47
|
+
observer(null);
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
}
|
|
52
|
+
// Helper function to collect all values from an async generator
|
|
53
|
+
async function collectValues(generator) {
|
|
54
|
+
const values = [];
|
|
55
|
+
try {
|
|
56
|
+
while (true) {
|
|
57
|
+
const result = await generator.next();
|
|
58
|
+
if (result.done)
|
|
59
|
+
break;
|
|
60
|
+
values.push(result.value);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
throw error;
|
|
65
|
+
}
|
|
66
|
+
return values;
|
|
67
|
+
}
|
|
68
|
+
describe('toAsyncGenerator', () => {
|
|
69
|
+
it('should convert observable with sync value to async generator', async () => {
|
|
70
|
+
// Create a simple observable that emits a sync value and then finishes
|
|
71
|
+
const observe = (notify) => {
|
|
72
|
+
notify(42);
|
|
73
|
+
notify(null); // Explicitly finish the generator
|
|
74
|
+
return () => { };
|
|
75
|
+
};
|
|
76
|
+
const generator = toAsyncGenerator(observe);
|
|
77
|
+
// Consume the generator
|
|
78
|
+
const result = await generator.next();
|
|
79
|
+
expect(result.done).toBe(false);
|
|
80
|
+
expect(result.value).toBe(42);
|
|
81
|
+
// Should be done after consuming the value
|
|
82
|
+
const doneResult = await generator.next();
|
|
83
|
+
expect(doneResult).toEqual({ done: true, value: undefined });
|
|
84
|
+
});
|
|
85
|
+
it('should work with async observable', async () => {
|
|
86
|
+
// Create an async observable
|
|
87
|
+
const observe = (notify) => {
|
|
88
|
+
// Emit value asynchronously
|
|
89
|
+
setTimeout(() => {
|
|
90
|
+
notify(42);
|
|
91
|
+
notify(null); // Finish
|
|
92
|
+
}, 0);
|
|
93
|
+
return () => { };
|
|
94
|
+
};
|
|
95
|
+
const generator = toAsyncGenerator(observe);
|
|
96
|
+
// Consume the generator
|
|
97
|
+
const result = await generator.next();
|
|
98
|
+
expect(result.done).toBe(false);
|
|
99
|
+
expect(result.value).toBe(42);
|
|
100
|
+
// Should be done after consuming the value
|
|
101
|
+
const doneResult = await generator.next();
|
|
102
|
+
expect(doneResult).toEqual({ done: true, value: undefined });
|
|
103
|
+
});
|
|
104
|
+
it('should work with custom finished function', async () => {
|
|
105
|
+
// Create an observable that emits a specific finish value
|
|
106
|
+
const observe = (notify) => {
|
|
107
|
+
notify(42);
|
|
108
|
+
notify(999); // Use 999 as finish signal
|
|
109
|
+
return () => { };
|
|
110
|
+
};
|
|
111
|
+
// Custom finished function that finishes on 999
|
|
112
|
+
const generator = toAsyncGenerator(observe, (value) => value === 999);
|
|
113
|
+
// Consume the generator
|
|
114
|
+
const result = await generator.next();
|
|
115
|
+
expect(result.done).toBe(false);
|
|
116
|
+
expect(result.value).toBe(42);
|
|
117
|
+
// Should be done after consuming the value
|
|
118
|
+
const doneResult = await generator.next();
|
|
119
|
+
expect(doneResult).toEqual({ done: true, value: undefined });
|
|
120
|
+
});
|
|
121
|
+
it('should yield synchronous values immediately', async () => {
|
|
122
|
+
const observe = (notify) => {
|
|
123
|
+
notify(42);
|
|
124
|
+
notify(null); // Finish immediately
|
|
125
|
+
return () => { };
|
|
126
|
+
};
|
|
127
|
+
const generator = toAsyncGenerator(observe);
|
|
128
|
+
const values = await collectValues(generator);
|
|
129
|
+
expect(values).toEqual([42]);
|
|
130
|
+
});
|
|
131
|
+
it('should yield asynchronous values in order', async () => {
|
|
132
|
+
const observe = (notify) => {
|
|
133
|
+
// Emit values asynchronously
|
|
134
|
+
setTimeout(() => {
|
|
135
|
+
notify(1);
|
|
136
|
+
notify(2);
|
|
137
|
+
notify(3);
|
|
138
|
+
notify(null); // Finish
|
|
139
|
+
}, 0);
|
|
140
|
+
return () => { };
|
|
141
|
+
};
|
|
142
|
+
const generator = toAsyncGenerator(observe);
|
|
143
|
+
const values = await collectValues(generator);
|
|
144
|
+
expect(values).toEqual([1, 2, 3]);
|
|
145
|
+
});
|
|
146
|
+
it('should yield both sync and async values in correct order', async () => {
|
|
147
|
+
const observe = (notify) => {
|
|
148
|
+
notify(0); // Sync value
|
|
149
|
+
// Emit values asynchronously
|
|
150
|
+
setTimeout(() => {
|
|
151
|
+
notify(1);
|
|
152
|
+
notify(2);
|
|
153
|
+
notify(3);
|
|
154
|
+
notify(null); // Finish
|
|
155
|
+
}, 0);
|
|
156
|
+
return () => { };
|
|
157
|
+
};
|
|
158
|
+
const generator = toAsyncGenerator(observe);
|
|
159
|
+
const values = await collectValues(generator);
|
|
160
|
+
expect(values).toEqual([0, 1, 2, 3]);
|
|
161
|
+
});
|
|
162
|
+
it('should stop on null/undefined by default', async () => {
|
|
163
|
+
const observe = (notify) => {
|
|
164
|
+
notify(1);
|
|
165
|
+
notify(null); // This should finish the generator
|
|
166
|
+
notify(3); // This should be ignored
|
|
167
|
+
return () => { };
|
|
168
|
+
};
|
|
169
|
+
const generator = toAsyncGenerator(observe);
|
|
170
|
+
const values = await collectValues(generator);
|
|
171
|
+
expect(values).toEqual([1]);
|
|
172
|
+
});
|
|
173
|
+
it('should handle empty observable', async () => {
|
|
174
|
+
const observe = (notify) => {
|
|
175
|
+
notify(null); // Finish immediately
|
|
176
|
+
return () => { };
|
|
177
|
+
};
|
|
178
|
+
const generator = toAsyncGenerator(observe);
|
|
179
|
+
const values = await collectValues(generator);
|
|
180
|
+
expect(values).toEqual([]);
|
|
181
|
+
});
|
|
182
|
+
it('should handle immediate finish value', async () => {
|
|
183
|
+
const [observe] = createTestObservable(null, [1, 2, 3]);
|
|
184
|
+
const generator = toAsyncGenerator(observe);
|
|
185
|
+
const values = await collectValues(generator);
|
|
186
|
+
expect(values).toEqual([]);
|
|
187
|
+
});
|
|
188
|
+
it('should handle multiple rapid emissions', async () => {
|
|
189
|
+
const observe = (notify) => {
|
|
190
|
+
// Emit values rapidly
|
|
191
|
+
setTimeout(() => {
|
|
192
|
+
notify(1);
|
|
193
|
+
notify(2);
|
|
194
|
+
notify(3);
|
|
195
|
+
notify(4);
|
|
196
|
+
notify(5);
|
|
197
|
+
notify(null); // Finish
|
|
198
|
+
}, 0);
|
|
199
|
+
return () => { };
|
|
200
|
+
};
|
|
201
|
+
const generator = toAsyncGenerator(observe);
|
|
202
|
+
const values = await collectValues(generator);
|
|
203
|
+
expect(values).toEqual([1, 2, 3, 4, 5]);
|
|
204
|
+
});
|
|
205
|
+
it('should handle synchronous finish in observe callback', async () => {
|
|
206
|
+
const observe = (notify) => {
|
|
207
|
+
notify(1);
|
|
208
|
+
notify(2);
|
|
209
|
+
notify(null); // This should finish the generator
|
|
210
|
+
notify(4); // This should be ignored
|
|
211
|
+
return () => { };
|
|
212
|
+
};
|
|
213
|
+
const generator = toAsyncGenerator(observe);
|
|
214
|
+
const values = await collectValues(generator);
|
|
215
|
+
expect(values).toEqual([1, 2]);
|
|
216
|
+
});
|
|
217
|
+
it('should handle errors in finished function', async () => {
|
|
218
|
+
const observe = (notify) => {
|
|
219
|
+
notify(1);
|
|
220
|
+
notify(2);
|
|
221
|
+
notify(3);
|
|
222
|
+
return () => { };
|
|
223
|
+
};
|
|
224
|
+
const generator = toAsyncGenerator(observe, () => {
|
|
225
|
+
throw new Error('Finished function error');
|
|
226
|
+
});
|
|
227
|
+
await expect(collectValues(generator)).rejects.toThrow('Finished function error');
|
|
228
|
+
});
|
|
229
|
+
it('should handle return() method correctly', async () => {
|
|
230
|
+
const observe = (notify) => {
|
|
231
|
+
notify(1);
|
|
232
|
+
notify(2);
|
|
233
|
+
notify(3);
|
|
234
|
+
notify(null); // Finish
|
|
235
|
+
return () => { };
|
|
236
|
+
};
|
|
237
|
+
const generator = toAsyncGenerator(observe);
|
|
238
|
+
// Get first value
|
|
239
|
+
const firstResult = await generator.next();
|
|
240
|
+
expect(firstResult).toEqual({ done: false, value: 1 });
|
|
241
|
+
// Return early
|
|
242
|
+
const returnResult = await generator.return(undefined);
|
|
243
|
+
expect(returnResult).toEqual({ done: true, value: undefined });
|
|
244
|
+
// Subsequent calls should return done
|
|
245
|
+
const nextResult = await generator.next();
|
|
246
|
+
expect(nextResult).toEqual({ done: true, value: undefined });
|
|
247
|
+
});
|
|
248
|
+
it('should handle throw() method correctly', async () => {
|
|
249
|
+
const [observe] = createTestObservable(undefined, [1, 2, 3]);
|
|
250
|
+
const generator = toAsyncGenerator(observe);
|
|
251
|
+
const error = new Error('Test throw error');
|
|
252
|
+
await expect(generator.throw(error)).rejects.toThrow('Test throw error');
|
|
253
|
+
});
|
|
254
|
+
it('should handle multiple subscribers correctly', async () => {
|
|
255
|
+
const observe = (notify) => {
|
|
256
|
+
notify(1);
|
|
257
|
+
notify(2);
|
|
258
|
+
notify(3);
|
|
259
|
+
notify(null); // Finish
|
|
260
|
+
return () => { };
|
|
261
|
+
};
|
|
262
|
+
// Create two generators
|
|
263
|
+
const generator1 = toAsyncGenerator(observe);
|
|
264
|
+
const generator2 = toAsyncGenerator(observe);
|
|
265
|
+
// Collect from both
|
|
266
|
+
const values1 = await collectValues(generator1);
|
|
267
|
+
const values2 = await collectValues(generator2);
|
|
268
|
+
expect(values1).toEqual([1, 2, 3]);
|
|
269
|
+
expect(values2).toEqual([1, 2, 3]);
|
|
270
|
+
});
|
|
271
|
+
it('should handle queue compaction correctly', async () => {
|
|
272
|
+
const observe = (notify) => {
|
|
273
|
+
// Emit many values
|
|
274
|
+
setTimeout(() => {
|
|
275
|
+
for (let i = 0; i < 2000; i++) {
|
|
276
|
+
notify(i);
|
|
277
|
+
}
|
|
278
|
+
notify(null); // Finish
|
|
279
|
+
}, 0);
|
|
280
|
+
return () => { };
|
|
281
|
+
};
|
|
282
|
+
const generator = toAsyncGenerator(observe);
|
|
283
|
+
const values = await collectValues(generator);
|
|
284
|
+
expect(values).toEqual(Array.from({ length: 2000 }, (_, i) => i));
|
|
285
|
+
});
|
|
286
|
+
it('should handle custom finished function that never returns true', async () => {
|
|
287
|
+
const observe = (notify) => {
|
|
288
|
+
notify(1);
|
|
289
|
+
notify(2);
|
|
290
|
+
notify(3);
|
|
291
|
+
notify(null); // Finish signal (but finished function ignores it)
|
|
292
|
+
return () => { };
|
|
293
|
+
};
|
|
294
|
+
const generator = toAsyncGenerator(observe, () => false);
|
|
295
|
+
// Test that we can get the first few values
|
|
296
|
+
const result1 = await generator.next();
|
|
297
|
+
expect(result1).toEqual({ done: false, value: 1 });
|
|
298
|
+
const result2 = await generator.next();
|
|
299
|
+
expect(result2).toEqual({ done: false, value: 2 });
|
|
300
|
+
const result3 = await generator.next();
|
|
301
|
+
expect(result3).toEqual({ done: false, value: 3 });
|
|
302
|
+
// The null value should be ignored since finished function returns false
|
|
303
|
+
const result4 = await generator.next();
|
|
304
|
+
expect(result4).toEqual({ done: false, value: null });
|
|
305
|
+
});
|
|
306
|
+
it('should handle finished function that returns true on first value', async () => {
|
|
307
|
+
const observe = (notify) => {
|
|
308
|
+
notify(1);
|
|
309
|
+
notify(2);
|
|
310
|
+
notify(3);
|
|
311
|
+
return () => { };
|
|
312
|
+
};
|
|
313
|
+
const generator = toAsyncGenerator(observe, () => true);
|
|
314
|
+
const values = await collectValues(generator);
|
|
315
|
+
expect(values).toEqual([]);
|
|
316
|
+
});
|
|
317
|
+
it('should handle synchronous observe callback that finishes immediately', async () => {
|
|
318
|
+
const observe = (notify) => {
|
|
319
|
+
notify(null); // Finish immediately
|
|
320
|
+
return () => { };
|
|
321
|
+
};
|
|
322
|
+
const generator = toAsyncGenerator(observe);
|
|
323
|
+
const values = await collectValues(generator);
|
|
324
|
+
expect(values).toEqual([]);
|
|
325
|
+
});
|
|
326
|
+
it('should handle mixed sync/async with custom finished function', async () => {
|
|
327
|
+
const [observe, doAsync] = createTestObservable(0, [1, 2, 3, 4, 5]);
|
|
328
|
+
const generator = toAsyncGenerator(observe, (value) => value === 3);
|
|
329
|
+
// Start collecting values
|
|
330
|
+
const valuesPromise = collectValues(generator);
|
|
331
|
+
// Trigger async values
|
|
332
|
+
await doAsync();
|
|
333
|
+
const values = await valuesPromise;
|
|
334
|
+
expect(values).toEqual([0, 1, 2]);
|
|
335
|
+
});
|
|
336
|
+
it('should handle return() after error', async () => {
|
|
337
|
+
const [observe] = createTestObservable(undefined, [1, 2, 3]);
|
|
338
|
+
const generator = toAsyncGenerator(observe, () => {
|
|
339
|
+
throw new Error('Test error');
|
|
340
|
+
});
|
|
341
|
+
// Try to return after error
|
|
342
|
+
const returnResult = await generator.return(undefined);
|
|
343
|
+
expect(returnResult).toEqual({ done: true, value: undefined });
|
|
344
|
+
});
|
|
345
|
+
it('should handle throw() after return()', async () => {
|
|
346
|
+
const [observe] = createTestObservable(undefined, [1, 2, 3]);
|
|
347
|
+
const generator = toAsyncGenerator(observe);
|
|
348
|
+
// Return first
|
|
349
|
+
await generator.return(undefined);
|
|
350
|
+
// Then throw
|
|
351
|
+
const error = new Error('Test throw after return');
|
|
352
|
+
await expect(generator.throw(error)).rejects.toThrow('Test throw after return');
|
|
353
|
+
});
|
|
354
|
+
it('should handle multiple rapid next() calls', async () => {
|
|
355
|
+
const observe = (notify) => {
|
|
356
|
+
notify(1);
|
|
357
|
+
notify(2);
|
|
358
|
+
notify(3);
|
|
359
|
+
notify(null); // Finish
|
|
360
|
+
return () => { };
|
|
361
|
+
};
|
|
362
|
+
const generator = toAsyncGenerator(observe);
|
|
363
|
+
// Rapid next() calls
|
|
364
|
+
const promises = [
|
|
365
|
+
generator.next(),
|
|
366
|
+
generator.next(),
|
|
367
|
+
generator.next(),
|
|
368
|
+
generator.next()
|
|
369
|
+
];
|
|
370
|
+
const results = await Promise.all(promises);
|
|
371
|
+
expect(results).toEqual([
|
|
372
|
+
{ done: false, value: 1 },
|
|
373
|
+
{ done: false, value: 2 },
|
|
374
|
+
{ done: false, value: 3 },
|
|
375
|
+
{ done: true, value: undefined }
|
|
376
|
+
]);
|
|
377
|
+
});
|
|
378
|
+
it('should handle finished function that throws on specific value', async () => {
|
|
379
|
+
const observe = (notify) => {
|
|
380
|
+
notify(1);
|
|
381
|
+
notify(2);
|
|
382
|
+
notify(3);
|
|
383
|
+
return () => { };
|
|
384
|
+
};
|
|
385
|
+
const generator = toAsyncGenerator(observe, (value) => {
|
|
386
|
+
if (value === 2)
|
|
387
|
+
throw new Error('Error on value 2');
|
|
388
|
+
return false;
|
|
389
|
+
});
|
|
390
|
+
await expect(collectValues(generator)).rejects.toThrow('Error on value 2');
|
|
391
|
+
});
|
|
392
|
+
it('should handle errors in finished function with async observable', async () => {
|
|
393
|
+
const observe = (notify) => {
|
|
394
|
+
// Emit values asynchronously
|
|
395
|
+
setTimeout(() => {
|
|
396
|
+
notify(1);
|
|
397
|
+
notify(2);
|
|
398
|
+
}, 0);
|
|
399
|
+
return () => { };
|
|
400
|
+
};
|
|
401
|
+
const generator = toAsyncGenerator(observe, (value) => {
|
|
402
|
+
if (value === 2)
|
|
403
|
+
throw new Error('Test error');
|
|
404
|
+
return false;
|
|
405
|
+
});
|
|
406
|
+
// Should get first value
|
|
407
|
+
const result1 = await generator.next();
|
|
408
|
+
expect(result1).toEqual({ done: false, value: 1 });
|
|
409
|
+
// Second value should trigger error
|
|
410
|
+
await expect(generator.next()).rejects.toThrow('Test error');
|
|
411
|
+
});
|
|
412
|
+
});
|
|
413
|
+
//# sourceMappingURL=to-async-generator.test.js.map
|