packages feed

eo-phi-normalizer-2.0.0: data/0.41.2/org/eolang/fs/file.phi

{
  ⟦
    org ↦ ⟦
      eolang ↦ ⟦
        fs ↦ ⟦
          file ↦ ⟦
            path ↦ ∅,
            φ ↦ ξ.path,
            is-directory ↦ ⟦
              λ ⤍ Lorg_eolang_fs_file_is_directory
            ⟧,
            exists ↦ ⟦
              λ ⤍ Lorg_eolang_fs_file_exists
            ⟧,
            touched ↦ ⟦
              φ ↦ ξ.ρ.exists.if(
                α0 ↦ ξ.ρ,
                α1 ↦ Φ.org.eolang.seq(
                  α0 ↦ Φ.org.eolang.tuple(
                    α0 ↦ Φ.org.eolang.tuple(
                      α0 ↦ Φ.org.eolang.tuple.empty,
                      α1 ↦ ξ.touch
                    ),
                    α1 ↦ ξ.ρ
                  )
                )
              ),
              touch ↦ ⟦
                λ ⤍ Lorg_eolang_fs_file_touched_touch
              ⟧
            ⟧,
            deleted ↦ ⟦
              φ ↦ ξ.ρ.exists.if(
                α0 ↦ Φ.org.eolang.seq(
                  α0 ↦ Φ.org.eolang.tuple(
                    α0 ↦ Φ.org.eolang.tuple(
                      α0 ↦ Φ.org.eolang.tuple.empty,
                      α1 ↦ ξ.delete
                    ),
                    α1 ↦ ξ.ρ
                  )
                ),
                α1 ↦ ξ.ρ
              ),
              delete ↦ ⟦
                λ ⤍ Lorg_eolang_fs_file_deleted_delete
              ⟧
            ⟧,
            size ↦ ⟦
              λ ⤍ Lorg_eolang_fs_file_size
            ⟧,
            moved ↦ ⟦
              target ↦ ∅,
              φ ↦ Φ.org.eolang.fs.file(
                α0 ↦ ξ.move.as-bytes.as-string
              ),
              move ↦ ⟦
                λ ⤍ Lorg_eolang_fs_file_moved_move
              ⟧
            ⟧,
            as-path ↦ ⟦
              φ ↦ Φ.org.eolang.fs.path(
                α0 ↦ ξ.ρ.path
              ).determined
            ⟧,
            open ↦ ⟦
              mode ↦ ∅,
              scope ↦ ∅,
              access ↦ Φ.org.eolang.dataized(
                α0 ↦ ξ.mode
              ).as-bytes,
              read ↦ ξ.access.eq(
                α0 ↦ Φ.org.eolang.string(
                  α0 ↦ Φ.org.eolang.bytes(
                    Δ ⤍ 72-
                  )
                )
              ),
              write ↦ ξ.access.eq(
                α0 ↦ Φ.org.eolang.string(
                  α0 ↦ Φ.org.eolang.bytes(
                    Δ ⤍ 77-
                  )
                )
              ),
              append ↦ ξ.access.eq(
                α0 ↦ Φ.org.eolang.string(
                  α0 ↦ Φ.org.eolang.bytes(
                    Δ ⤍ 61-
                  )
                )
              ),
              read-write ↦ ξ.access.eq(
                α0 ↦ Φ.org.eolang.string(
                  α0 ↦ Φ.org.eolang.bytes(
                    Δ ⤍ 72-2B
                  )
                )
              ),
              write-read ↦ ξ.access.eq(
                α0 ↦ Φ.org.eolang.string(
                  α0 ↦ Φ.org.eolang.bytes(
                    Δ ⤍ 77-2B
                  )
                )
              ),
              read-append ↦ ξ.access.eq(
                α0 ↦ Φ.org.eolang.string(
                  α0 ↦ Φ.org.eolang.bytes(
                    Δ ⤍ 61-2B
                  )
                )
              ),
              can-read ↦ ξ.read.or(
                α0 ↦ ξ.read-write
              ).or(
                α0 ↦ ξ.write-read.or(
                  α0 ↦ ξ.read-append
                )
              ).as-bool,
              can-write ↦ ξ.write.or(
                α0 ↦ ξ.read-write
              ).or(
                α0 ↦ ξ.write-read.or(
                  α0 ↦ ξ.read-append
                )
              ).or(
                α0 ↦ ξ.append
              ).as-bool,
              must-exists ↦ ξ.read.or(
                α0 ↦ ξ.read-write
              ).as-bool,
              truncate ↦ ξ.write.or(
                α0 ↦ ξ.write-read
              ).as-bool,
              φ ↦ ξ.can-read.not.and(
                α0 ↦ ξ.can-write.not
              ).if(
                α0 ↦ Φ.org.eolang.error(
                  α0 ↦ Φ.org.eolang.string(
                    α0 ↦ Φ.org.eolang.bytes(
                      Δ ⤍ 57-72-6F-6E-67-20-61-63-63-65-73-73-20-6D-6F-64-2E-20-4F-6E-6C-79-20-6E-65-78-74-20-6D-6F-64-65-73-20-61-72-65-20-61-76-61-69-6C-61-62-6C-65-3A-20-27-72-27-2C-20-27-77-27-2C-20-27-61-27-2C-20-27-72-2B-27-2C-20-27-77-2B-27-2C-20-27-61-2B-27
                    )
                  )
                ),
                α1 ↦ ξ.ρ.exists.not.if(
                  α0 ↦ ξ.must-exists.if(
                    α0 ↦ Φ.org.eolang.error(
                      α0 ↦ Φ.org.eolang.txt.sprintf(
                        α0 ↦ Φ.org.eolang.string(
                          α0 ↦ Φ.org.eolang.bytes(
                            Δ ⤍ 46-69-6C-65-20-6D-75-73-74-20-65-78-69-73-74-20-66-6F-72-20-67-69-76-65-6E-20-61-63-63-65-73-73-20-6D-6F-64-3A-20-27-25-73-27
                          )
                        ),
                        α1 ↦ Φ.org.eolang.tuple(
                          α0 ↦ Φ.org.eolang.tuple.empty,
                          α1 ↦ ξ.access
                        )
                      )
                    ),
                    α1 ↦ Φ.org.eolang.seq(
                      α0 ↦ Φ.org.eolang.tuple(
                        α0 ↦ Φ.org.eolang.tuple(
                          α0 ↦ Φ.org.eolang.tuple(
                            α0 ↦ Φ.org.eolang.tuple.empty,
                            α1 ↦ ξ.ρ.touched.touch
                          ),
                          α1 ↦ ξ.process-file
                        ),
                        α1 ↦ ξ.ρ
                      )
                    )
                  ),
                  α1 ↦ ξ.truncate.if(
                    α0 ↦ Φ.org.eolang.seq(
                      α0 ↦ Φ.org.eolang.tuple(
                        α0 ↦ Φ.org.eolang.tuple(
                          α0 ↦ Φ.org.eolang.tuple(
                            α0 ↦ Φ.org.eolang.tuple(
                              α0 ↦ Φ.org.eolang.tuple.empty,
                              α1 ↦ ξ.ρ.deleted.delete
                            ),
                            α1 ↦ ξ.ρ.touched.touch
                          ),
                          α1 ↦ ξ.process-file
                        ),
                        α1 ↦ ξ.ρ
                      )
                    ),
                    α1 ↦ Φ.org.eolang.seq(
                      α0 ↦ Φ.org.eolang.tuple(
                        α0 ↦ Φ.org.eolang.tuple(
                          α0 ↦ Φ.org.eolang.tuple.empty,
                          α1 ↦ ξ.process-file
                        ),
                        α1 ↦ ξ.ρ
                      )
                    )
                  )
                )
              ),
              process-file ↦ ⟦
                λ ⤍ Lorg_eolang_fs_file_open_process_file
              ⟧,
              file-stream ↦ ⟦
                read ↦ ⟦
                  size ↦ ∅,
                  φ ↦ ξ.input-block(
                    α0 ↦ Φ.org.eolang.bytes(
                      Δ ⤍ --
                    )
                  ).read(
                    α0 ↦ ξ.size
                  ).self,
                  input-block ↦ ⟦
                    buffer ↦ ∅,
                    self ↦ ξ,
                    φ ↦ ξ.buffer,
                    read ↦ ⟦
                      size ↦ ∅,
                      read-bytes ↦ Φ.org.eolang.dataized(
                        α0 ↦ ξ.ρ.ρ.read-bytes(
                          α0 ↦ ξ.size
                        )
                      ).as-bytes,
                      φ ↦ ξ.ρ.ρ.ρ.ρ.can-read.not.if(
                        α0 ↦ ξ.auto-named-attr-at-215-18,
                        α1 ↦ Φ.org.eolang.seq(
                          α0 ↦ Φ.org.eolang.tuple(
                            α0 ↦ Φ.org.eolang.tuple(
                              α0 ↦ Φ.org.eolang.tuple.empty,
                              α1 ↦ ξ.read-bytes
                            ),
                            α1 ↦ ξ.ρ.ρ.input-block(
                              α0 ↦ ξ.read-bytes
                            )
                          )
                        )
                      ).self,
                      auto-named-attr-at-215-18 ↦ ⟦
                        self ↦ ξ,
                        φ ↦ Φ.org.eolang.error(
                          α0 ↦ Φ.org.eolang.txt.sprintf(
                            α0 ↦ Φ.org.eolang.string(
                              α0 ↦ Φ.org.eolang.bytes(
                                Δ ⤍ 43-61-6E-27-74-20-72-65-61-64-20-66-72-6F-6D-20-66-69-6C-65-20-77-69-74-68-20-70-72-6F-76-69-64-65-64-20-61-63-63-65-73-73-20-6D-6F-64-65-20-27-25-73-27
                              )
                            ),
                            α1 ↦ Φ.org.eolang.tuple(
                              α0 ↦ Φ.org.eolang.tuple.empty,
                              α1 ↦ ξ.ρ.ρ.ρ.ρ.ρ.access
                            )
                          )
                        )
                      ⟧
                    ⟧
                  ⟧,
                  read-bytes ↦ ⟦
                    λ ⤍ Lorg_eolang_fs_file_open_file_stream_read_read_bytes,
                    size ↦ ∅
                  ⟧
                ⟧,
                write ↦ ⟦
                  buffer ↦ ∅,
                  φ ↦ ξ.output-block.write(
                    α0 ↦ ξ.buffer
                  ).self,
                  output-block ↦ ⟦
                    self ↦ ξ,
                    φ ↦ Φ.org.eolang.true,
                    write ↦ ⟦
                      buffer ↦ ∅,
                      φ ↦ ξ.ρ.ρ.ρ.ρ.can-write.not.if(
                        α0 ↦ ξ.auto-named-attr-at-257-18,
                        α1 ↦ Φ.org.eolang.seq(
                          α0 ↦ Φ.org.eolang.tuple(
                            α0 ↦ Φ.org.eolang.tuple(
                              α0 ↦ Φ.org.eolang.tuple.empty,
                              α1 ↦ ξ.ρ.ρ.written-bytes(
                                α0 ↦ ξ.buffer
                              )
                            ),
                            α1 ↦ ξ.ρ.ρ.output-block
                          )
                        )
                      ).self,
                      auto-named-attr-at-257-18 ↦ ⟦
                        self ↦ ξ,
                        φ ↦ Φ.org.eolang.error(
                          α0 ↦ Φ.org.eolang.txt.sprintf(
                            α0 ↦ Φ.org.eolang.string(
                              α0 ↦ Φ.org.eolang.bytes(
                                Δ ⤍ 43-61-6E-27-74-20-77-72-69-74-65-20-74-6F-20-66-69-6C-65-20-77-69-74-68-20-70-72-6F-76-69-64-65-64-20-61-63-63-65-73-73-20-6D-6F-64-65-20-27-25-73-27
                              )
                            ),
                            α1 ↦ Φ.org.eolang.tuple(
                              α0 ↦ Φ.org.eolang.tuple.empty,
                              α1 ↦ ξ.ρ.ρ.ρ.ρ.ρ.access
                            )
                          )
                        )
                      ⟧
                    ⟧
                  ⟧,
                  written-bytes ↦ ⟦
                    λ ⤍ Lorg_eolang_fs_file_open_file_stream_write_written_bytes,
                    buffer ↦ ∅
                  ⟧
                ⟧
              ⟧
            ⟧
          ⟧,
          λ ⤍ Package
        ⟧,
        λ ⤍ Package
      ⟧,
      λ ⤍ Package
    ⟧
  ⟧
}