1.5.1 • Published 8 months ago

@segment/analytics-signals-runtime v1.5.1

Weekly downloads
-
License
Twilio Software D...
Repository
github
Last release
8 months ago

@segment/analytics-signals-runtime

Encapsulates Signals runtime functionality, in order to share logic between the signals plugins for browser and mobile.

Installation

# npm
npm install @segment/analytics-signals-runtime
# yarn
yarn add @segment/analytics-signals-runtime
# pnpm
pnpm install @segment/analytics-signals-runtime

Usage

Importing the signals runtime as a module (e.g. signals.find())

import { WebSignalsRuntime, Signal } from  '@segment/analytics-signals-runtime'
// MobileSignalsRuntime
// WebRuntimeConstants,
// MobileRuntimeConstants,

const mockSignalBuffer: Signal[] = [{
  type: "network",
  data: {
    action: "response",
    url: "https://segment-integrations.github.io/segment-shop-auto/cart",
    data: { foo: "bar" },
    ok: true,
    status: 201,
    contentType: "application/json",
    page: {
      path: "/segment-shop-auto/",
      referrer: "",
      title: "Segment Shop - Home Collection - Timecraft",
      search: "",
      url: "https://segment-integrations.github.io/segment-shop-auto/#/home-collection/Timecraft",
      hostname: "segment-integrations.github.io",
      hash: "#/home-collection/Timecraft"
    }
  }
}]

const signals = new WebSignalsRuntime(mockSignalBuffer)

const networkSignal = signals.find(null, 'network')

Importing the signals runtime a JS string

import { getRuntimeCode, getMobileRuntimeCode } from '@segment/analytics-signals-runtime'

eval(`
 ${getMobileRuntimeCode()}
 signals.signalBuffer = [....]
 `)

API documentation

For all exports, explore the index.ts.

Development

yarn build generate the following artifacts: | Generated File(s) | Description | |--------|-------------| | /dist/runtime/index.[platform].js, /[platform]/get-runtime-code.generated.js | Exposes globalThis.Signals and constants (e.g. SignalType), either through the script tag or in the mobile JS engine | | /dist/editor/[platform]-editor.d.ts.txt | Type definitions for monaco editor on app.segment.com | /dist/esm/index.js | Entry point for @segment/analytics-signals and the segment app, for consumers that want to consume the types / runtime code as an npm package. |

1.2.0

11 months ago

1.1.1

1 year ago

1.1.0

1 year ago

1.5.1

8 months ago

1.5.0

9 months ago

1.4.0

9 months ago

1.3.0

9 months ago

1.2.1

10 months ago

1.0.0

1 year ago