@zio.dev/zio-blocks 0.0.28 → 0.0.30

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.
Files changed (35) hide show
  1. package/guides/compile-time-resource-safety-with-scope.md +997 -0
  2. package/guides/query-dsl-extending.md +1 -1
  3. package/guides/query-dsl-fluent-builder.md +203 -203
  4. package/guides/query-dsl-reified-optics.md +1 -1
  5. package/guides/query-dsl-sql.md +1 -1
  6. package/guides/zio-schema-migration.md +6 -6
  7. package/index.md +68 -16
  8. package/package.json +1 -1
  9. package/path-interpolator.md +70 -9
  10. package/reference/allows.md +96 -0
  11. package/reference/codec.md +8 -8
  12. package/reference/combinators.md +345 -0
  13. package/reference/context.md +639 -67
  14. package/reference/docs.md +1 -1
  15. package/reference/dynamic-schema.md +39 -42
  16. package/reference/http-model.md +1716 -0
  17. package/reference/json-differ.md +320 -0
  18. package/reference/json-patch.md +1 -1
  19. package/reference/media-type.md +2 -2
  20. package/reference/resource-management/defer-handle.md +246 -0
  21. package/reference/resource-management/finalization.md +286 -0
  22. package/reference/resource-management/finalizer.md +167 -0
  23. package/reference/resource-management/index.md +44 -0
  24. package/reference/resource-management/resource.md +1607 -0
  25. package/reference/resource-management/scope.md +3026 -0
  26. package/reference/resource-management/unscoped.md +125 -0
  27. package/reference/resource-management/wire.md +878 -0
  28. package/reference/schema-evolution/as.md +4 -4
  29. package/reference/schema-evolution/into.md +2 -2
  30. package/reference/schema-expr.md +2 -2
  31. package/reference/streams.md +989 -0
  32. package/reference/type-class-derivation.md +31 -31
  33. package/ringbuffer.md +249 -0
  34. package/sidebars.js +19 -2
  35. package/scope.md +0 -1423
@@ -52,7 +52,7 @@ Since `SchemaExpr` is a sealed trait, you cannot add new cases to it. Instead, w
52
52
  This guide builds on [Part 1: Expressions](./query-dsl-reified-optics.md) and [Part 2: SQL Generation](./query-dsl-sql.md). You should be comfortable building `SchemaExpr` values and translating them to SQL.
53
53
 
54
54
  ```scala
55
- libraryDependencies += "dev.zio" %% "zio-blocks-schema" % "0.0.28"
55
+ libraryDependencies += "dev.zio" %% "zio-blocks-schema" % "0.0.30"
56
56
  ```
57
57
 
58
58
  ```scala
@@ -57,7 +57,7 @@ In this guide, we solve both problems: bridge extensions eliminate `.toExpr`, an
57
57
  This guide builds on [Part 1: Expressions](./query-dsl-reified-optics.md), [Part 2: SQL Generation](./query-dsl-sql.md), and [Part 3: Extending the Expression Language](./query-dsl-extending.md).
58
58
 
59
59
  ```scala
60
- libraryDependencies += "dev.zio" %% "zio-blocks-schema" % "0.0.28"
60
+ libraryDependencies += "dev.zio" %% "zio-blocks-schema" % "0.0.30"
61
61
  ```
62
62
 
63
63
  ## Domain Setup
@@ -338,42 +338,42 @@ val condition =
338
338
  // name = "name",
339
339
  // value = Primitive(
340
340
  // primitiveType = String(None),
341
- // typeId = Impl(
342
- // name = "String",
343
- // owner = Owner(List(Package("java"), Package("lang"))),
344
- // typeParams = List(),
345
- // typeArgs = List(),
346
- // defKind = Class(
347
- // isFinal = true,
348
- // isAbstract = false,
349
- // isCase = false,
350
- // isValue = false,
351
- // bases = List(
352
- // Ref(
353
- // Impl(
354
- // name = "CharSequence",
355
- // owner = Owner(
356
- // List(Package("java"), Package("lang"))
357
- // ),
358
- // typeParams = List(),
359
- // typeArgs = List(),
360
- // defKind = Trait(
361
- // isSealed = false,
362
- // bases = List()
363
- // ),
364
- // selfType = None,
365
- // aliasedTo = None,
366
- // representation = None,
367
- // annotations = List()
368
- // )
369
- // ),
370
- // Ref(
371
- // Impl(
372
- // name = "Comparable",
373
- // owner = Owner(
374
- // List(Package("java"), Package("lang"))
375
- // ),
376
- // typeParams = List(
341
+ // typeId = String,
342
+ // primitiveBinding = Primitive(),
343
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
344
+ // modifiers = List(),
345
+ // storedDefaultValue = None,
346
+ // storedExamples = List()
347
+ // ),
348
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
349
+ // modifiers = List()
350
+ // ),
351
+ // Term(
352
+ // name = "price",
353
+ // value = Primitive(
354
+ // primitiveType = Double(None),
355
+ // typeId = Double,
356
+ // primitiveBinding = Primitive(),
357
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
358
+ // modifiers = List(),
359
+ // storedDefaultValue = None,
360
+ // storedExamples = List()
361
+ // ),
362
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
363
+ // modifiers = List()
364
+ // ),
365
+ // Term(
366
+ // name = "category",
367
+ // value = Primitive(
368
+ // primitiveType = String(None),
369
+ // typeId = String,
370
+ // primitiveBinding = Primitive(),
371
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
372
+ // modifiers = List(),
373
+ // storedDefaultValue = None,
374
+ // storedExamples = List()
375
+ // ),
376
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
377
377
  // ...
378
378
 
379
379
  exprToSql(condition)
@@ -506,41 +506,41 @@ val basicSelect = select(Product.table)
506
506
  // name = "name",
507
507
  // value = Primitive(
508
508
  // primitiveType = String(None),
509
- // typeId = Impl(
510
- // name = "String",
511
- // owner = Owner(List(Package("java"), Package("lang"))),
512
- // typeParams = List(),
513
- // typeArgs = List(),
514
- // defKind = Class(
515
- // isFinal = true,
516
- // isAbstract = false,
517
- // isCase = false,
518
- // isValue = false,
519
- // bases = List(
520
- // Ref(
521
- // Impl(
522
- // name = "CharSequence",
523
- // owner = Owner(
524
- // List(Package("java"), Package("lang"))
525
- // ),
526
- // typeParams = List(),
527
- // typeArgs = List(),
528
- // defKind = Trait(isSealed = false, bases = List()),
529
- // selfType = None,
530
- // aliasedTo = None,
531
- // representation = None,
532
- // annotations = List()
533
- // )
534
- // ),
535
- // Ref(
536
- // Impl(
537
- // name = "Comparable",
538
- // owner = Owner(
539
- // List(Package("java"), Package("lang"))
540
- // ),
541
- // typeParams = List(
542
- // TypeParam(
543
- // name = "T",
509
+ // typeId = String,
510
+ // primitiveBinding = Primitive(),
511
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
512
+ // modifiers = List(),
513
+ // storedDefaultValue = None,
514
+ // storedExamples = List()
515
+ // ),
516
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
517
+ // modifiers = List()
518
+ // ),
519
+ // Term(
520
+ // name = "price",
521
+ // value = Primitive(
522
+ // primitiveType = Double(None),
523
+ // typeId = Double,
524
+ // primitiveBinding = Primitive(),
525
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
526
+ // modifiers = List(),
527
+ // storedDefaultValue = None,
528
+ // storedExamples = List()
529
+ // ),
530
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
531
+ // modifiers = List()
532
+ // ),
533
+ // Term(
534
+ // name = "category",
535
+ // value = Primitive(
536
+ // primitiveType = String(None),
537
+ // typeId = String,
538
+ // primitiveBinding = Primitive(),
539
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
540
+ // modifiers = List(),
541
+ // storedDefaultValue = None,
542
+ // storedExamples = List()
543
+ // ),
544
544
  // ...
545
545
 
546
546
  renderSelect(basicSelect)
@@ -572,39 +572,39 @@ val advancedSelect = select(Product.table)
572
572
  // name = "name",
573
573
  // value = Primitive(
574
574
  // primitiveType = String(None),
575
- // typeId = Impl(
576
- // name = "String",
577
- // owner = Owner(List(Package("java"), Package("lang"))),
578
- // typeParams = List(),
579
- // typeArgs = List(),
580
- // defKind = Class(
581
- // isFinal = true,
582
- // isAbstract = false,
583
- // isCase = false,
584
- // isValue = false,
585
- // bases = List(
586
- // Ref(
587
- // Impl(
588
- // name = "CharSequence",
589
- // owner = Owner(
590
- // List(Package("java"), Package("lang"))
591
- // ),
592
- // typeParams = List(),
593
- // typeArgs = List(),
594
- // defKind = Trait(
595
- // isSealed = false,
596
- // bases = List()
597
- // ),
598
- // selfType = None,
599
- // aliasedTo = None,
600
- // representation = None,
601
- // annotations = List()
602
- // )
603
- // ),
604
- // Ref(
605
- // Impl(
606
- // name = "Comparable",
607
- // owner = Owner(
575
+ // typeId = String,
576
+ // primitiveBinding = Primitive(),
577
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
578
+ // modifiers = List(),
579
+ // storedDefaultValue = None,
580
+ // storedExamples = List()
581
+ // ),
582
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
583
+ // modifiers = List()
584
+ // ),
585
+ // Term(
586
+ // name = "price",
587
+ // value = Primitive(
588
+ // primitiveType = Double(None),
589
+ // typeId = Double,
590
+ // primitiveBinding = Primitive(),
591
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
592
+ // modifiers = List(),
593
+ // storedDefaultValue = None,
594
+ // storedExamples = List()
595
+ // ),
596
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
597
+ // modifiers = List()
598
+ // ),
599
+ // Term(
600
+ // name = "category",
601
+ // value = Primitive(
602
+ // primitiveType = String(None),
603
+ // typeId = String,
604
+ // primitiveBinding = Primitive(),
605
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
606
+ // modifiers = List(),
607
+ // storedDefaultValue = None,
608
608
  // ...
609
609
 
610
610
  renderSelect(advancedSelect)
@@ -671,37 +671,37 @@ val basicUpdate =
671
671
  // name = "name",
672
672
  // value = Primitive(
673
673
  // primitiveType = String(None),
674
- // typeId = Impl(
675
- // name = "String",
676
- // owner = Owner(
677
- // List(Package("java"), Package("lang"))
678
- // ),
679
- // typeParams = List(),
680
- // typeArgs = List(),
681
- // defKind = Class(
682
- // isFinal = true,
683
- // isAbstract = false,
684
- // isCase = false,
685
- // isValue = false,
686
- // bases = List(
687
- // Ref(
688
- // Impl(
689
- // name = "CharSequence",
690
- // owner = Owner(
691
- // List(Package("java"), Package("lang"))
692
- // ),
693
- // typeParams = List(),
694
- // typeArgs = List(),
695
- // defKind = Trait(
696
- // isSealed = false,
697
- // bases = List()
698
- // ),
699
- // selfType = None,
700
- // aliasedTo = None,
701
- // representation = None,
702
- // annotations = List()
703
- // )
704
- // ),
674
+ // typeId = String,
675
+ // primitiveBinding = Primitive(),
676
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
677
+ // modifiers = List(),
678
+ // storedDefaultValue = None,
679
+ // storedExamples = List()
680
+ // ),
681
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
682
+ // modifiers = List()
683
+ // ),
684
+ // Term(
685
+ // name = "price",
686
+ // value = Primitive(
687
+ // primitiveType = Double(None),
688
+ // typeId = Double,
689
+ // primitiveBinding = Primitive(),
690
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
691
+ // modifiers = List(),
692
+ // storedDefaultValue = None,
693
+ // storedExamples = List()
694
+ // ),
695
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
696
+ // modifiers = List()
697
+ // ),
698
+ // Term(
699
+ // name = "category",
700
+ // value = Primitive(
701
+ // primitiveType = String(None),
702
+ // typeId = String,
703
+ // primitiveBinding = Primitive(),
704
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
705
705
  // ...
706
706
 
707
707
  renderUpdate(basicUpdate)
@@ -733,38 +733,38 @@ val multiUpdate =
733
733
  // name = "name",
734
734
  // value = Primitive(
735
735
  // primitiveType = String(None),
736
- // typeId = Impl(
737
- // name = "String",
738
- // owner = Owner(List(Package("java"), Package("lang"))),
739
- // typeParams = List(),
740
- // typeArgs = List(),
741
- // defKind = Class(
742
- // isFinal = true,
743
- // isAbstract = false,
744
- // isCase = false,
745
- // isValue = false,
746
- // bases = List(
747
- // Ref(
748
- // Impl(
749
- // name = "CharSequence",
750
- // owner = Owner(
751
- // List(Package("java"), Package("lang"))
752
- // ),
753
- // typeParams = List(),
754
- // typeArgs = List(),
755
- // defKind = Trait(isSealed = false, bases = List()),
756
- // selfType = None,
757
- // aliasedTo = None,
758
- // representation = None,
759
- // annotations = List()
760
- // )
761
- // ),
762
- // Ref(
763
- // Impl(
764
- // name = "Comparable",
765
- // owner = Owner(
766
- // List(Package("java"), Package("lang"))
767
- // ),
736
+ // typeId = String,
737
+ // primitiveBinding = Primitive(),
738
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
739
+ // modifiers = List(),
740
+ // storedDefaultValue = None,
741
+ // storedExamples = List()
742
+ // ),
743
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
744
+ // modifiers = List()
745
+ // ),
746
+ // Term(
747
+ // name = "price",
748
+ // value = Primitive(
749
+ // primitiveType = Double(None),
750
+ // typeId = Double,
751
+ // primitiveBinding = Primitive(),
752
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
753
+ // modifiers = List(),
754
+ // storedDefaultValue = None,
755
+ // storedExamples = List()
756
+ // ),
757
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
758
+ // modifiers = List()
759
+ // ),
760
+ // Term(
761
+ // name = "category",
762
+ // value = Primitive(
763
+ // primitiveType = String(None),
764
+ // typeId = String,
765
+ // primitiveBinding = Primitive(),
766
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
767
+ // modifiers = List(),
768
768
  // ...
769
769
 
770
770
  renderUpdate(multiUpdate)
@@ -854,41 +854,41 @@ val del = deleteFrom(Product.table)
854
854
  // name = "name",
855
855
  // value = Primitive(
856
856
  // primitiveType = String(None),
857
- // typeId = Impl(
858
- // name = "String",
859
- // owner = Owner(List(Package("java"), Package("lang"))),
860
- // typeParams = List(),
861
- // typeArgs = List(),
862
- // defKind = Class(
863
- // isFinal = true,
864
- // isAbstract = false,
865
- // isCase = false,
866
- // isValue = false,
867
- // bases = List(
868
- // Ref(
869
- // Impl(
870
- // name = "CharSequence",
871
- // owner = Owner(
872
- // List(Package("java"), Package("lang"))
873
- // ),
874
- // typeParams = List(),
875
- // typeArgs = List(),
876
- // defKind = Trait(
877
- // isSealed = false,
878
- // bases = List()
879
- // ),
880
- // selfType = None,
881
- // aliasedTo = None,
882
- // representation = None,
883
- // annotations = List()
884
- // )
885
- // ),
886
- // Ref(
887
- // Impl(
888
- // name = "Comparable",
889
- // owner = Owner(
890
- // List(Package("java"), Package("lang"))
891
- // ),
857
+ // typeId = String,
858
+ // primitiveBinding = Primitive(),
859
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
860
+ // modifiers = List(),
861
+ // storedDefaultValue = None,
862
+ // storedExamples = List()
863
+ // ),
864
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
865
+ // modifiers = List()
866
+ // ),
867
+ // Term(
868
+ // name = "price",
869
+ // value = Primitive(
870
+ // primitiveType = Double(None),
871
+ // typeId = Double,
872
+ // primitiveBinding = Primitive(),
873
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
874
+ // modifiers = List(),
875
+ // storedDefaultValue = None,
876
+ // storedExamples = List()
877
+ // ),
878
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
879
+ // modifiers = List()
880
+ // ),
881
+ // Term(
882
+ // name = "category",
883
+ // value = Primitive(
884
+ // primitiveType = String(None),
885
+ // typeId = String,
886
+ // primitiveBinding = Primitive(),
887
+ // doc = Doc(blocks = IndexedSeq(), metadata = Map()),
888
+ // modifiers = List(),
889
+ // storedDefaultValue = None,
890
+ // storedExamples = List()
891
+ // ),
892
892
  // ...
893
893
 
894
894
  renderDelete(del)
@@ -43,7 +43,7 @@ In this guide, we'll solve this by using ZIO Blocks' `SchemaExpr` and reified op
43
43
  Add the ZIO Blocks Schema dependency:
44
44
 
45
45
  ```scala
46
- libraryDependencies += "dev.zio" %% "zio-blocks-schema" % "0.0.28"
46
+ libraryDependencies += "dev.zio" %% "zio-blocks-schema" % "0.0.30"
47
47
  ```
48
48
 
49
49
  ```scala
@@ -43,7 +43,7 @@ Since `SchemaExpr` is a sealed trait, we can write a single interpreter that tra
43
43
  This guide builds on [Part 1: Expressions](./query-dsl-reified-optics.md). You should be comfortable building `SchemaExpr` values with optic operators (`===`, `>`, `&&`, etc.).
44
44
 
45
45
  ```scala
46
- libraryDependencies += "dev.zio" %% "zio-blocks-schema" % "0.0.28"
46
+ libraryDependencies += "dev.zio" %% "zio-blocks-schema" % "0.0.30"
47
47
  ```
48
48
 
49
49
  ```scala
@@ -38,13 +38,13 @@ libraryDependencies += "dev.zio" %% "zio-schema-avro" % "1.x.x"
38
38
  **After (ZIO Blocks Schema):**
39
39
 
40
40
  ```scala
41
- libraryDependencies += "dev.zio" %% "zio-blocks-schema" % "0.0.28"
41
+ libraryDependencies += "dev.zio" %% "zio-blocks-schema" % "0.0.30"
42
42
  // Optional codec modules:
43
- libraryDependencies += "dev.zio" %% "zio-blocks-schema-avro" % "0.0.28"
44
- libraryDependencies += "dev.zio" %% "zio-blocks-schema-thrift" % "0.0.28"
45
- libraryDependencies += "dev.zio" %% "zio-blocks-schema-bson" % "0.0.28"
46
- libraryDependencies += "dev.zio" %% "zio-blocks-schema-messagepack" % "0.0.28"
47
- libraryDependencies += "dev.zio" %% "zio-blocks-schema-toon" % "0.0.28"
43
+ libraryDependencies += "dev.zio" %% "zio-blocks-schema-avro" % "0.0.30"
44
+ libraryDependencies += "dev.zio" %% "zio-blocks-schema-thrift" % "0.0.30"
45
+ libraryDependencies += "dev.zio" %% "zio-blocks-schema-bson" % "0.0.30"
46
+ libraryDependencies += "dev.zio" %% "zio-blocks-schema-messagepack" % "0.0.30"
47
+ libraryDependencies += "dev.zio" %% "zio-blocks-schema-toon" % "0.0.30"
48
48
  ```
49
49
 
50
50
  Key points: