Home Reference Source
public class | source

StrictGoverness

Extends:

hookies~HooksPubSubBaseObjectHeadGoverness → StrictGoverness

A very strict governess! She forces all exposed methods from the sandbox or perimeter to be governed. This means that all exposed methods must call guard() method.

Use this governess if you, or you colleagues forget to call guard() method in you exposed methods.

Note: Strict Governess does not prevent the exposed method to be executed! Actually it executes that method and throw an error if that method did not called the guard()

Constructor Summary

Public Constructor
public

constructor(args: ...*)

Method Summary

Public Methods
public

governed(args: ...*): *

public

guard(args: ...*): *

Inherited Summary

From class PubSub
public

trigger(name: *, args: ...*): *

Trigger all events synchronously by default

public

triggerAsync(args: ...*): *

Trigger asynchronously

From class HeadGoverness
public get

The getter of unguarded property.

public set

The setter of unguarded property.

public

rules: *

public

addRule(rules: ...*): *

public

doUnguarded(callback: *, context: *): *

Perform some stuff unguarded

public

getRules(type: *): *

public

governed(callback: *, args: *[], callingContext: *): *

Watch over some child action.

public

guard(action: *, args: ...*): *

Throws an error if child is not allowed to do some action

public

The governess is empty when no rules have been defined

public

isAllowed(action: *, args: ...*): boolean

Returns true if child is allowed to perform some action

public

isGuarded(): *

public

isNotAllowed(args: ...*): *

Returns false if child is allowed to perform some action

public
public

learnRules(perimeter: *): *

Public Constructors

public constructor(args: ...*) source

Override:

HeadGoverness#constructor

Params:

NameTypeAttributeDescription
args ...*

Public Methods

public governed(args: ...*): * source

Override:

HeadGoverness#governed

Params:

NameTypeAttributeDescription
args ...*

Return:

*

public guard(args: ...*): * source

Override:

HeadGoverness#guard

Params:

NameTypeAttributeDescription
args ...*

Return:

*