Pastery

gobj-extends-iface.js +

 1const GObject = imports.gi.GObject; 2 3const AGObjectInterface = GObject.registerClass({ 4    Requires: [ GObject.Object ], 5}, class AGObjectInterface extends GObject.Interface { 6    requiredG() { 7        throw new GObject.NotImplementedError(); 8    } 910    optionalG() {11        return 'AGObjectInterface.optionalG()';12    }13});1415var BaseGObject = GObject.registerClass(16class extends GObject.Object {17    requiredG() {18        print("REQUIRED method implemented by base func");19    }20});2122const GObjectImplementingGObjectInterface = GObject.registerClass({23    Implements: [ AGObjectInterface ],24}, class GObjectImplementingGObjectInterface extends BaseGObject {25    // requiredG() {26    //     super.requiredG();27    // }28});2930let obj = new GObjectImplementingGObjectInterface();31obj.requiredG();
New paste