1.1.4-alpha.0 • Published 4 years ago

@churchcenter/url v1.1.4-alpha.0

Weekly downloads
464
License
UNLICENSED
Repository
-
Last release
4 years ago

@churchcenter/url

Church Center origin generator for JavaScript.

Builds runtime-environment-considered origins and urls in JavaScript for Church Center subdomains. For those familiar with @planningcenter/url, it may be worth noting that this generator has no concerns about what application is building the urls.

Examples

This package is primarily concerned with building origins and urls in the browser. It is smart about inferring the Church Center origin from the current window.location.origin. If window.location.origin is unavailable (like in the tests), an origin can be passed explicitly, but you'll most likely only need that for composing urls across subdomains.

// window.location == "https://carlsbad.churchcenter.com/giving"
import { buildSubdomain, buildUrl } from "@churchcenter/url"

let api = buildSubdomain("api")
// => https://api.churchcenter.com

let myGroupsUrl = buildUrl("/groups/profile")
// => https://carlsbad.churchcenter.com/groups/profile

Composition

Want to build API urls or app-specific urls? Compose to your heart's content!

// window.location == "http://first.churchcenter.test/giving/profile"
import { buildSubdomain, buildUrl } from "@churchcenter/url"

function bouldGroupsUrl(pathname) {
  return buildUrl(`/groups${pathname}`)
}

let myGroupsUrl = buildGroupsUrl("/profile")
// => http://first.churchcenter.test/groups/profile

function buildApiUrl(pathname) {
  return buildUrl(pathname, buildSubdomain("api"))
}

function buildPeopleApiUrl(pathname) {
  return buildApiUrl(`/people/v2${pathname}`)
}

function buildFormUrl(id) {
  return buildPeopleApiUrl(`/forms/${id}`)
}

let formUrl = buildFormUrl(42)
// => http://api.churchcenter.test/people/v2/forms/42

// function build.... you get the idea

Installation

Script tag on Rails

<script type="javascript" src="https://unpkg.com/@churchcenter/url/dist/url.umd.js"></script>
<!-- exposed as global `ChurchCenterUrl` -->

Webpacker on Rails

yarn add @churchcenter/url
import { buildSubdomain, buildUrl } from "@churchcenter/url";
1.1.4-alpha.0

4 years ago

1.1.3

4 years ago

1.1.2

5 years ago

1.1.2-rc.0

5 years ago

1.1.1

5 years ago

1.1.1-rc.1

5 years ago

1.1.0

5 years ago

1.0.1-rc.1

5 years ago

1.0.0

5 years ago

1.0.0-alpha.6

6 years ago

1.0.0-alpha.5

6 years ago

1.0.0-alpha.4

6 years ago

1.0.0-alpha.3

6 years ago

1.0.0-alpha.1

7 years ago