0.0.5 • Published 6 months ago

simple-prototype v0.0.5

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

simple-prototype

simple-prototype adalah class JavaScript untuk menangani prototype secara efisien, mendukung pembuatan object, pewarisan, komposisi, pengelolaan property/method, delegasi, dan cloning prototype.

simple-prototype dibundel dengan microbundle

Instalasi

npm install simple-prototype

Contoh

// esm
import { proto } from 'simple-prototype'

// commonjs
const { proto } = require('simple-prototype')

proto

API Referensi

constructor

proto((base = null))
  • base: Prototype dasar (default: null, membuat prototype kosong).

Contoh:

proto

addProps(props)

Menambahkan property ke prototype.

  • props: Object yang berisi property untuk ditambahkan.

Contoh:

proto.addProps({ species: 'Animal' })
console.log(proto.prototype.species) // Output: Animal

addMethods(methods)

Menambahkan method ke prototype.

  • methods: Object yang berisi method (fungsi) untuk ditambahkan.

Catatan: Semua nilai harus berupa fungsi.

Contoh:

proto.addMethods({
  speak() {
    console.log('Hello!')
  },
})
proto.prototype.speak() // Output: Hello!

removeKey(key)

Menghapus property atau method dari prototype.

  • key: Nama property atau method yang akan dihapus.

Contoh:

proto.addProps({ species: 'Animal' })
proto.removeKey('species')
console.log(proto.prototype.species) // Output: undefined

createInstance(initialProps = {})

Membuat instance baru yang mewarisi prototype.

  • initialProps: Property awal untuk instance baru (opsional).

Contoh:

proto.addProps({ species: 'Animal' })
const instance = proto.createInstance({ name: 'Dolphin' })
console.log(instance.species) // Output: Animal
console.log(instance.name) // Output: Dolphin

mergeWith(otherSimplePrototype)

Menggabungkan prototype dengan simple-prototype lain (komposisi).

  • otherSimplePrototype: Instance simple-prototype lain.

Contoh:

const protoA = proto
protoA.addProps({ canWalk: true })
const protoB = proto
protoB.addProps({ canSwim: true })
protoA.mergeWith(protoB)
console.log(protoA.prototype.canSwim) // Output: true

clone()

Membuat salinan mendalam dari prototype.

Contoh:

proto.addProps({ species: 'Animal' })
const clonedProto = proto.clone()
console.log(clonedProto.prototype.species) // Output: Animal

hasKey(key)

Memeriksa apakah prototype memiliki property/method tertentu.

  • key: Nama property/method.

Contoh:

proto.addProps({ species: 'Animal' })
console.log(proto.hasKey('species')) // Output: true
console.log(proto.hasKey('name')) // Output: false

delegate(key, ...args)

Menjalankan method dari rantai prototype.

  • key: Nama method yang akan dijalankan.
  • args: Argumen untuk method tersebut.

Contoh:

proto.addMethods({
  greet(name) {
    return `Hello, ${name}!`
  },
})
console.log(proto.delegate('greet', 'Alice')) // Output: Hello, Alice!

Kontribusi Finansial

Ko-fi

Lisensi

MIT

0.0.5

6 months ago

0.0.4

6 months ago

0.0.3

6 months ago

0.0.2

6 months ago

0.0.1

6 months ago