PLoop Versions Save

Prototype Lua object-oriented program system and frameworks.

v1.8.2

1 year ago

A new reactive & watch system is added to simple the usages of the reactivex.

require "PLoop" (function(_ENV)
    switcher = reactive(false)
    data = reactive{
        on = "Go",
        off = "Stop"
    }

    info = reactive{
        label = watch(function(_ENV) return switcher and data.on or data.off end)
    }

    watch(function(_ENV) print("Info is " .. info.label) end) -- Info is Stop

    switcher.Value = true -- Info is Go
    data.on = "Continue"  -- Info is Continue
end)

v1.8.1

2 years ago
  • ENABLE_ARGUMENTS_ATTACHMENT and ENABLE_RETURN_ATTACHMENT is added to the platform settings.
  • Method overlaod informations can be fetched when ENABLE_ARGUMENTS_ATTACHMENT is on.
  • Return informations can be fetched when ENABLE_RETURN_ATTACHMENT is on.
  • System.DependencyInjection is added, check the 024.dependencyinjection.md for more informations.

1.6.33

2 years ago

[1.6.33] - 2021-06-09 WangXH [email protected]

Added

  • System.Date now has a property "Week" to get the week number, which the monday is the first day of the week, [0, 53].

Changed

  • The "DayOfWeek" property of System.Date will return 0 - sunday, 1 - monday and etc
  • The Behavior Subject can hold nil value now.

[1.6.32] - 2021-06-01 WangXH [email protected]

Added

  • System.Date now support date + sec operation, a new date will be returned, negative number can be used.
  • System.Collections.IDictionary has a new ToTable method, it will return a raw hash table for the selected items.
  • System.Collections.IList has a new ToTable method, it will return a raw hash table for the selected items.
  • System.Serialization.TargetFormat & System.Serialization.SerializeFormat is added, the attribute can be used on class, property, member to specific the target format to string or number, normally only used on the Date class, default is number, so a date object will be serialize/deserialze to a number format.

1.6.31

3 years ago
  • Use custom bit func instead of the bitwise in Lua5.3, since 64bit bitwise will cause bugs in features like CRC32.
  • Improve the System.Net.Socket and System.Net.MQTT libs.

1.6.28

3 years ago

[1.6.28] - 2021-01-04 WangXH [email protected]

Changed

  • Fix the data base convertor not working.

[1.6.27] - 2020-12-22 WangXH [email protected]

Added

  • System.PropertyType, System.EventType is added to validate the property and event objects.

Changed

  • Observable.From now support the property marked with __Observable__ attribute.

1.6.25

3 years ago

[1.6.25] - 2020-11-26 WangXH [email protected]

Added

  • A new platform setting THREAD_POOL_CONTEXT_ONLY is added, to be used in servers, so each context use its own thread pool, the default pool is disabled. Platform like OpenResty should turn on it, and the MULTI_OS_THREAD setting is no need to be used by OpenResty.

1.6.24

3 years ago

[1.6.24] - 2020-11-24 WangXH [email protected]

Changed

  • Fix the Delegate invoke error if remove handler from it.

1.6.22

3 years ago

[1.6.22] - 2020-11-20 WangXH [email protected]

Added

  • The TemplateString system is added in System.Text, it provided a new string generator.
  • The PLOOP_PLATFORM_SETTINGS.DATA_CACHE_USE_FAKE_ENTITY setting is added, so the data cache system will use fake cahe value to avoid cache penetration automatically, default true.
  • The PLOOP_PLATFORM_SETTINGS.DATA_CACHE_FAKE_ENTITY_TIMEOUT setting is added, it's the timeout for the fake values of the data cache, default 3600(second).

Changed

  • Improve the Reactive System

v1.6.11

3 years ago

[1.6.11] - 2020-08-14 WangXH [email protected]

Changed

  • The anonymous array & hash struct type with only type settings like struct { Number } and struct { [String] = Number } will be auto sealed and unique, so the system won't generate multi struct types for the same types.
  • The lshift,rshift,band,bor,bnot,bxor api is added in the System.Toolset, they are generated based on the platform.

[1.6.10] - 2020-08-11 WangXH [email protected]

Changed

  • Fix The __AutoCache__ attribute for multi thread platform, the result may only be cached when the code processe in the same context and the debug.getgetlocal API is provided.

[1.6.9] - 2020-07-26 WangXH [email protected]

Changed

  • The __AutoCache__ attribute can be used on method or functions, so the results will be cached for arguments, the func will return the cached value with the same arguments.

v1.6.8

3 years ago

Improve the web framework, __FileView__ added to use view as download file. THREAD_SAFE_ITERATOR option added for platform like Openresty. Modify the chain method behaviors of the list and dictionary.