New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@morjs/runtime-base

Package Overview
Dependencies
Maintainers
2
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@morjs/runtime-base - npm Package Compare versions

Comparing version 1.0.53 to 1.0.68

16

esm/hooks.d.ts
declare type AnyFunc = (...args: any[]) => any;
declare enum HookInvokeState {
pausing = "pausing",
resuming = "resuming"
}
interface HookSharedState {
state: HookInvokeState;
stack: [string, Tap, any, any[]][];
hooksNameList: MorHookNames[];
}
interface Tap {

@@ -14,2 +23,3 @@ name: string;

taps: Tap[];
sharedState?: HookSharedState;
/**

@@ -19,3 +29,3 @@ * @constructor

*/
constructor(name: any);
constructor(name: string, sharedState?: HookSharedState);
/**

@@ -146,4 +156,6 @@ * 返回 hook 是否已被使用

componentOnError: SyncHook;
pause: (list?: string[]) => void;
resume: () => void;
}
export declare type MorHookNames = keyof MorHooks;
export declare type MorHookNames = keyof Omit<MorHooks, 'pause' | 'resume'>;
declare type Reason = string;

@@ -150,0 +162,0 @@ /**

98

esm/hooks.js
import { __spreadArray } from "tslib";
import { logger } from './logger';
import { asArray } from './utils/asArray';
var HookInvokeState;
(function (HookInvokeState) {
HookInvokeState["pausing"] = "pausing";
HookInvokeState["resuming"] = "resuming";
})(HookInvokeState || (HookInvokeState = {}));
/**

@@ -12,5 +17,6 @@ * 同步 Hook

*/
function SyncHook(name) {
function SyncHook(name, sharedState) {
this.name = name || '';
this.taps = [];
this.sharedState = sharedState;
}

@@ -28,3 +34,3 @@ /**

SyncHook.prototype.alias = function (name) {
var aliasHook = new SyncHook(name);
var aliasHook = new SyncHook(name, this.sharedState);
// 这里直接使用 taps 数组, 方便 alias Hook 共用

@@ -68,2 +74,3 @@ aliasHook.taps = this.taps;

var _a;
var _b, _c;
var args = [];

@@ -77,9 +84,20 @@ for (var _i = 1; _i < arguments.length; _i++) {

});
for (var _b = 0, taps_1 = taps; _b < taps_1.length; _b++) {
var tap = taps_1[_b];
try {
(_a = tap.fn).call.apply(_a, __spreadArray([context], args, false));
var state = this.sharedState;
for (var _d = 0, taps_1 = taps; _d < taps_1.length; _d++) {
var tap = taps_1[_d];
// 当触发了 $hooks.pause 暂停,若未传入需要指定暂停的 hooks 则暂停所有生命周期触发
// 若传入了某些指定的 hooks 数组,则只暂停这些传入 hooks
if (state &&
state.state === HookInvokeState.pausing &&
(((_b = state.hooksNameList) === null || _b === void 0 ? void 0 : _b.length) === 0 ||
((_c = state.hooksNameList) === null || _c === void 0 ? void 0 : _c.includes(this.name)))) {
this.sharedState.stack.push([this.name, tap, context, args]);
}
catch (err) {
logger.error(this.name, tap.name, err);
else {
try {
(_a = tap.fn).call.apply(_a, __spreadArray([context], args, false));
}
catch (err) {
logger.error(this.name, tap.name, err);
}
}

@@ -100,8 +118,13 @@ }

export function createHooks(reason) {
var appOnConstruct = new SyncHook('appOnConstruct');
var pageOnConstructHook = new SyncHook('pageOnConstruct');
var componentOnInitHook = new SyncHook('componentOnInit');
var componentDidMountHook = new SyncHook('componentDidMount');
var componentDidUnmountHook = new SyncHook('componentDidUnmount');
var componentOnError = new SyncHook('componentOnError');
var sharedState = {
state: 'resuming',
stack: [],
hooksNameList: []
};
var appOnConstruct = new SyncHook('appOnConstruct', sharedState);
var pageOnConstructHook = new SyncHook('pageOnConstruct', sharedState);
var componentOnInitHook = new SyncHook('componentOnInit', sharedState);
var componentDidMountHook = new SyncHook('componentDidMount', sharedState);
var componentDidUnmountHook = new SyncHook('componentDidUnmount', sharedState);
var componentOnError = new SyncHook('componentOnError', sharedState);
var hooks = {

@@ -112,8 +135,8 @@ /* App 相关 hooks */

appOnInit: appOnConstruct.alias('appOnInit'),
appOnLaunch: new SyncHook('appOnLaunch'),
appOnError: new SyncHook('appOnError'),
appOnShow: new SyncHook('appOnShow'),
appOnHide: new SyncHook('appOnHide'),
appOnPageNotFound: new SyncHook('appOnPageNotFound'),
appOnUnhandledRejection: new SyncHook('appOnUnhandledRejection'),
appOnLaunch: new SyncHook('appOnLaunch', sharedState),
appOnError: new SyncHook('appOnError', sharedState),
appOnShow: new SyncHook('appOnShow', sharedState),
appOnHide: new SyncHook('appOnHide', sharedState),
appOnPageNotFound: new SyncHook('appOnPageNotFound', sharedState),
appOnUnhandledRejection: new SyncHook('appOnUnhandledRejection', sharedState),
/* Page 相关 hooks */

@@ -123,9 +146,9 @@ pageOnConstruct: pageOnConstructHook,

pageOnInit: pageOnConstructHook.alias('pageOnInit'),
pageOnLoad: new SyncHook('pageOnLoad'),
pageOnReady: new SyncHook('pageOnReady'),
pageOnShow: new SyncHook('pageOnShow'),
pageOnHide: new SyncHook('pageOnHide'),
pageOnUnload: new SyncHook('pageOnUnload'),
pageOnLoad: new SyncHook('pageOnLoad', sharedState),
pageOnReady: new SyncHook('pageOnReady', sharedState),
pageOnShow: new SyncHook('pageOnShow', sharedState),
pageOnHide: new SyncHook('pageOnHide', sharedState),
pageOnUnload: new SyncHook('pageOnUnload', sharedState),
/* Component 相关 hooks */
componentOnConstruct: new SyncHook('componentOnConstruct'),
componentOnConstruct: new SyncHook('componentOnConstruct', sharedState),
componentOnInit: componentOnInitHook,

@@ -137,3 +160,24 @@ componentOnCreated: componentOnInitHook.alias('componentOnCreated'),

componentOnDetached: componentDidUnmountHook.alias('componentOnDetached'),
componentOnError: componentOnError
componentOnError: componentOnError,
// 暂定某些生命周期暂时不执行,参数为空时暂停所有生命周期
pause: function (hooksNameList) {
sharedState.state = HookInvokeState.pausing;
sharedState.hooksNameList = hooksNameList || [];
},
// 恢复所有生命周期,按顺依次执行
resume: function () {
var _a;
sharedState.state = HookInvokeState.resuming;
var stackItem = sharedState.stack.shift();
while (stackItem) {
var name_1 = stackItem[0], tap = stackItem[1], context = stackItem[2], args = stackItem[3];
try {
tap === null || tap === void 0 ? void 0 : (_a = tap.fn).call.apply(_a, __spreadArray([context], args, false));
}
catch (error) {
logger.error(name_1, tap.name, error);
}
stackItem = sharedState.stack.shift();
}
}
};

@@ -140,0 +184,0 @@ // 记录创建的所有 hooks

declare type AnyFunc = (...args: any[]) => any;
declare enum HookInvokeState {
pausing = "pausing",
resuming = "resuming"
}
interface HookSharedState {
state: HookInvokeState;
stack: [string, Tap, any, any[]][];
hooksNameList: MorHookNames[];
}
interface Tap {

@@ -14,2 +23,3 @@ name: string;

taps: Tap[];
sharedState?: HookSharedState;
/**

@@ -19,3 +29,3 @@ * @constructor

*/
constructor(name: any);
constructor(name: string, sharedState?: HookSharedState);
/**

@@ -146,4 +156,6 @@ * 返回 hook 是否已被使用

componentOnError: SyncHook;
pause: (list?: string[]) => void;
resume: () => void;
}
export declare type MorHookNames = keyof MorHooks;
export declare type MorHookNames = keyof Omit<MorHooks, 'pause' | 'resume'>;
declare type Reason = string;

@@ -150,0 +162,0 @@ /**

@@ -7,2 +7,7 @@ "use strict";

var asArray_1 = require("./utils/asArray");
var HookInvokeState;
(function (HookInvokeState) {
HookInvokeState["pausing"] = "pausing";
HookInvokeState["resuming"] = "resuming";
})(HookInvokeState || (HookInvokeState = {}));
/**

@@ -16,5 +21,6 @@ * 同步 Hook

*/
function SyncHook(name) {
function SyncHook(name, sharedState) {
this.name = name || '';
this.taps = [];
this.sharedState = sharedState;
}

@@ -32,3 +38,3 @@ /**

SyncHook.prototype.alias = function (name) {
var aliasHook = new SyncHook(name);
var aliasHook = new SyncHook(name, this.sharedState);
// 这里直接使用 taps 数组, 方便 alias Hook 共用

@@ -72,2 +78,3 @@ aliasHook.taps = this.taps;

var _a;
var _b, _c;
var args = [];

@@ -81,9 +88,20 @@ for (var _i = 1; _i < arguments.length; _i++) {

});
for (var _b = 0, taps_1 = taps; _b < taps_1.length; _b++) {
var tap = taps_1[_b];
try {
(_a = tap.fn).call.apply(_a, tslib_1.__spreadArray([context], args, false));
var state = this.sharedState;
for (var _d = 0, taps_1 = taps; _d < taps_1.length; _d++) {
var tap = taps_1[_d];
// 当触发了 $hooks.pause 暂停,若未传入需要指定暂停的 hooks 则暂停所有生命周期触发
// 若传入了某些指定的 hooks 数组,则只暂停这些传入 hooks
if (state &&
state.state === HookInvokeState.pausing &&
(((_b = state.hooksNameList) === null || _b === void 0 ? void 0 : _b.length) === 0 ||
((_c = state.hooksNameList) === null || _c === void 0 ? void 0 : _c.includes(this.name)))) {
this.sharedState.stack.push([this.name, tap, context, args]);
}
catch (err) {
logger_1.logger.error(this.name, tap.name, err);
else {
try {
(_a = tap.fn).call.apply(_a, tslib_1.__spreadArray([context], args, false));
}
catch (err) {
logger_1.logger.error(this.name, tap.name, err);
}
}

@@ -104,8 +122,13 @@ }

function createHooks(reason) {
var appOnConstruct = new SyncHook('appOnConstruct');
var pageOnConstructHook = new SyncHook('pageOnConstruct');
var componentOnInitHook = new SyncHook('componentOnInit');
var componentDidMountHook = new SyncHook('componentDidMount');
var componentDidUnmountHook = new SyncHook('componentDidUnmount');
var componentOnError = new SyncHook('componentOnError');
var sharedState = {
state: 'resuming',
stack: [],
hooksNameList: []
};
var appOnConstruct = new SyncHook('appOnConstruct', sharedState);
var pageOnConstructHook = new SyncHook('pageOnConstruct', sharedState);
var componentOnInitHook = new SyncHook('componentOnInit', sharedState);
var componentDidMountHook = new SyncHook('componentDidMount', sharedState);
var componentDidUnmountHook = new SyncHook('componentDidUnmount', sharedState);
var componentOnError = new SyncHook('componentOnError', sharedState);
var hooks = {

@@ -116,8 +139,8 @@ /* App 相关 hooks */

appOnInit: appOnConstruct.alias('appOnInit'),
appOnLaunch: new SyncHook('appOnLaunch'),
appOnError: new SyncHook('appOnError'),
appOnShow: new SyncHook('appOnShow'),
appOnHide: new SyncHook('appOnHide'),
appOnPageNotFound: new SyncHook('appOnPageNotFound'),
appOnUnhandledRejection: new SyncHook('appOnUnhandledRejection'),
appOnLaunch: new SyncHook('appOnLaunch', sharedState),
appOnError: new SyncHook('appOnError', sharedState),
appOnShow: new SyncHook('appOnShow', sharedState),
appOnHide: new SyncHook('appOnHide', sharedState),
appOnPageNotFound: new SyncHook('appOnPageNotFound', sharedState),
appOnUnhandledRejection: new SyncHook('appOnUnhandledRejection', sharedState),
/* Page 相关 hooks */

@@ -127,9 +150,9 @@ pageOnConstruct: pageOnConstructHook,

pageOnInit: pageOnConstructHook.alias('pageOnInit'),
pageOnLoad: new SyncHook('pageOnLoad'),
pageOnReady: new SyncHook('pageOnReady'),
pageOnShow: new SyncHook('pageOnShow'),
pageOnHide: new SyncHook('pageOnHide'),
pageOnUnload: new SyncHook('pageOnUnload'),
pageOnLoad: new SyncHook('pageOnLoad', sharedState),
pageOnReady: new SyncHook('pageOnReady', sharedState),
pageOnShow: new SyncHook('pageOnShow', sharedState),
pageOnHide: new SyncHook('pageOnHide', sharedState),
pageOnUnload: new SyncHook('pageOnUnload', sharedState),
/* Component 相关 hooks */
componentOnConstruct: new SyncHook('componentOnConstruct'),
componentOnConstruct: new SyncHook('componentOnConstruct', sharedState),
componentOnInit: componentOnInitHook,

@@ -141,3 +164,24 @@ componentOnCreated: componentOnInitHook.alias('componentOnCreated'),

componentOnDetached: componentDidUnmountHook.alias('componentOnDetached'),
componentOnError: componentOnError
componentOnError: componentOnError,
// 暂定某些生命周期暂时不执行,参数为空时暂停所有生命周期
pause: function (hooksNameList) {
sharedState.state = HookInvokeState.pausing;
sharedState.hooksNameList = hooksNameList || [];
},
// 恢复所有生命周期,按顺依次执行
resume: function () {
var _a;
sharedState.state = HookInvokeState.resuming;
var stackItem = sharedState.stack.shift();
while (stackItem) {
var name_1 = stackItem[0], tap = stackItem[1], context = stackItem[2], args = stackItem[3];
try {
tap === null || tap === void 0 ? void 0 : (_a = tap.fn).call.apply(_a, tslib_1.__spreadArray([context], args, false));
}
catch (error) {
logger_1.logger.error(name_1, tap.name, error);
}
stackItem = sharedState.stack.shift();
}
}
};

@@ -144,0 +188,0 @@ // 记录创建的所有 hooks

{
"name": "@morjs/runtime-base",
"version": "1.0.53",
"version": "1.0.68",
"description": "mor runtime base",

@@ -42,3 +42,3 @@ "keywords": [

},
"gitHead": "e2681c3e73f2c2c1ccb81f1add3b12a6ccedadca"
"gitHead": "aadb9fbd87cca39e05f2a3e4e2d5ecdca636ef42"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc